Merge branch 'master-MC1.7.10' into master-MC1.10

This commit is contained in:
payonel 2021-05-13 07:20:44 -07:00
commit 22e06d6575
19 changed files with 206 additions and 111 deletions

5
.gitignore vendored
View File

@ -28,3 +28,8 @@
# VSCode # VSCode
/.vscode /.vscode
/saves
/logs
/config
/options.txt
/usernamecache.json

View File

@ -976,6 +976,7 @@ opencomputers {
# mod's context in an appropriate manner, e.g. using a system firewall. # mod's context in an appropriate manner, e.g. using a system firewall.
blacklist: [ blacklist: [
"127.0.0.0/8" "127.0.0.0/8"
"0.0.0.0/8"
"10.0.0.0/8" "10.0.0.0/8"
"192.168.0.0/16" "192.168.0.0/16"
"172.16.0.0/12" "172.16.0.0/12"

View File

@ -6,4 +6,4 @@ The transposer bridges the gap between redstone controlled hoppers and [robots](
*Note that this block has no internal inventory.* *Note that this block has no internal inventory.*
Besides moving things around, it can also be used to inspect the contents of the adjacent inventories, like an [adapter](adapter.md) with an [inventory controller upgrade](../item/inventoryControllerUpgrade.md) could, and the contents of adjacent tanks, like and adapter with a [tank controller upgrade](../item/tankControllerUpgrade.md) could. Besides moving things around, it can also be used to inspect the contents of the adjacent inventories, like an [adapter](adapter.md) with an [inventory controller upgrade](../item/inventoryControllerUpgrade.md) could, and the contents of adjacent tanks, like an adapter with a [tank controller upgrade](../item/tankControllerUpgrade.md) could.

View File

@ -1,5 +1,6 @@
# This is the Brazilian portuguese translation based on master english file. # This is the Brazilian portuguese translation based on the en_US.lang file.
#Author: Hilton W. Silva (hws689) # Author: Hilton W. Silva (hws689)
# Updated by guilherme-puida in 03/01/2021
# Blocks # Blocks
tile.oc.accessPoint.name=§cPonto de Acesso§7 tile.oc.accessPoint.name=§cPonto de Acesso§7
@ -7,6 +8,7 @@ tile.oc.adapter.name=Adaptador
tile.oc.assembler.name=Montador Eletrônico tile.oc.assembler.name=Montador Eletrônico
tile.oc.cable.name=Cabo tile.oc.cable.name=Cabo
tile.oc.capacitor.name=Capacitador tile.oc.capacitor.name=Capacitador
tile.oc.carpetedCapacitor.name=Capacitador com Tapete
tile.oc.case1.name=Gabinete (Nível 1) tile.oc.case1.name=Gabinete (Nível 1)
tile.oc.case2.name=Gabinete (Nível 2) tile.oc.case2.name=Gabinete (Nível 2)
tile.oc.case3.name=Gabinete (Nível 3) tile.oc.case3.name=Gabinete (Nível 3)
@ -56,6 +58,7 @@ item.oc.CircuitBoard.name=Placa de Circuito
item.oc.ComponentBus0.name=Componente de Barramento (Nível 1) item.oc.ComponentBus0.name=Componente de Barramento (Nível 1)
item.oc.ComponentBus1.name=Componente de Barramento (Nível 2) item.oc.ComponentBus1.name=Componente de Barramento (Nível 2)
item.oc.ComponentBus2.name=Componente de Barramento (Nível 3) item.oc.ComponentBus2.name=Componente de Barramento (Nível 3)
item.oc.ComponentBus3.name=Componente de Barramento (Criativo)
item.oc.ControlUnit.name=Unidade de Controle (UC) item.oc.ControlUnit.name=Unidade de Controle (UC)
item.oc.CPU0.name=Unidade Central de Processamento (CPU) (Nível 1) item.oc.CPU0.name=Unidade Central de Processamento (CPU) (Nível 1)
item.oc.CPU1.name=Unidade Central de Processamento (CPU) (Nível 2) item.oc.CPU1.name=Unidade Central de Processamento (CPU) (Nível 2)
@ -101,10 +104,10 @@ item.oc.Microchip2.name=Circuito Integrado (Nível 3)
item.oc.MicrocontrollerCase0.name=Carcaça do Microcontrolador (Nível 1) item.oc.MicrocontrollerCase0.name=Carcaça do Microcontrolador (Nível 1)
item.oc.MicrocontrollerCase1.name=Carcaça do Microcontrolador (Nível 2) item.oc.MicrocontrollerCase1.name=Carcaça do Microcontrolador (Nível 2)
item.oc.MicrocontrollerCase3.name=Carcaça do Microcontrolador (Criativo) item.oc.MicrocontrollerCase3.name=Carcaça do Microcontrolador (Criativo)
item.oc.Nanomachines.name=Nanomaquinas item.oc.Nanomachines.name=Nanomáquinas
item.oc.NetworkCard.name=Cartão de Rede item.oc.NetworkCard.name=Cartão de Rede
item.oc.NumPad.name=Teclado Númerico item.oc.NumPad.name=Teclado Numérico
item.oc.Present.name=Um pouco de tudo... item.oc.Present.name=Uma coisinha...
item.oc.PrintedCircuitBoard.name=Placa de Circuito Impresso (PCB) item.oc.PrintedCircuitBoard.name=Placa de Circuito Impresso (PCB)
item.oc.RawCircuitBoard.name=Placa de Circuito Crua item.oc.RawCircuitBoard.name=Placa de Circuito Crua
item.oc.RedstoneCard0.name=Cartão de Redstone (Nível 1) item.oc.RedstoneCard0.name=Cartão de Redstone (Nível 1)
@ -114,9 +117,9 @@ item.oc.Server1.name=Servidor (Nível 2)
item.oc.Server2.name=Servidor (Nível 3) item.oc.Server2.name=Servidor (Nível 3)
item.oc.Server3.name=Servidor (Criativo) item.oc.Server3.name=Servidor (Criativo)
item.oc.Tablet.name=Tablet item.oc.Tablet.name=Tablet
item.oc.TabletCase0.name=Carcaça do Tablet (Nível 1) item.oc.TabletCase0.name=Carcaça de Tablet (Nível 1)
item.oc.TabletCase1.name=Carcaça do Tablet (Nível 2) item.oc.TabletCase1.name=Carcaça de Tablet (Nível 2)
item.oc.TabletCase3.name=Carcaça do Tablet (Criativo) item.oc.TabletCase3.name=Carcaça de Tablet (Criativo)
item.oc.Terminal.name=Terminal Remoto item.oc.Terminal.name=Terminal Remoto
item.oc.TerminalServer.name=Servidor de Terminal item.oc.TerminalServer.name=Servidor de Terminal
item.oc.TexturePicker.name=Selecionador de Textura item.oc.TexturePicker.name=Selecionador de Textura
@ -143,6 +146,7 @@ item.oc.UpgradeHover1.name=Aprimoramento de Flutuação (Nível 2)
item.oc.UpgradeInventory.name=Aprimoramento de Inventário item.oc.UpgradeInventory.name=Aprimoramento de Inventário
item.oc.UpgradeInventoryController.name=Aprimoramento de Controlador de Inventário item.oc.UpgradeInventoryController.name=Aprimoramento de Controlador de Inventário
item.oc.UpgradeLeash.name=Aprimoramento de Correia item.oc.UpgradeLeash.name=Aprimoramento de Correia
item.oc.UpgradeMF.name=MFU
item.oc.UpgradeNavigation.name=Aprimoramento de Navegação item.oc.UpgradeNavigation.name=Aprimoramento de Navegação
item.oc.UpgradePiston.name=Aprimoramento de Pistão item.oc.UpgradePiston.name=Aprimoramento de Pistão
item.oc.UpgradeSign.name=Aprimoramento de Sinal de E/S item.oc.UpgradeSign.name=Aprimoramento de Sinal de E/S
@ -178,33 +182,35 @@ oc:gui.Assembler.Collect=Saída do coletador
oc:gui.Assembler.Complexity=Complexidade: %s/%s oc:gui.Assembler.Complexity=Complexidade: %s/%s
oc:gui.Assembler.InsertCase=Insira uma parte base oc:gui.Assembler.InsertCase=Insira uma parte base
oc:gui.Assembler.InsertCPU=Insira uma CPU oc:gui.Assembler.InsertCPU=Insira uma CPU
oc:gui.Assembler.InsertRAM=Insera alguma RAM oc:gui.Assembler.InsertRAM=Insira alguma RAM
oc:gui.Assembler.Progress=Progresso: %s%% (%s) oc:gui.Assembler.Progress=Progresso: %s%% (%s)
oc:gui.Assembler.Run=Montando oc:gui.Assembler.Run=Montar
oc:gui.Assembler.Warning.BIOS=BIOS oc:gui.Assembler.Warning.BIOS=BIOS
oc:gui.Assembler.Warning.GraphicsCard=Placa de Vídeo oc:gui.Assembler.Warning.GraphicsCard=Placa de Vídeo
oc:gui.Assembler.Warning.Inventory=Aprimoramento de Inventário oc:gui.Assembler.Warning.Inventory=Aprimoramento de Inventário
oc:gui.Assembler.Warning.Keyboard=Teclado oc:gui.Assembler.Warning.Keyboard=Teclado
oc:gui.Assembler.Warning.OS=Mídia Inicializável oc:gui.Assembler.Warning.OS=Mídia Inicializável
oc:gui.Assembler.Warning.Screen=Monitor oc:gui.Assembler.Warning.Screen=Monitor
oc:gui.Assembler.Warnings=§eAtenção§7: Componentes recomendados aussentes. oc:gui.Assembler.Warnings=§eAtenção§7: Componentes recomendados ausentes.
oc:gui.Chat.NewVersion=Uma nova versão está disponível: %s oc:gui.Chat.NewVersion=Uma nova versão está disponível: %s
oc:gui.Chat.TextureName=§7Nome da textura é §a%s§f. oc:gui.Chat.TextureName=§7Nome da textura é §a%s§f.
oc:gui.Chat.WarningClassTransformer=Houve um erro §cerros§f ao rodar o 'class transformer'. Por favor relate isso, junto com o seu arquivo de log (completo!) FML §alatest.log§f/§afml-server-latest.log§f , obrigado! oc:gui.Chat.WarningClassTransformer=Houve um erro §cerros§f ao rodar o 'class transformer'. Por favor relate isso, junto com o seu arquivo de log (completo!) FML §alatest.log§f/§afml-server-latest.log§f , obrigado!
oc:gui.Chat.WarningFingerprint=§cATENÇÃO§f - impressão digital não reconhecida! Experado '§a%s§f' mas recebido '§e%s§f'. Há não ser que seja um moderador e esteja rodando uma versão desofuscada, é §lextremamente§f recomendável que baixe novamente o OpenComputers, por que o JAR que está usando talvez esteja adulterado. oc:gui.Chat.WarningFingerprint=§cATENÇÃO§f - impressão digital não reconhecida! Experado '§a%s§f' mas recebido '§e%s§f'. A não ser que você seja um desenvolvedor e esteja rodando uma versão desofuscada, é §lextremamente§f recomendável que baixe novamente o OpenComputers, por que o JAR que está usando talvez esteja adulterado.
oc:gui.Chat.WarningLink=Não pode abrir o atalho: %s oc:gui.Chat.WarningLink=Não foi possível abrir o atalho: %s
oc:gui.Chat.WarningLuaFallback=Bibliotecas de LUA nativas não disponíveis, computadores não serão capazes de persistir seus estados. Eles reiniciarizaram com chunkloaders. oc:gui.Chat.WarningLuaFallback=Bibliotecas nativas do Lua não disponíveis, computadores não serão capazes de persistir seus estados. Eles reinicializarão quando chunks descarregarem.
oc:gui.Chat.WarningProjectRed=Você está usando a versão Project: Red que é incompativel com OpenComputers. Tente atualizar sua versão do Project: Red. oc:gui.Chat.WarningProjectRed=Você está usando uma versão do Project: Red que é incompativel com OpenComputers. Tente atualizar sua versão do Project: Red.
oc:gui.Chat.WarningRecipes=Houve erros ao carregar uma ou mais receitas. Algumas não poderão ser construídas. Por favor verifique seu arquivo de log para mais informações. oc:gui.Chat.WarningRecipes=Houve erros ao carregar uma ou mais receitas. Alguns itens não poderão ser construídos. Verifique seu arquivo de log para mais informações.
oc:gui.Chat.WarningSimpleComponent=Um addon (seu?) usa a interface §aSimpleComponent§f que faz §ealgo errado§f. A lógica de componente não pode ser injetada. Por favor verifique seu arquivo de log para mais informações. oc:gui.Chat.WarningSimpleComponent=Um addon (seu?) usa a interface §aSimpleComponent§f que faz §ealgo errado§f. A lógica de componente não pode ser injetada. Por favor verifique seu arquivo de log para mais informações.
oc:gui.Drive.Managed=Gerenciado oc:gui.Drive.Managed=Gerenciado
oc:gui.Drive.Unmanaged=Não Gerenciado oc:gui.Drive.Unmanaged=Não Gerenciado
oc:gui.Drive.ReadOnlyLock=Bloqueado
oc:gui.Drive.ReadOnlyLockWarning=§Somente leitura§r. Isso não pode ser removido, exceto quando o disco é formatado.
oc:gui.Drive.Warning=§lAtençaõ§r: mudança de modos resultará em perca de todos os dados do disco! oc:gui.Drive.Warning=§lAtençaõ§r: mudança de modos resultará em perca de todos os dados do disco!
oc:gui.Error.ComponentOverflow=Muitos componentes conectados ao computador. oc:gui.Error.ComponentOverflow=Muitos componentes conectados ao computador.
oc:gui.Error.InternalError=Erro interno, por favor veja o arquivo de log. Isto é provavelmente um erro. oc:gui.Error.InternalError=Erro interno, por favor veja o arquivo de log. Isto é provavelmente um erro.
oc:gui.Error.NoCPU=Não há CPU instalada no computador. oc:gui.Error.NoCPU=Não há CPU instalada no computador.
oc:gui.Error.NoEnergy=Energia insuficiente. oc:gui.Error.NoEnergy=Energia insuficiente.
oc:gui.Error.NoRAM=Não há RAM instalda no computador. oc:gui.Error.NoRAM=Não há RAM instalada no computador.
oc:gui.Error.OutOfMemory=Sem memória. oc:gui.Error.OutOfMemory=Sem memória.
oc:gui.Manual.Blocks=Blocos do OpenComputers oc:gui.Manual.Blocks=Blocos do OpenComputers
oc:gui.Manual.Home=Início oc:gui.Manual.Home=Início
@ -213,10 +219,10 @@ oc:gui.Manual.Warning.BlockMissing=Bloco indisponível.
oc:gui.Manual.Warning.ImageMissing=Imagem não encontrada. oc:gui.Manual.Warning.ImageMissing=Imagem não encontrada.
oc:gui.Manual.Warning.ItemMissing=Item indisponível. oc:gui.Manual.Warning.ItemMissing=Item indisponível.
oc:gui.Manual.Warning.OreDictMissing=Entrada no dicionário de minérios indisponível. oc:gui.Manual.Warning.OreDictMissing=Entrada no dicionário de minérios indisponível.
oc:gui.Raid.Warning=§4Adicionando um disco limpe-o.[nl] Removendo um disco limpando o raid. oc:gui.Raid.Warning=§4Adicionar um disco o formata.[nl] Remover um disco limpa a raid.
oc:gui.Robot.Power=Energia oc:gui.Robot.Power=Energia
oc:gui.Robot.TurnOff=Desligar oc:gui.Robot.TurnOff=Desligar
oc:gui.Robot.TurnOn=Ligar[nl]§7Use um analizador para verficar problemas.§r oc:gui.Robot.TurnOn=Ligar[nl]§7Use um Analizador para verficar problemas.§r
oc:gui.Rack.Back=Voltar oc:gui.Rack.Back=Voltar
oc:gui.Rack.Bottom=Baixo oc:gui.Rack.Bottom=Baixo
oc:gui.Rack.Left=Esquerda oc:gui.Rack.Left=Esquerda
@ -224,6 +230,7 @@ oc:gui.Rack.None=Nenhum
oc:gui.Rack.Right=Direita oc:gui.Rack.Right=Direita
oc:gui.Rack.Enabled=Habilitado oc:gui.Rack.Enabled=Habilitado
oc:gui.Rack.Disabled=Disabilitado oc:gui.Rack.Disabled=Disabilitado
oc:gui.Rack.RelayModeTooltip=Modo de relé
oc:gui.Rack.Top=Cima oc:gui.Rack.Top=Cima
oc:gui.Switch.PacketsPerCycle=Pacotes / ciclo oc:gui.Switch.PacketsPerCycle=Pacotes / ciclo
oc:gui.Switch.QueueSize=Tamanho da fila oc:gui.Switch.QueueSize=Tamanho da fila
@ -247,7 +254,7 @@ oc:container.Switch=Switch
oc:container.TabletWrapper=Tablet oc:container.TabletWrapper=Tablet
# Keybinds # Keybinds
key.clipboardPaste=Copiar para área de transferência key.clipboardPaste=Colar da área de transferência
key.materialCosts=Mostrar custo dos materiais key.materialCosts=Mostrar custo dos materiais
# Item / Block Tooltips # Item / Block Tooltips
@ -262,6 +269,7 @@ oc:tooltip.Assembler=Permite construir robôs e outros dispositivos com várias
oc:tooltip.Cable=Uma maneira barata de conectar os blocos. oc:tooltip.Cable=Uma maneira barata de conectar os blocos.
oc:tooltip.Capacitor=Armazena energia para usar mais tarde. Pode ser enchido e esvaziado rapidamente. oc:tooltip.Capacitor=Armazena energia para usar mais tarde. Pode ser enchido e esvaziado rapidamente.
oc:tooltip.CardBase=Como o nome diz, este é o bloco de construção básico para os cartões de expansão. oc:tooltip.CardBase=Como o nome diz, este é o bloco de construção básico para os cartões de expansão.
oc:tooltip.CarpetedCapacitor=Armazena energia para uso posterior. Pode ser carregado e descarregado rapidamente. Carrega quando uma ovelha ou jaguatirica anda sobre o mesmo.
oc:tooltip.Case=O gabinete é o bloco básico para computadores e guarda os §fcartões de extensão§7, §fRAM§7 e §fdiscos rígidos§7.[nl] Slots: §f%s§7 oc:tooltip.Case=O gabinete é o bloco básico para computadores e guarda os §fcartões de extensão§7, §fRAM§7 e §fdiscos rígidos§7.[nl] Slots: §f%s§7
oc:tooltip.Chamelium=Matéria prima para as imressões 3D. Não ingerir: talvez leve a cegueira e um lapso temporário de presença. oc:tooltip.Chamelium=Matéria prima para as imressões 3D. Não ingerir: talvez leve a cegueira e um lapso temporário de presença.
oc:tooltip.ChameliumBlock=Agradável e Limpo. Usado para formas coloridas nas impressões 3D, ou para simplesmente ter, um bloco colorido para decorar sua linda e chamativa base. oc:tooltip.ChameliumBlock=Agradável e Limpo. Usado para formas coloridas nas impressões 3D, ou para simplesmente ter, um bloco colorido para decorar sua linda e chamativa base.
@ -280,21 +288,22 @@ oc:tooltip.Debugger=Pode ser usado para depurar informações na grade de rede i
oc:tooltip.DiamondChip=Um pedacinho de um diamante uma vez impecável. Ele nunca será o mesmo de novo. oc:tooltip.DiamondChip=Um pedacinho de um diamante uma vez impecável. Ele nunca será o mesmo de novo.
oc:tooltip.Disassembler=Separa os itens em seus componentes originais. §lAtenção§7: o item retornado tem uma chance de %s%% de quebrar no processo! oc:tooltip.Disassembler=Separa os itens em seus componentes originais. §lAtenção§7: o item retornado tem uma chance de %s%% de quebrar no processo!
oc:tooltip.Disk=Uma mídia primitiva que pode ser usada para construir dispositvos de armazenamentos contínuos. oc:tooltip.Disk=Uma mídia primitiva que pode ser usada para construir dispositvos de armazenamentos contínuos.
oc:to+oltip.DiskDrive.CC=Disquetes do ComputerCraft são §asuportados§7. oc:tooltip.DiskDrive.CC=Disquetes do ComputerCraft são §asuportados§7.
oc:tooltip.DiskDrive=Permite escrever e ler disquetes. Pode ser instalado em robôs para permitir inserir disquetes mais tarde. oc:tooltip.DiskDrive=Permite escrever e ler disquetes. Pode ser instalado em robôs para permitir inserir disquetes mais tarde.
oc:tooltip.DiskDriveMountable=Provê a mesma funcionalidade de uma unidade de disco normal, mas só pode ser instalado em um rack. oc:tooltip.DiskDriveMountable=Provê a mesma funcionalidade de uma unidade de disco normal, mas só pode ser instalado em um rack.
oc:tooltip.DiskUsage=Uso de disco: %s/%s Byte oc:tooltip.DiskUsage=Uso de disco: %s/%s Byte
oc:tooltip.DiskLocked=Bloqueado por: %s
oc:tooltip.DiskModeManaged=Modo: Gerenciado oc:tooltip.DiskModeManaged=Modo: Gerenciado
oc:tooltip.DiskModeUnmanaged=Modo: Não gerenciado oc:tooltip.DiskModeUnmanaged=Modo: Não gerenciado
oc:tooltip.Drone=Drones são leves, com reconhecimento rápido de unidades com espaço interno limitado. oc:tooltip.Drone=Drones são leves, com reconhecimento rápido de unidades com espaço interno limitado.
oc:tooltip.DroneCase=Está carcaça é usada para montar drones no montador. Ele tem um espaço para uma pequena quantidade de componentes e provê levitação com a pedra do fim. oc:tooltip.DroneCase=Está carcaça é usada para montar drones no montador. Ele tem um espaço para uma pequena quantidade de componentes e provê levitação com a pedra do fim.
oc:tooltip.EEPROM=Pequeno, espaço programável que contem a BIOS dos computadores usado para inicia-lo. oc:tooltip.EEPROM=Pequeno armazenamento programável que contem a BIOS dos computadores usado para iniciá-los.
oc:tooltip.FakeEndstone=Quase igual a coisa real, até mesmo emula sua levitação! oc:tooltip.FakeEndstone=Quase igual a coisa real, emula até mesmo sua levitação!
oc:tooltip.Geolyzer=Permite escanear ao redor de área de blocos sólidos. Essa informação pode ser útil para geração de hologramas de área ou para detectar minérios. oc:tooltip.Geolyzer=Permite escanear a dureza da área ao redor de blocos sólidos. Essa informação pode ser útil para geração de hologramas de área ou para detectar minérios.
oc:tooltip.GraphicsCard=Usado para mudar o que é mostrado nos monitores.[nl] Máxima resolução: §f%sx%s§7[nl] Máxima profundidade de cores: §f%s§7[nl] Operações/tick: §f%s§7 oc:tooltip.GraphicsCard=Usado para mudar o que é mostrado nos monitores.[nl] Máxima resolução: §f%sx%s§7[nl] Máxima profundidade de cores: §f%s§7[nl] Operações/tick: §f%s§7
oc:tooltip.HoverBoots=Pule alto, caia devagar, caminhe melhor. Isso é mais, com as mais novas patentiadas Botas Voadoras (TM). oc:tooltip.HoverBoots=Pule alto, caia devagar, caminhe melhor. Isso e mais, com as mais novas e patenteadas Botas Voadoras (TM).
oc:tooltip.InkCartridge=Usado para carregar tinta nas impressoras 3D. Por razões misteriosas ele não tem que permanecer na impressora. oc:tooltip.InkCartridge=Usado para carregar tinta nas impressoras 3D. Por razões misteriosas ele não tem que permanecer na impressora.
oc:tooltip.InkCartridgeEmpty=Este cartucho de tinta foi usado até secar. Recarregue isso usando corrantes. Ou jogando fora. Veja minha cara de preocupado -.-. oc:tooltip.InkCartridgeEmpty=Este cartucho de tinta foi usado até secar. Recarregue isso usando corantes. Ou jogue-o fora. Veja minha cara de preocupado -.-.
oc:tooltip.InternetCard=Este cartão faz requisições HTTP usa protocolos TCP reais. oc:tooltip.InternetCard=Este cartão faz requisições HTTP usa protocolos TCP reais.
oc:tooltip.Interweb=Parabéns, você ganhou um (1) interweb. Você pode conectar a isso usando um Cartão de Internet. Cuidado: não alimente os trolls. oc:tooltip.Interweb=Parabéns, você ganhou um (1) interweb. Você pode conectar a isso usando um Cartão de Internet. Cuidado: não alimente os trolls.
oc:tooltip.IronNugget=Uma pepita feita de ferro, por isso é chamado de Pepita de Ferro, darrr... oc:tooltip.IronNugget=Uma pepita feita de ferro, por isso é chamado de Pepita de Ferro, darrr...
@ -306,13 +315,13 @@ oc:tooltip.LinkedCard_Channel=§8Canal: %s§7
oc:tooltip.Manual=Toda informaçâo que você provalvemente precisará do OpenComputers. E mais. Por um preço inacreditável de... §opor favor pressiona R para continuar§7. oc:tooltip.Manual=Toda informaçâo que você provalvemente precisará do OpenComputers. E mais. Por um preço inacreditável de... §opor favor pressiona R para continuar§7.
oc:tooltip.MaterialCosts=Segure [§f%s§7] para custos do material. oc:tooltip.MaterialCosts=Segure [§f%s§7] para custos do material.
oc:tooltip.Materials=Materiais: oc:tooltip.Materials=Materiais:
oc:tooltip.Memory=Requerido para fazer os computadores funcionarem. Quanto mais tiver, mais complexo podem ser os programas. oc:tooltip.Memory=Requerida para fazer os computadores funcionarem. Quanto mais tiver, mais complexos podem ser os programas.
oc:tooltip.Microchip=Um chip reconhecido formalmente como Circuito Integrado. Eu não tenho ideia porque isso funciona com redstone, mas funciona. oc:tooltip.Microchip=Um chip conhecido formalmente como Circuito Integrado. Eu não tenho ideia porque isso funciona com redstone, mas funciona.
oc:tooltip.Microcontroller=Microcontrolador são mini computadores. Eles são usadas para cuidar de tarefas específicas, rodando um único programa que é provido pela EEPROM consruida dentro dele.[nl] §cNão pode conectar com componentes externos.§7 oc:tooltip.Microcontroller=Microcontroladores são mini computadores. Eles são usadas para cuidar de tarefas específicas, rodando um único programa que é provido pela EEPROM consruida dentro dele.[nl] §cNão pode conectar com componentes externos.§7
oc:tooltip.MicrocontrollerCase=Componente básico para construir microcontroladores. Coloque-o em um montador para adicionar novos componentes e montar um microcontrolador. oc:tooltip.MicrocontrollerCase=Componente básico para construir microcontroladores. Coloque-o em um montador para adicionar novos componentes e montar um microcontrolador.
oc:tooltip.MotionSensor=Pode detectar movimento de forma de vidas próximas. Requer uma visão limpa. oc:tooltip.MotionSensor=Pode detectar movimento de formas de vidas próximas. Requer visão direta.
oc:tooltip.Nanomachines=Unidade de controle e um grupo de nanomaquinas pra comer, se você quiser. oc:tooltip.Nanomachines=Unidade de controle e um grupo de nanomáquinas pra ingerir, se você tiver coragem.
oc:tooltip.NetworkCard=Permite que computadores distantes conectem por outros blocos (como cabos) para comunicar-se enviando mensagens um pro outro. oc:tooltip.NetworkCard=Permite que computadores distantes conectem por outros blocos (como cabos) para comunicar-se enviando mensagens um para o outro.
oc:tooltip.PowerAcceptor=Velocidade da conversão de energia: §f%s/t§7 oc:tooltip.PowerAcceptor=Velocidade da conversão de energia: §f%s/t§7
oc:tooltip.PowerConverter.BuildCraft=§fBuildCraft MJ§7: §a%s:%s§7 oc:tooltip.PowerConverter.BuildCraft=§fBuildCraft MJ§7: §a%s:%s§7
oc:tooltip.PowerConverter.Factorization=§fCarregamento do Factorization§7: §a%s:%s§7 oc:tooltip.PowerConverter.Factorization=§fCarregamento do Factorization§7: §a%s:%s§7
@ -322,13 +331,13 @@ oc:tooltip.PowerConverter.ThermalExpansion=§fThermal Expansion RF§7: §a%s:%s
oc:tooltip.PowerConverter.ResonantEngine=§fResonant Engine Coulombs§7: §a%s:%s§7 oc:tooltip.PowerConverter.ResonantEngine=§fResonant Engine Coulombs§7: §a%s:%s§7
oc:tooltip.PowerConverter=Converte energia de outros mods para o tipo de energia interna. Taxa de conversão: oc:tooltip.PowerConverter=Converte energia de outros mods para o tipo de energia interna. Taxa de conversão:
oc:tooltip.PowerDistributor=Distribui energia por meio de diferentes redes. Isto é útil para compartilhar fluxo de energia de seu sistema para outro conversor em diferentes sub-redes que podem manter separados. oc:tooltip.PowerDistributor=Distribui energia por meio de diferentes redes. Isto é útil para compartilhar fluxo de energia de seu sistema para outro conversor em diferentes sub-redes que podem manter separados.
oc:tooltip.Present=... para seus problemas. Abra este presente para ter uma chance de receber §kum grande tessouro§7![nl]§8Construa itens do OpenComputers até que chegue o tempo certo para ter uma chance de receber presente.§7 oc:tooltip.Present=... para seus problemas. Abra este presente para ter uma chance de receber §kum grande tesouro§7![nl]§8Construa itens do OpenComputers para ter uma chance de receber presente.§7
oc:tooltip.Print.BeaconBase=§8Funciona como uma base do sinalizador. oc:tooltip.Print.BeaconBase=§8Funciona como uma base do sinalizador.
oc:tooltip.Print.LightValue=§8Luz emitida: %s. oc:tooltip.Print.LightValue=§8Luz emitida: %s.
oc:tooltip.Print.RedstoneLevel=§8Saída da Redstone: %s. oc:tooltip.Print.RedstoneLevel=§8Saída da Redstone: %s.
oc:tooltip.PrintedCircuitBoard=O bloco de construção básico para cartões de expansão e memória e tal. oc:tooltip.PrintedCircuitBoard=O bloco de construção básico para cartões de expansão, memória e outros.
oc:tooltip.Printer=Permite imprimir blocos com forma definida pelo usuário usando o Camaleão (nome lindo?) e Cartucho de Tinta. Deve ser configurado usando um computador. Deixe longe do alcance das crianças. Porque sim. oc:tooltip.Printer=Permite imprimir blocos com forma definida pelo usuário usando o Camaleão (nome lindo?) e Cartucho de Tinta. Deve ser configurado usando um computador. Deixe longe do alcance das crianças. Porque sim.
oc:tooltip.Raid=Permite cobinar três discos rigídos em um único grande arquivo de sistema que pode ser usuado para todos os computadores conectados. oc:tooltip.Raid=Permite cobinar três discos rigídos em um único grande arquivo de sistema que pode ser usado por todos os computadores conectados.
oc:tooltip.RawCircuitBoard=Pode ser endurecido em qualquer fornalha compátivel. oc:tooltip.RawCircuitBoard=Pode ser endurecido em qualquer fornalha compátivel.
oc:tooltip.Redstone=Permite ler e emitir sinais de redstone ao redor do bloco. Pode ser controlado por qualquer computador que o bloco estiver conectado. Isto é básicamente um cartão de redstone externo. oc:tooltip.Redstone=Permite ler e emitir sinais de redstone ao redor do bloco. Pode ser controlado por qualquer computador que o bloco estiver conectado. Isto é básicamente um cartão de redstone externo.
oc:tooltip.RedstoneCard.ProjectRed=§fProjectRed§7 é §asuportado§7. oc:tooltip.RedstoneCard.ProjectRed=§fProjectRed§7 é §asuportado§7.
@ -338,28 +347,28 @@ oc:tooltip.RedstoneCard.WirelessCBE=§fWireless Redstone (ChickenBones)§7 é §
oc:tooltip.RedstoneCard.WirelessSV=§fWireless Redstone (SlimeVoid)§7 é §asuportado§7. oc:tooltip.RedstoneCard.WirelessSV=§fWireless Redstone (SlimeVoid)§7 é §asuportado§7.
oc:tooltip.RedstoneCard=Permite ler e emitir sinais de redstone ao redor do robô computadorizado. oc:tooltip.RedstoneCard=Permite ler e emitir sinais de redstone ao redor do robô computadorizado.
oc:tooltip.Relay=Permite conectar diversas redes uma com a outra. Somente mensagens de rede serão passadas, componentes não serão vísiveis através disto. Use para separar redes e continuar permitindo comunicação usando Cartões de Rede, por exemplo. oc:tooltip.Relay=Permite conectar diversas redes uma com a outra. Somente mensagens de rede serão passadas, componentes não serão vísiveis através disto. Use para separar redes e continuar permitindo comunicação usando Cartões de Rede, por exemplo.
oc:tooltip.Robot=Diferente de computadores, robôs podem mover-se por ai e interagir com o mundo parecido com que um jogador faz.[nl] §cNão pode conectar com componentes externos.§7 oc:tooltip.Robot=Diferente de computadores, robôs podem mover-se por ai e interagir com o mundo parecido com o que um jogador faz.[nl] §cNão pode conectar-se com componentes externos.§7
# The underscore makes sure this isn't hidden with the rest of the tooltip. # The underscore makes sure this isn't hidden with the rest of the tooltip.
oc:tooltip.Robot_Level=§fNível§7: §a%s§7 oc:tooltip.Robot_Level=§fNível§7: §a%s§7
oc:tooltip.Robot_StoredEnergy=§fEnergia armazenada§7: §a%s§7 oc:tooltip.Robot_StoredEnergy=§fEnergia armazenada§7: §a%s§7
oc:tooltip.Screen=Mostra texto, controlado por uma placa de vídeo em um Gabinete.[nl] Resolução máxima: §f%sx%s§7[nl] Densidade máxima: §f%s§7 oc:tooltip.Screen=Mostra texto, controlado por uma placa de vídeo em um Gabinete.[nl] Resolução máxima: §f%sx%s§7[nl] Densidade máxima: §f%s§7
oc:tooltip.Server=Isto é um servidor, tem muitos como este, mas este pode ser aprimorado com componentes como um gabinete pode ser. Ele pode ser ligado inserindo-o em um rack de servidor. oc:tooltip.Server=Isto é um servidor: existem muitos como este, mas este pode ser aprimorado com componentes como um gabinete pode ser. Ele pode ser ligado inserindo-o em um rack de servidor.
oc:tooltip.Server.Components=Componentes instalados: oc:tooltip.Server.Components=Componentes instalados:
oc:tooltip.Rack=Permite a instalação de até quatro servidores ou outros montáveis. oc:tooltip.Rack=Permite a instalação de até quatro servidores ou outros montáveis.
oc:tooltip.Switch=Permite conectar várias redes uma com a outra. Somente mensagem de rede será passada, componentes não serão vísiveis. Use-o para separar redes permitindo comunicação usando Cartões de Rede, por exemplo. oc:tooltip.Switch=Permite conectar várias redes uma com a outra. Somente mensagens de rede serão transmitidas, componentes não serão vísiveis. Use-o para separar redes permitindo comunicação usando Cartões de Rede, por exemplo.
oc:tooltip.Tablet=Um tablet, com um Lua saindo do forno. Pode ser forçado a desligar se abaixando e ativando-o. oc:tooltip.Tablet=Um tablet, para usar Lua de maneira portátil. Pode ser forçado a desligar se abaixando e ativando-o.
oc:tooltip.TabletCase=Carcaça básica para tablets. Coloque-o no montador para adicionar componentes e criar um tablet. oc:tooltip.TabletCase=Carcaça básica para tablets. Coloque-o no montador para adicionar componentes e criar um tablet.
oc:tooltip.Terminal=Permite controlar um servidor remotamente, enquanto estiver no seu alcance. Atua como monitor e teclados portateis. Shift + Botão Direito em um servidor em um rack para vincular um terminal. oc:tooltip.Terminal=Permite controlar um servidor remotamente, enquanto estiver no seu alcance. Atua como monitor e teclados portateis. Shift + Botão Direito em um servidor em um rack para vincular um terminal.
oc:tooltip.TerminalServer=Backend para que Terminais remotos possam ser conectados para provê controle remoto. Contem um monitor virtual e teclado. oc:tooltip.TerminalServer=Backend para que Terminais remotos possam ser conectados para prover controle remoto. Contém um monitor virtual e um teclado.
oc:tooltip.TexturePicker=Esta ferramente mostra uma string descrevendo uma superfície de bloco, para usar na impressora 3D e definir formas. Não são nomes de texturas, nana nina não. oc:tooltip.TexturePicker=Esta ferramente mostra uma string descrevendo uma superfície de bloco, para usar na impressora 3D e definir formas. Não são nomes de texturas, nana nina não.
oc:tooltip.Tier=§8Nível %s oc:tooltip.Tier=§8Nível %s
oc:tooltip.NetSplitter=Atua como um conector dinâmico. Conectividade de cada lado pode ser mudada batendo-a com uma chave. Conectividade de todos os lados podem ser invertidas aplicando um sinal de redstone. oc:tooltip.NetSplitter=Atua como um conector dinâmico. Conectividade de cada lado pode ser mudada batendo-a com uma chave. Conectividade de todos os lados podem ser invertidas aplicando um sinal de redstone.
oc:tooltip.TooLong=Segure [§f%s§7] para uma dica detalhada. oc:tooltip.TooLong=Segure [§f%s§7] para uma dica detalhada.
oc:tooltip.Transistor=Um elemento básico para outras partes de computador. É um pouco retorcido, mas faz seu trabalho. oc:tooltip.Transistor=Um elemento básico para outras partes de computador. É um pouco torto, mas faz seu trabalho.
oc:tooltip.Transposer=Permite transferir automaticamente itens e fluídos entre inventários adjacentes e recipientes de fluidos. oc:tooltip.Transposer=Permite transferir automaticamente itens e fluidos entre inventários adjacentes e recipientes de fluidos.
oc:tooltip.UpgradeAngel=Permite robôs colocar blocos no ar, mesmo sem um ponto de apoio. oc:tooltip.UpgradeAngel=Permite que robôs coloquem blocos no ar, mesmo sem um ponto de apoio.
oc:tooltip.UpgradeBattery=Aumenta a quantidade de energia que o dispositivo pode armazenar, permitindo que trabalhe mais tempo sem precisa recarregar. [nl] Capacidade: §f%s§7 oc:tooltip.UpgradeBattery=Aumenta a quantidade de energia que o dispositivo pode armazenar, permitindo que trabalhe mais tempo sem precisa recarregar. [nl] Capacidade: §f%s§7
oc:tooltip.UpgradeChunkloader=Se um robô move-se em uma floresta e ninguém é capaz de ver ele, ele está se mechendo ou não? Este aprimoramento faz ter certeza que sim. Isto mantêm um chunk, um dispositvo está carregado, mas consome energia continua enquanto ativo. oc:tooltip.UpgradeChunkloader=Se um robô move-se em uma floresta e ninguém é capaz de ver ele, ele está se mexendo ou não? Este aprimoramento faz ter certeza que sim. Isto mantêm um chunk em que um dispositvo está carregado, mas consome energia continuamente enquanto ativo.
oc:tooltip.UpgradeContainerCard=Este aprimoramento de contêiner permite dinamicamente instalar e remover um cartão de um dispositivo montado. [nl] Nível máximo: §f%s§7 oc:tooltip.UpgradeContainerCard=Este aprimoramento de contêiner permite dinamicamente instalar e remover um cartão de um dispositivo montado. [nl] Nível máximo: §f%s§7
oc:tooltip.UpgradeContainerUpgrade=Este aprimoramento de contêiner permite dinamicamente instalar e remover outro aprimoramento de um dispositivo montado. [nl] Nível máximo: §f%s§7 oc:tooltip.UpgradeContainerUpgrade=Este aprimoramento de contêiner permite dinamicamente instalar e remover outro aprimoramento de um dispositivo montado. [nl] Nível máximo: §f%s§7
oc:tooltip.UpgradeCrafting=Permite que robôs usem o canto superior esquerdo de seu inventário para construir objetos. Os itens devem estar posicionados como se estivessem numa mesa de trabalho. oc:tooltip.UpgradeCrafting=Permite que robôs usem o canto superior esquerdo de seu inventário para construir objetos. Os itens devem estar posicionados como se estivessem numa mesa de trabalho.
@ -369,17 +378,21 @@ oc:tooltip.UpgradeGenerator=Pode ser usado para gerar combustível em movimento.
oc:tooltip.UpgradeHover=Este aprimoramento permite que robôs voem acima do solo sem precisar escalar paredes.[nl] Altura máxima: §f%s§7 oc:tooltip.UpgradeHover=Este aprimoramento permite que robôs voem acima do solo sem precisar escalar paredes.[nl] Altura máxima: §f%s§7
oc:tooltip.UpgradeInventory=Este aprimoramento provê espaço no inventário para robôs ou drones. Sem um destes, eles não serão capazes de armazenar itens internamente. oc:tooltip.UpgradeInventory=Este aprimoramento provê espaço no inventário para robôs ou drones. Sem um destes, eles não serão capazes de armazenar itens internamente.
oc:tooltip.UpgradeInventoryController=Este aprimoramento permite que robôs e drones tenham mais controle de como eles interagem com o inventário externo, e permite que robôs troquem sua ferramenta equipada com algum item do seu inventário. oc:tooltip.UpgradeInventoryController=Este aprimoramento permite que robôs e drones tenham mais controle de como eles interagem com o inventário externo, e permite que robôs troquem sua ferramenta equipada com algum item do seu inventário.
oc:tooltip.UpgradeMF=Permite que adaptadores acessem blocos não adjacentes.
oc:tooltip.UpgradeMF.Linked=§fConexão estabelecida§7
oc:tooltip.UpgradeMF.Unlinked=§fSem conexão§7
oc:tooltip.UpgradeLeash=Permite que alguns dispostivos, como drones, coloquem animais em coleiras. MUITOSSSS ANIMAIIIIIIss. oc:tooltip.UpgradeLeash=Permite que alguns dispostivos, como drones, coloquem animais em coleiras. MUITOSSSS ANIMAIIIIIIss.
oc:tooltip.UpgradeNavigation=Pode ser usado para determinar a posição e orientação de um dispositivo. A posição é relativa ao centro do mapa que foi usado para construir este aprimoramento. oc:tooltip.UpgradeNavigation=Pode ser usado para determinar a posição e orientação de um dispositivo. A posição é relativa ao centro do mapa que foi usado para construir este aprimoramento.
oc:tooltip.UpgradePiston=Este aprimoramento tem um movimento sexy. Permite mexer blocos, como se estive-se usando um pistão. Isto §lnão§7 move entidades. oc:tooltip.UpgradePiston=Este aprimoramento tem um movimento agressivo. Permite mexer blocos, como se estivesse usando um pistão. Isto §lnão§7 move entidades.
oc:tooltip.UpgradeSign=Permite escrever texto nele e escrever placa de textos. oc:tooltip.UpgradeSign=Permite ler e escrever em placas de texto.
oc:tooltip.UpgradeSolarGenerator=Pode ser usado para gerar energia solar em movimento. Requer uma linha de visão limpa do céu acima do dispositivo. Gera energia em %s%% da velocidade de um Motor Stirling. oc:tooltip.UpgradeSolarGenerator=Pode ser usado para gerar energia solar em movimento. Requer uma linha de visão limpa do céu acima do dispositivo. Gera energia em %s%% da velocidade de um Motor Stirling.
oc:tooltip.UpgradeTank=Este aprimoramento provê um armazenamento de tanque ou fluídos para robôs e drones. Sem um destes, ele não será capaz de armazenar fluídos internamente. oc:tooltip.UpgradeTank=Este aprimoramento provê um armazenamento de tanque ou fluidos para robôs e drones. Sem um destes, ele não será capaz de armazenar fluidos internamente.
oc:tooltip.UpgradeTankController=Este aprimoramento permite que robôs e drones tenham mais controle de como eles interagem com tanques externos, e permite que ele transfira fluídos para os tanques e dos tanques. oc:tooltip.UpgradeTankController=Este aprimoramento permite que robôs e drones tenham mais controle de como eles interagem com tanques externos, e permite que ele transfira fluidos para os tanques e dos tanques.
oc:tooltip.UpgradeTractorBeam=Equipa um dispositivo com uma tecnologia extremamente avançada, codenome "Imã". Permite que dispositivos capturem blocos com o raio de 3 blocos de sua localização. oc:tooltip.UpgradeTractorBeam=Equipa um dispositivo com uma tecnologia extremamente avançada, codenome "Imã". Permite que dispositivos capturem blocos com o raio de 3 blocos de sua localização.
oc:tooltip.UpgradeTrading=Permite que robôs e drones façam trocas com Aldeões.
oc:tooltip.Waypoint=Provê um ponto de referência para os dispositvos com um aprimoramento de navegação. oc:tooltip.Waypoint=Provê um ponto de referência para os dispositvos com um aprimoramento de navegação.
oc:tooltip.WirelessNetworkCard=Permite enviar mensagens de rede além do meio normal. Você pode ajustar a §fforça do sinal§7 para controlar o quão longe as mensagens vão. Altos níveis de força de sinal resulta em alto consumo de energia. oc:tooltip.WirelessNetworkCard=Permite enviar mensagens de rede além do meio normal. Você pode ajustar a §fforça do sinal§7 para controlar o quão longe as mensagens vão. Altos níveis de força de sinal resulta em alto consumo de energia.
oc:tooltip.WorldSensorCard=Permite ler informações sobre o mundo, como gravidade e/ou se tem uma atmosfera respirável. Use os resultados por sua conta e risco. O fabricando não se responsabiliza por danos corporais ou materias por decisões causadas sobre as saídas dos cartões. Nós temos leis. E dinheiro. Então nem tente. oc:tooltip.WorldSensorCard=Permite ler informações sobre o mundo, como gravidade e/ou se tem uma atmosfera respirável. Use os resultados por sua conta e risco. O fabricando não se responsabiliza por danos corporais ou materias por decisões causadas sobre as saídas dos cartões. Nós temos advogados. E dinheiro. Então nem tente.
oc:tooltip.Wrench=Um híbrido entre uma Chave de fenda e uma Chave de boca, esta ferramenta é fácil de usar, mas díficil de dominar. oc:tooltip.Wrench=Um híbrido entre uma Chave de fenda e uma Chave de boca, esta ferramenta é fácil de usar, mas díficil de dominar.
#Achievements #Achievements
@ -388,21 +401,21 @@ achievement.oc.adapter.desc=Interagiu com blocos de outros mods e também do Min
achievement.oc.assembler=Explêndido achievement.oc.assembler=Explêndido
achievement.oc.assembler.desc=Hora de dominar o mundo! achievement.oc.assembler.desc=Hora de dominar o mundo!
achievement.oc.cable=Não é um Fio Sujo achievement.oc.cable=Não é um Fio Sujo
achievement.oc.cable.desc=Com a tecnologia patentiada anti-espaguete. achievement.oc.cable.desc=Com a tecnologia patenteada de anti-espaguete.
achievement.oc.capacitor=Baterias inclusas achievement.oc.capacitor=Baterias inclusas
achievement.oc.capacitor.desc=Você não pode parar isso. achievement.oc.capacitor.desc=Você não pode parar isso.
achievement.oc.card=Aceitamos Cartões achievement.oc.card=Aceitamos Cartões
achievement.oc.card.desc=Para seu entendimento. Sem segundas intenções, prometo. achievement.oc.card.desc=Para sua conveniência. Sem segundas intenções, prometo.
achievement.oc.case=Em Caso de Problemas achievement.oc.case=Em Caso de Problemas
achievement.oc.case.desc=Porque torres quadradas são as melhores. achievement.oc.case.desc=Porque torres quadradas são as melhores.
achievement.oc.charger=Tá bom, vamo lá achievement.oc.charger=Tá bom, vamo lá
achievement.oc.charger.desc=Carrreeegaaaan- dour, esqueça do sinal de redstone de novo. achievement.oc.charger.desc=Carrreeegaaaan- poxa, esqueci do sinal de redstone de novo.
achievement.oc.chip=Todas as Pequenas Coisas achievement.oc.chip=Todas as Pequenas Coisas
achievement.oc.chip.desc=Porque tubos a vácuo são do passado. achievement.oc.chip.desc=Porque tubos a vácuo são coisa do passado.
achievement.oc.cpu=Overclocked achievement.oc.cpu=Overclocked
achievement.oc.cpu.desc=Hora de fazer uso destes ciclos computacionais. achievement.oc.cpu.desc=Hora de fazer uso destes ciclos computacionais.
achievement.oc.disassembler=Vamo quebra tudo! achievement.oc.disassembler=Vamo quebra tudo!
achievement.oc.disassembler.desc=Em caso de suas ideias brilhantes não sejam tão brilhantes assim. achievement.oc.disassembler.desc=Caso suas ideias brilhantes não sejam tão brilhantes assim.
achievement.oc.diskDrive=Roda a Roda. achievement.oc.diskDrive=Roda a Roda.
achievement.oc.diskDrive.desc=Capacidade inferior mas um som lindíssimo. achievement.oc.diskDrive.desc=Capacidade inferior mas um som lindíssimo.
achievement.oc.drone=Voando alto. achievement.oc.drone=Voando alto.
@ -410,7 +423,7 @@ achievement.oc.drone.desc=Mantenha a calma e jogue-o para fora do planeta.
achievement.oc.eeprom=Só pode ter um achievement.oc.eeprom=Só pode ter um
achievement.oc.eeprom.desc=Por computador, claro. Para manter a ordem da inicialização, entendeu? achievement.oc.eeprom.desc=Por computador, claro. Para manter a ordem da inicialização, entendeu?
achievement.oc.floppy=Um ri- disco achievement.oc.floppy=Um ri- disco
achievement.oc.floppy.desc=Velho mais ainda funciona. achievement.oc.floppy.desc=Velho, mas ainda funciona.
achievement.oc.geolyzer=Pra dentro da Terra achievement.oc.geolyzer=Pra dentro da Terra
achievement.oc.geolyzer.desc=Têm qualidades extraordinárias. achievement.oc.geolyzer.desc=Têm qualidades extraordinárias.
achievement.oc.graphicsCard=Ultima Geração achievement.oc.graphicsCard=Ultima Geração
@ -428,9 +441,9 @@ achievement.oc.motionSensor.desc=Igual a Steve Swagger.
achievement.oc.networkCard=Agora Estamos Falando! achievement.oc.networkCard=Agora Estamos Falando!
achievement.oc.networkCard.desc=Mantenha contato com esses parentes distantes. achievement.oc.networkCard.desc=Mantenha contato com esses parentes distantes.
achievement.oc.openOS=Buti achievement.oc.openOS=Buti
achievement.oc.openOS.desc=Um SO para bot - espere, Já usei isso antes? Droga. achievement.oc.openOS.desc=Um SO para - espere, já usei essa antes? Droga.
achievement.oc.powerDistributor=Compartilhar é Amor achievement.oc.powerDistributor=Compartilhar é Amar
achievement.oc.powerDistributor.desc=Quando precisa de ajuda distribua essa energia. achievement.oc.powerDistributor.desc=Quando você precisa de ajuda para equilibrar toda essa energia.
achievement.oc.rack=Mas que potência achievement.oc.rack=Mas que potência
achievement.oc.rack.desc=Sim, os racks de servidores são potentes. achievement.oc.rack.desc=Sim, os racks de servidores são potentes.
achievement.oc.raid=LFG achievement.oc.raid=LFG
@ -444,13 +457,13 @@ achievement.oc.redstoneIO.desc=Levando os sinais de redstone para onde quiser.
achievement.oc.robot=Bip Bip achievement.oc.robot=Bip Bip
achievement.oc.robot.desc=EXTERMINAR! achievement.oc.robot.desc=EXTERMINAR!
achievement.oc.screen=Tentou desligar e ligar de novo? achievement.oc.screen=Tentou desligar e ligar de novo?
achievement.oc.screen.desc=Não, não. Um pulso de redstone pode alternar o monitor entre ligado e desligado. achievement.oc.screen.desc=Não, de verdade. Um pulso de redstone pode alternar o monitor entre ligado e desligado.
achievement.oc.server=Dedicado achievement.oc.server=Dedicado
achievement.oc.server.desc=Servidores na nuvem, aqui vamos nós. achievement.oc.server.desc=Servidores na nuvem, aqui vamos nós.
achievement.oc.switch=Topologia Complexa achievement.oc.switch=Topologia Complexa
achievement.oc.switch.desc=Evite embalagens baratas devido a possibilidade de pacotes perdidos. achievement.oc.switch.desc=Evite embalagens baratas devido a possibilidade de pacotes perdidos.
achievement.oc.tablet=Não engula achievement.oc.tablet=Não Engula
achievement.oc.tablet.desc=Mantenha longe do alcance das crianças para evitar um exagero no seu cartão de crédito. achievement.oc.tablet.desc=Mantenha longe do alcance das crianças para evitar cobranças exageradas no seu cartão de crédito.
achievement.oc.transistor=Onipresente achievement.oc.transistor=Onipresente
achievement.oc.transistor.desc=Crie um Transistor para começar. achievement.oc.transistor.desc=Crie um Transistor para começar.
achievement.oc.wirelessNetworkCard=Sinais achievement.oc.wirelessNetworkCard=Sinais
@ -460,9 +473,9 @@ achievement.oc.wirelessNetworkCard.desc=Hora de ir onde nenhum pacote foi antes.
# set in the actual damage source in code. # set in the actual damage source in code.
death.attack.oc.nanomachinesOverload.1=%s foi muito ganancioso. death.attack.oc.nanomachinesOverload.1=%s foi muito ganancioso.
death.attack.oc.nanomachinesOverload.2=%s teve um ataque de nervos. death.attack.oc.nanomachinesOverload.2=%s teve um ataque de nervos.
death.attack.oc.nanomachinesOverload.3=As nanomaquinas de %s estão fora de controle. death.attack.oc.nanomachinesOverload.3=As nanomáquinas de %s estão fora de controle.
death.attack.oc.nanomachinesHungry.1=%s foi comido por nanomaquinas. death.attack.oc.nanomachinesHungry.1=%s foi comido por nanomáquinas.
death.attack.oc.nanomachinesHungry.2=%s não alimentou suas nanomaquinas. death.attack.oc.nanomachinesHungry.2=%s não alimentou suas nanomáquinas.
death.attack.oc.nanomachinesHungry.3=%s foi digerido. death.attack.oc.nanomachinesHungry.3=%s foi digerido.
# NEI Integration # NEI Integration

View File

@ -16,7 +16,8 @@ _G.coroutine = setmetatable(
}, },
{ {
__index = function(_, key) __index = function(_, key)
return assert(process.info(_coroutine.running()), "thread has no proc").data.coroutine_handler[key] local proc = process.info(_coroutine.running())
return (proc and proc.data.coroutine_handler or _coroutine)[key]
end end
} }
) )

View File

@ -14,13 +14,13 @@ local function set_cursor(window, x, y)
end end
-- -- These DO NOT SCROLL -- -- These DO NOT SCROLL
-- [(%d+)A move cursor up n lines -- [(%d*)A move cursor up n lines
-- [(%d+)B move cursor down n lines -- [(%d*)B move cursor down n lines
-- [(%d+)C move cursor right n lines -- [(%d*)C move cursor right n lines
-- [(%d+)D move cursor left n lines -- [(%d*)D move cursor left n lines
rules[{"%[", "%d+", "[ABCD]"}] = function(window, _, n, dir) rules[{"%[", "%d*", "[ABCD]"}] = function(window, _, n, dir)
local dx, dy = 0, 0 local dx, dy = 0, 0
n = tonumber(n) n = tonumber(n) or 1
if dir == "A" then if dir == "A" then
dy = -n dy = -n
elseif dir == "B" then elseif dir == "B" then

View File

@ -621,7 +621,7 @@ do
local function str_gsub(s, pattern, repl, n) local function str_gsub(s, pattern, repl, n)
checkArg(1, s, "string") checkArg(1, s, "string")
checkArg(2, pattern, "string") checkArg(2, pattern, "string", "number")
checkArg(3, repl, "number", "string", "function", "table") checkArg(3, repl, "number", "string", "function", "table")
checkArg(4, n, "number", "nil") checkArg(4, n, "number", "nil")
@ -629,6 +629,7 @@ do
return string_gsub(s, pattern, repl, n) return string_gsub(s, pattern, repl, n)
end end
pattern = tostring(pattern)
local src = strptr(s); local src = strptr(s);
local p = strptr(pattern) local p = strptr(pattern)
local tr = type(repl) local tr = type(repl)

View File

@ -293,7 +293,10 @@ object TerminalServer {
def find(address: String): Option[TerminalServer] = { def find(address: String): Option[TerminalServer] = {
completePending() completePending()
Some(ready.getOrDefault(address, null)) ready.getOrDefault(address, null) match {
case term: TerminalServer => Option(term)
case _ => None
}
} }
} }
} }

View File

@ -130,9 +130,9 @@ trait TextBufferProxy extends api.internal.TextBuffer {
for (y <- row until ((row + color.length) min data.height)) { for (y <- row until ((row + color.length) min data.height)) {
val line = color(y - row) val line = color(y - row)
for (x <- col until ((col + line.length) min data.width)) { for (x <- col until ((col + line.length) min data.width)) {
val packedBackground = data.format.deflate(PackedColor.Color(line(x - col))) & 0x00FF val packedBackground = data.color(y)(x) & 0x00FF
val packedForeground = data.color(row)(col) & 0xFF00 val packedForeground = (data.format.deflate(PackedColor.Color(line(x - col))) << PackedColor.ForegroundShift) & 0xFF00
data.color(row)(col) = (packedForeground | packedBackground).toShort data.color(y)(x) = (packedForeground | packedBackground).toShort
} }
} }
} }
@ -141,9 +141,9 @@ trait TextBufferProxy extends api.internal.TextBuffer {
for (y <- row until ((row + color.length) min data.height)) { for (y <- row until ((row + color.length) min data.height)) {
val line = color(y - row) val line = color(y - row)
for (x <- col until ((col + line.length) min data.width)) { for (x <- col until ((col + line.length) min data.width)) {
val packedBackground = data.color(row)(col) & 0x00FF val packedBackground = data.format.deflate(PackedColor.Color(line(x - col))) & 0x00FF
val packedForeground = (data.format.deflate(PackedColor.Color(line(x - col))) << PackedColor.ForegroundShift) & 0xFF00 val packedForeground = data.color(y)(x) & 0xFF00
data.color(row)(col) = (packedForeground | packedBackground).toShort data.color(y)(x) = (packedForeground | packedBackground).toShort
} }
} }
} }

View File

@ -1,7 +1,6 @@
package li.cil.oc.common.item package li.cil.oc.common.item
import java.util import java.util
import li.cil.oc.CreativeTab import li.cil.oc.CreativeTab
import li.cil.oc.OpenComputers import li.cil.oc.OpenComputers
import li.cil.oc.api.driver import li.cil.oc.api.driver
@ -9,6 +8,7 @@ import li.cil.oc.api.driver.item.Chargeable
import li.cil.oc.api.event.RobotRenderEvent.MountPoint import li.cil.oc.api.event.RobotRenderEvent.MountPoint
import li.cil.oc.api.internal.Robot import li.cil.oc.api.internal.Robot
import li.cil.oc.client.renderer.item.UpgradeRenderer import li.cil.oc.client.renderer.item.UpgradeRenderer
import li.cil.oc.integration.opencomputers.{Item => OpenComputersItem}
import li.cil.oc.util.BlockPosition import li.cil.oc.util.BlockPosition
import net.minecraft.creativetab.CreativeTabs import net.minecraft.creativetab.CreativeTabs
import net.minecraft.entity.Entity import net.minecraft.entity.Entity
@ -47,9 +47,12 @@ class Delegator extends Item with driver.item.UpgradeRenderer with Chargeable {
// SubItem // SubItem
// ----------------------------------------------------------------------- // // ----------------------------------------------------------------------- //
override def getItemStackLimit(stack: ItemStack) = override def getItemStackLimit(stack: ItemStack): Int =
Delegator.subItem(stack) match { Delegator.subItem(stack) match {
case Some(subItem) => subItem.maxStackSize case Some(subItem) => OpenComputersItem.address(stack) match {
case Some(address) => 1
case _ => subItem.maxStackSize
}
case _ => maxStackSize case _ => maxStackSize
} }

View File

@ -4,11 +4,11 @@ import li.cil.oc.Settings
import net.minecraft.item.ItemStack import net.minecraft.item.ItemStack
class HardDiskDrive(val parent: Delegator, val tier: Int) extends traits.Delegate with traits.ItemTier with traits.FileSystemLike { class HardDiskDrive(val parent: Delegator, val tier: Int) extends traits.Delegate with traits.ItemTier with traits.FileSystemLike {
override val unlocalizedName = super.unlocalizedName + tier override val unlocalizedName: String = super.unlocalizedName + tier
val kiloBytes = Settings.get.hddSizes(tier) val kiloBytes: Int = Settings.get.hddSizes(tier)
val platterCount = Settings.get.hddPlatterCounts(tier) val platterCount: Int = Settings.get.hddPlatterCounts(tier)
override def displayName(stack: ItemStack) = { override def displayName(stack: ItemStack): Option[String] = {
val localizedName = parent.internalGetItemStackDisplayName(stack) val localizedName = parent.internalGetItemStackDisplayName(stack)
Some(if (kiloBytes >= 1024) { Some(if (kiloBytes >= 1024) {
localizedName + s" (${kiloBytes / 1024}MB)" localizedName + s" (${kiloBytes / 1024}MB)"

View File

@ -41,7 +41,7 @@ object DriveData {
val data = new DriveData(stack) val data = new DriveData(stack)
if (!data.isLocked) { if (!data.isLocked) {
data.lockInfo = key match { data.lockInfo = key match {
case name: String if name != null && !name.isEmpty => name case name: String if name != null && name.nonEmpty => name
case _ => "notch" // meaning: "unknown" case _ => "notch" // meaning: "unknown"
} }
data.save(stack) data.save(stack)

View File

@ -37,6 +37,8 @@ class Disassembler extends traits.Environment with traits.PowerAcceptor with tra
var totalRequiredEnergy = 0.0 var totalRequiredEnergy = 0.0
override def getInventoryStackLimit: Int = 1
var buffer = 0.0 var buffer = 0.0
var disassembleNextInstantly = false var disassembleNextInstantly = false

View File

@ -94,7 +94,9 @@ trait RedstoneAware extends RotationAware /* with IConnectable with IRedstoneEmi
def getOutput: Array[Int] = EnumFacing.values.map{ side: EnumFacing => _output(toLocal(side).ordinal) } def getOutput: Array[Int] = EnumFacing.values.map{ side: EnumFacing => _output(toLocal(side).ordinal) }
def getOutput(side: EnumFacing) = _output(toLocal(side).ordinal()) def getOutput(side: EnumFacing) = if (_output != null && _output.length <= toLocal(side).ordinal())
_output(toLocal(side).ordinal())
else 0
def setOutput(side: EnumFacing, value: Int): Boolean = { def setOutput(side: EnumFacing, value: Int): Boolean = {
if (value == getOutput(side)) return false if (value == getOutput(side)) return false

View File

@ -1,5 +1,6 @@
package li.cil.oc.integration.opencomputers package li.cil.oc.integration.opencomputers
import com.google.common.base.Strings
import li.cil.oc.Settings import li.cil.oc.Settings
import li.cil.oc.api import li.cil.oc.api
import li.cil.oc.api.driver import li.cil.oc.api.driver
@ -10,6 +11,8 @@ import li.cil.oc.server.driver.Registry
import net.minecraft.item.ItemStack import net.minecraft.item.ItemStack
import net.minecraft.nbt.NBTTagCompound import net.minecraft.nbt.NBTTagCompound
import scala.annotation.tailrec
trait Item extends driver.Item { trait Item extends driver.Item {
def worksWith(stack: ItemStack, host: Class[_ <: EnvironmentHost]): Boolean = def worksWith(stack: ItemStack, host: Class[_ <: EnvironmentHost]): Boolean =
worksWith(stack) && !Registry.blacklist.exists { worksWith(stack) && !Registry.blacklist.exists {
@ -52,4 +55,25 @@ object Item {
} }
nbt.getCompoundTag(Settings.namespace + "data") nbt.getCompoundTag(Settings.namespace + "data")
} }
@tailrec
private def getTag(tagCompound: NBTTagCompound, keys: Array[String]): Option[NBTTagCompound] = {
if (keys.length == 0) Option(tagCompound)
else if (!tagCompound.hasKey(keys(0))) None
else getTag(tagCompound.getCompoundTag(keys(0)), keys.drop(1))
}
private def getTag(stack: ItemStack, keys: Array[String]): Option[NBTTagCompound] = {
if (stack == null || stack.stackSize == 0) None
else if (!stack.hasTagCompound) None
else getTag(stack.getTagCompound, keys)
}
def address(stack: ItemStack): Option[String] = {
val addressKey = "address"
getTag(stack, Array(Settings.namespace + "data", "node")) match {
case Some(tag) if tag.hasKey(addressKey) => Option(tag.getString(addressKey))
case _ => None
}
}
} }

View File

@ -266,8 +266,7 @@ class DebugCard(host: EnvironmentHost) extends prefab.ManagedEnvironment with De
checkAccess() checkAccess()
val destination = args.checkString(0) val destination = args.checkString(0)
DebugNetwork.getEndpoint(destination).filter(_ != this).foreach{endpoint => DebugNetwork.getEndpoint(destination).filter(_ != this).foreach{endpoint =>
// Cast to iterable to use Scala's toArray instead of the Arguments' one (which converts byte arrays to Strings). val packet = Network.newPacket(node.address, destination, 0, args.drop(1).toArray)
val packet = Network.newPacket(node.address, destination, 0, args.drop(1).asInstanceOf[java.lang.Iterable[AnyRef]].toArray)
endpoint.receivePacket(packet) endpoint.receivePacket(packet)
} }
result() result()

View File

@ -249,6 +249,7 @@ object InternetCard {
private val id = UUID.randomUUID() private val id = UUID.randomUUID()
private def setupSelector() { private def setupSelector() {
if (channel == null) return
TCPNotifier.add((channel, () => { TCPNotifier.add((channel, () => {
owner match { owner match {
case Some(internetCard) => case Some(internetCard) =>

View File

@ -53,6 +53,8 @@ class UpgradeGenerator(val host: EnvironmentHost with internal.Agent) extends pr
if (!TileEntityFurnace.isItemFuel(stack)) { if (!TileEntityFurnace.isItemFuel(stack)) {
return result(Unit, "selected slot does not contain fuel") return result(Unit, "selected slot does not contain fuel")
} }
val container = stack.getItem().getContainerItem(stack)
var consumedCount = 0
inventory match { inventory match {
case Some(existingStack) => case Some(existingStack) =>
if (!existingStack.isItemEqual(stack) || if (!existingStack.isItemEqual(stack) ||
@ -63,38 +65,79 @@ class UpgradeGenerator(val host: EnvironmentHost with internal.Agent) extends pr
if (space <= 0) { if (space <= 0) {
return result(Unit, "queue is full") return result(Unit, "queue is full")
} }
val moveCount = math.min(stack.stackSize, math.min(space, count)) consumedCount = math.min(stack.stackSize, math.min(space, count))
existingStack.stackSize += moveCount existingStack.stackSize += consumedCount
stack.stackSize -= moveCount stack.stackSize -= consumedCount
case _ => case _ =>
inventory = Some(stack.splitStack(math.min(stack.stackSize, count))) consumedCount = math.min(stack.stackSize, count)
inventory = Some(stack.splitStack(consumedCount))
} }
if (stack.stackSize > 0) host.mainInventory.setInventorySlotContents(host.selectedSlot, stack) if (consumedCount > 0 && container != null) {
else host.mainInventory.setInventorySlotContents(host.selectedSlot, null) container.stackSize = consumedCount
}
if (stack.stackSize > 0) {
host.mainInventory.setInventorySlotContents(host.selectedSlot, stack)
}
if (stack.stackSize == 0 || container != null) {
host.mainInventory.setInventorySlotContents(host.selectedSlot, container)
}
result(true) result(true)
} }
@Callback(doc = """function():number -- Get the size of the item stack in the generator's queue.""") @Callback(doc = """function():number -- Get the size of the item stack in the generator's queue.""")
def count(context: Context, args: Arguments): Array[AnyRef] = { def count(context: Context, args: Arguments): Array[AnyRef] = {
inventory match { inventory match {
case Some(stack) => result(stack.stackSize) case Some(stack) => result(stack.stackSize, stack.getItem.getItemStackDisplayName(stack))
case _ => result(0) case _ => result(0)
} }
} }
@Callback()
def clear(context: Context, args: Arguments): Array[AnyRef] = {
inventory = None
remainingTicks = 0
result(true)
}
@Callback(doc = """function([count:number]):boolean -- Tries to remove items from the generator's queue.""") @Callback(doc = """function([count:number]):boolean -- Tries to remove items from the generator's queue.""")
def remove(context: Context, args: Arguments): Array[AnyRef] = { def remove(context: Context, args: Arguments): Array[AnyRef] = {
val count = args.optInteger(0, Int.MaxValue) val count = args.optInteger(0, Int.MaxValue)
var selectSlotContainer: ItemStack = null
inventory match { inventory match {
case Some(stack) => case Some(stack) =>
val removedStack = stack.splitStack(math.min(count, stack.stackSize)) val moveCount = Option(stack.getItem().getContainerItem(stack)) match {
val success = host.player.inventory.addItemStackToInventory(removedStack) case Some(fuelContainer) =>
stack.stackSize += removedStack.stackSize // if the fuel requires a container, we can only refill containers
if (success && stack.stackSize <= 0) { Option(host.mainInventory.getStackInSlot(host.selectedSlot)) match {
inventory = None case Some(selectedStack) if selectedStack.getItem() == fuelContainer.getItem() =>
selectSlotContainer = selectedStack.copy() // keep a copy in case we have to put it back
1 // refill one container
case _ => 0 // container required
}
case _ => count
} }
result(success) if (moveCount == 0) {
case _ => result(false) result(false, "fuel requires container in the selected slot")
} else {
val removedStack = stack.splitStack(math.min(moveCount, stack.stackSize))
if (selectSlotContainer != null) {
host.mainInventory.decrStackSize(host.selectedSlot, 1)
}
val success = host.player.inventory.addItemStackToInventory(removedStack)
stack.stackSize += removedStack.stackSize
if (success) {
if (stack.stackSize <= 0) {
inventory = None
}
result(true)
} else {
// if we decremented the container, we need to put it back
host.mainInventory.setInventorySlotContents(host.selectedSlot, selectSlotContainer)
result(false, "no inventory space available for fuel")
}
}
case _ => result(false, "queue is empty")
} }
} }
@ -108,13 +151,10 @@ class UpgradeGenerator(val host: EnvironmentHost with internal.Agent) extends pr
val stack = inventory.get val stack = inventory.get
remainingTicks = TileEntityFurnace.getItemBurnTime(stack) remainingTicks = TileEntityFurnace.getItemBurnTime(stack)
if (remainingTicks > 0) { if (remainingTicks > 0) {
// If not we probably have a container item now (e.g. bucket after lava bucket).
updateClient() updateClient()
stack.stackSize -= 1 stack.stackSize -= 1
if (stack.stackSize <= 0) { if (stack.stackSize <= 0) {
if (stack.getItem.hasContainerItem(stack)) // do not put container in inventory (we left the container when fuel was inserted)
inventory = Option(stack.getItem.getContainerItem(stack))
else
inventory = None inventory = None
} }
} }

View File

@ -99,7 +99,7 @@ object FileSystem extends api.detail.FileSystemAPI {
} }
} }
override def fromSaveDirectory(root: String, capacity: Long, buffered: Boolean) = { override def fromSaveDirectory(root: String, capacity: Long, buffered: Boolean): Capacity = {
val path = new io.File(DimensionManager.getCurrentSaveRootDirectory, Settings.savePath + root) val path = new io.File(DimensionManager.getCurrentSaveRootDirectory, Settings.savePath + root)
if (!path.isDirectory) { if (!path.isDirectory) {
path.delete() path.delete()
@ -194,7 +194,7 @@ object FileSystem extends api.detail.FileSystemAPI {
extends VirtualFileSystem extends VirtualFileSystem
with Buffered with Buffered
with Capacity { with Capacity {
protected override def segments(path: String) = { protected override def segments(path: String): Array[String] = {
val parts = super.segments(path) val parts = super.segments(path)
if (isCaseInsensitive) toCaseInsensitive(parts) else parts if (isCaseInsensitive) toCaseInsensitive(parts) else parts
} }