Merge branch 'master' of github.com:MightyPirates/OpenComputers into MC1.7

Conflicts:
	build.properties
	src/main/scala/li/cil/oc/client/PacketSender.scala
	src/main/scala/li/cil/oc/common/tileentity/traits/RedstoneAware.scala
	src/main/scala/li/cil/oc/util/ItemCosts.scala
This commit is contained in:
Florian Nücke 2014-04-04 21:00:40 +02:00
commit 94d4ef7ef1
13 changed files with 182 additions and 107 deletions

View File

@ -1,6 +1,6 @@
minecraft.version=1.7.2
forge.version=10.12.0.1046
oc.version=1.2.5
oc.version=1.2.6
ccl.version=1.0.0.62
fmp.version=1.0.0.250
maven.url=file:///var/www/users/fnuecke/maven.cil.li

View File

@ -48,6 +48,7 @@ oc:item.HardDiskDrive0.name=Festplatte (Stufe 1)
oc:item.HardDiskDrive1.name=Festplatte (Stufe 2)
oc:item.HardDiskDrive2.name=Festplatte (Stufe 3)
oc:item.InternetCard.name=Internetkarte
oc:item.Interweb.name=Interweb
oc:item.IronNugget.name=Eisennugget
oc:item.Memory0.name=Speicher (Stufe 1)
oc:item.Memory1.name=Speicher (Stufe 2)
@ -139,6 +140,7 @@ oc:tooltip.DiskDrive.CC=ComputerCraft-Disketten werden §aunterstützt§7.
oc:tooltip.DiskDrive=Erlaubt es, Disketten zu lesen und zu beschreiben.
oc:tooltip.GraphicsCard=Erlaubt es, den angezeigten Inhalt von Bildschirmen zu ändern.[nl] Höchstauflösung: §f%sx%s§7.[nl] Maximale Farbtiefe: §f%s§7.[nl] Operationen/Tick: §f%s§7.
oc:tooltip.InternetCard=Diese Karte erlaubt es, HTTP-Anfragen zu senden und echte TCP Sockets zu verwenden.
oc:tooltip.Interweb=Kann in einer Internetkarte verwendet werden, um Computer mit dem rechtsfreien Raum kommunizieren zu lassen.
oc:tooltip.IronNugget=Ein Nugget, das aus Eisen besteht, darum wird es ja auch Eisennugget genannt, duh...
oc:tooltip.Keyboard=Kann an Bildschirmen befestigt werden, um auf ihnen zu tippen.
oc:tooltip.Hologram=Ein Volumendisplay, das beliebige, von Computern festgelegte Voxelstrukturen anzeigt.[nl] Auflösung: §f48x32x48§7. [nl] Farbtiefe: §fMonochrom§7.

View File

@ -48,6 +48,7 @@ oc:item.HardDiskDrive0.name=Hard Disk Drive (Tier 1)
oc:item.HardDiskDrive1.name=Hard Disk Drive (Tier 2)
oc:item.HardDiskDrive2.name=Hard Disk Drive (Tier 3)
oc:item.InternetCard.name=Internet Card
oc:item.Interweb.name=Interweb
oc:item.IronNugget.name=Iron Nugget
oc:item.Memory0.name=Memory (Tier 1)
oc:item.Memory1.name=Memory (Tier 2)
@ -139,6 +140,7 @@ oc:tooltip.DiskDrive.CC=ComputerCraft floppies are §asupported§7.
oc:tooltip.DiskDrive=Allows reading and writing floppies.
oc:tooltip.GraphicsCard=Used to change what's displayed on screens.[nl] Maximum resolution: §f%sx%s§7.[nl] Maximum color depth: §f%s§7.[nl] Operations/tick: §f%s§7.
oc:tooltip.InternetCard=This card allows making HTTP requests and using real TCP sockets.
oc:tooltip.Interweb=Congratulations, you win one (1) interweb. You can connect to it using an Internet Card. Beware: don't feed the trolls.
oc:tooltip.IronNugget=A nugget made of iron, that's why it's called an Iron Nugget, duh...
oc:tooltip.Keyboard=Can be attached to screens to allow typing on them.
oc:tooltip.Hologram=A volumetric display that can be controlled by computers to display arbitrary voxel structures.[nl] Resolution: §f48x32x48§7. [nl] Color depth: §fMonochrome§7.

View File

@ -1,31 +1,33 @@
# Russian localization by YuRaNnNzZZ
# Use UTF-8 for this file.
# Изначальный перевод от YuRaNnNzZZ. Обновления, дополнения и улучшения от Sodiet.
# Используйте UTF-8 в этом файле.
# Blocks
# Блоки
oc:tile.Adapter.name=Адаптер
oc:tile.Cable.name=Кабель
oc:tile.Capacitor.name=Конденсатор
oc:tile.Case0.name=Системный блок 1-го уровня
oc:tile.Case1.name=Системный блок 2-го уровня
oc:tile.Case2.name=Системный блок 3-го уровня
oc:tile.Case0.name=Системный блок (Ур. 1)
oc:tile.Case1.name=Системный блок (Ур. 2)
oc:tile.Case2.name=Системный блок (Ур. 3)
oc:tile.Charger.name=Зарядное устройство
oc:tile.DiskDrive.name=Дисковод
oc:tile.Keyboard.name=Клавиатура
oc:tile.Hologram.name=Голографический проектор
oc:tile.PowerConverter.name=Преобразователь энергии
oc:tile.PowerDistributor.name=Передатчик энергии
oc:tile.PowerDistributor.name=Распределитель энергии
oc:tile.Redstone.name=Обработчик сигналов красной пыли
oc:tile.Robot.name=Робот
oc:tile.RobotAfterimage.name=Робот
oc:tile.Router.name=Маршрутизатор
oc:tile.Router.name=Коммутатор
oc:tile.Screen0.name=Дисплей (Ур. 1)
oc:tile.Screen1.name=Дисплей (Ур. 2)
oc:tile.Screen2.name=Дисплей (Ур. 3)
oc:tile.ServerRack.name=Серверная стойка
oc:tile.WirelessRouter.name=Точка доступа
# Items
# Предметы
oc:item.AbstractBusCard.name=Плата абстрактной шины
oc:item.Acid.name=Кислота
oc:item.ALU.name=Арифметико-логическое устройство
oc:item.Acid.name=Грог
oc:item.ALU.name=Арифметико-логическое устройство (АЛУ)
oc:item.Analyzer.name=Анализатор
oc:item.ArrowKeys.name=Клавиши со стрелками
oc:item.ButtonGroup.name=Группа клавиш
@ -44,21 +46,21 @@ oc:item.GraphicsCard2.name=Видеокарта (Ур. 3)
oc:item.HardDiskDrive0.name=Жёсткий диск (Ур. 1)
oc:item.HardDiskDrive1.name=Жёсткий диск (Ур. 2)
oc:item.HardDiskDrive2.name=Жёсткий диск (Ур. 3)
oc:item.InternetCard.name=Интернет-адаптер
oc:item.InternetCard.name=Интернет-плата
oc:item.IronNugget.name=Железный самородок
oc:item.Memory0.name=ОЗУ (Ур. 1)
oc:item.Memory1.name=ОЗУ (Ур. 2)
oc:item.Memory2.name=ОЗУ (Ур. 2.5)
oc:item.Memory3.name=ОЗУ (Ур. 3)
oc:item.Memory4.name=ОЗУ (Ур. 3.5)
oc:item.Microchip0.name=Микросхема (Ур. 1)
oc:item.Microchip1.name=Микросхема (Ур. 2)
oc:item.Microchip2.name=Микросхема (Ур. 3)
oc:item.NetworkCard.name=Сетевой адаптер
oc:item.NumPad.name=Цифровые клавиши
oc:item.Microchip0.name=Микрочип (Ур. 1)
oc:item.Microchip1.name=Микрочип (Ур. 2)
oc:item.Microchip2.name=Микрочип (Ур. 3)
oc:item.NetworkCard.name=Сетевая плата
oc:item.NumPad.name=Цифровой блок
oc:item.PrintedCircuitBoard.name=Печатная плата
oc:item.RawCircuitBoard.name=Основа для печатной платы
oc:item.RedstoneCard.name=Плата-обработчик сигналов красной пыли
oc:item.RedstoneCard.name=Редстоун-плата
oc:item.Server0.name=Сервер (Ур. 1)
oc:item.Server1.name=Сервер (Ур. 2)
oc:item.Server2.name=Сервер (Ур. 3)
@ -71,24 +73,28 @@ oc:item.UpgradeSign.name=Работа с табличками (Улучшени
oc:item.UpgradeSolarGenerator.name=Солнечная панель (Улучшение)
oc:item.WirelessNetworkCard.name=Адаптер беспроводной сети
# GUI
# Интерфейс
oc:gui.Analyzer.Address=§6Адрес§f: %s
oc:gui.Analyzer.AddressCopied=Адрес скопирован в буфер обмена.
oc:gui.Analyzer.ChargerSpeed=§6Скорость зарядки§f: %s
oc:gui.Analyzer.ComponentName=§6Компонент§f: %s
oc:gui.Analyzer.Components=§6Кол-во подключенных компонентов§f: %s
oc:gui.Analyzer.Components=§6Количество подключенных компонентов§f: %s
oc:gui.Analyzer.LastError=§6Последняя ошибка§f: %s
oc:gui.Analyzer.RobotName=§6Имя робота§f: %s
oc:gui.Analyzer.RobotOwner=§6Владелец робота§f: %s
oc:gui.Analyzer.RobotXp=§6Опыт робрта§f: %s (%s уровень)
oc:gui.Analyzer.RobotXp=§6Опыт робота§f: %s (Уровень: %s)
oc:gui.Analyzer.StoredEnergy=§6Накоплено энергии§f: %s
oc:gui.Analyzer.TotalEnergy=§6Всего накоплено энергии§f: %s
oc:gui.Analyzer.Users=§6Пользователи§f: %s
oc:gui.Analyzer.WirelessStrength=§6Уровень сигнала§f: %s
oc:gui.Chat.NewVersion=Доступна новая версия: %s
oc:gui.Chat.WarningFingerprint=§cВНИМАНИЕ§f - несовпадение fingerprint! Ожидаемый: '§a%s§f', полученный: '§e%s§f'. Если Вы не разработчик, использующий деобфусцированную версию мода, то §lкрайне§f желательно заново скачать OpenComputers, поскольку JAR-файл, вероятнее всего, подделан.
oc:gui.Chat.WarningPower=Подходящие моды, предоставляющие энергию, не найдены. Компьютеры, дисплеи и прочие компоненты §lне будут§f требовать энергию. Для активации данной функции установите один из следующих модов: BuildCraft, IndustrialCraft2, Thermal Expansion или Universal Electricity. Отключите требование энергии в конфиг-файле, чтобы скрыть это предупреждение.
oc:gui.Chat.WarningLuaFallback=Родные библиотеки Lua не доступны, компьютеры не смогут сохранять своё состояние. Они перезагрузятся после выгрузки чанка.
oc:gui.Chat.WarningProjectRed=Вы используете версию Project: Red, несовместимую с OpenComputers. Попробуйте обновить Project: Red.
oc:gui.Error.ComponentOverflow=Слишком много компонентов подключено к компьютеру.
oc:gui.Error.DaylightCycle=Пожалуйста, включите doDaylightCycle для работы компьютеров.
oc:gui.Error.InternalError=Внутренняя ошибка, пожалуйста посмотрите лог-файл. Возможно это баг.
oc:gui.Error.DaylightCycle=Компьютеры не работают, если время заморожено. Пожалуйста, активируйте "doDaylightCycle".
oc:gui.Error.InternalError=Внутренняя ошибка, пожалуйста посмотрите лог-файл. Возможно, это баг.
oc:gui.Error.NoCPU=Не установлен центральный процессор.
oc:gui.Error.NoEnergy=Недостаточно энергии.
oc:gui.Error.NoRAM=Не установлена ОЗУ.
@ -103,67 +109,69 @@ oc:gui.ServerRack.Left=Слева
oc:gui.ServerRack.Right=Справа
oc:gui.ServerRack.Top=Сверху
oc:gui.ServerRack.WirelessRange=Радиус
oc:gui.Terminal.InvalidKey=Неверный ключ, возможно к серверу уже подключен другой терминал.
oc:gui.Terminal.InvalidKey=Неверный ключ, возможно, к серверу уже подключен другой терминал.
oc:gui.Terminal.OutOfRange=Нет сигнала от сервера.
# Containers
# Хранилища
oc:container.Case=Системный блок
oc:container.DiskDrive=Дисковод
oc:container.Rack=Серверная стойка
oc:container.Server=Сервер
# Item / Block Tooltips
oc:tooltip.AbstractBusCard=Позволяет использовать отправлять и принимать LIP-пакеты через абстрактную шину из мода §fStargateTech 2§7.
# Подсказки для Предметов / Блоков
oc:tooltip.AbstractBusCard=Обеспечивает взаимодействие с абстрактной шиной из §fStargateTech 2§7 (отправка и прием LIP-пакетов).
oc:tooltip.Acid=Высокотоксичная псевдо-жидкость, как правило, употребляемая некоторыми пиратами. Благодаря своей агрессивной природе она идеально подходит для травления печатных плат.
oc:tooltip.Adapter=Используется для контроля некомпонентных блоков, например блоков из других модов.
oc:tooltip.Adapter=Используется для контроля некомпонентных блоков (например, блоки из других модов).
oc:tooltip.ALU=Выполняет арифметические вычисления, так что вам не придётся возиться с ними.
oc:tooltip.Analyzer=Используется для отображения информации о компонентах, например их §fадрес§7 или §fимя§7.[nl] Также отображает ошибку, вызвавшую сбой компонента.
oc:tooltip.Cable=Лёгкий и дешёвый способ соединить компоненты между собой.
oc:tooltip.Capacitor=Накапливает энергию для дальнейшего использования. Может быть очень быстро заполнен и опустошён.
oc:tooltip.CardBase=Можно понять по названию, что это основа для всех карт расширения.
oc:tooltip.Case=Системный блок - основа компьютера и может быть улучшен §fкартами расширения§7, §fОЗУ§7 и §fжёсткими дисками§7.[nl] Слоты: §f%s§7.
oc:tooltip.Charger=Передаёт энергию из аккумуляторов роботам. Скорость зарядки зависит от §fсилы сигнала красной пыли§7, где отсутствие сигнала означает не заряжать, а полный сигнал - заряжать на полной скорости.
oc:tooltip.CardBase=Как видно из названия, это основа для всех карт расширения.
oc:tooltip.Case=Системный блок - основа компьютера, может быть улучшен §fкартами расширения§7, §fОЗУ§7 и §fжёсткими дисками§7.[nl] Количество слотов: §f%s§7.
oc:tooltip.Charger=Передаёт энергию из аккумуляторов роботам. Скорость передачи зависит от §fсилы сигнала красной пыли§7: отсутствие сигнала означает "не заряжать", а полный сигнал - "заряжать на полной скорости".
oc:tooltip.CircuitBoard=Мы уже очень близки. Может быть вытравлена, чтобы получить печатную плату.
oc:tooltip.ControlUnit=Это штука, которая... контролирует... что-то. Она необходима, чтобы создать центральный процессор. Да, она очень важна.
oc:tooltip.CPU=Является важным компонентом в компьютере. Тактовая частота немного нестабильна, но что вы ожидали, когда он работает даже на карманных солнечных часах?
oc:tooltip.ControlUnit=Это штука, которая... контролирует... что-то. Она необходима, чтобы создать центральный процессор. Так что, да, она очень важна.
oc:tooltip.CPU=Является важным компонентом в компьютере. Тактовая частота немного нестабильна, но что вы ожидали, ведь он работает даже на карманных солнечных часах. Количество поддерживаемых компонентов: §f%s§7.
oc:tooltip.CuttingWire=Используется для нарезки глиняных блоков в пластины. Рвётся после использования, что делает её очень неэффективным инструментом.
oc:tooltip.Disk=Примитивный носитель, который может быть использован для создания постоянных запоминающих устройств.
oc:tooltip.DiskDrive.CC=§aПоддерживаются§7 дискеты из ComputerCraft.
oc:tooltip.DiskDrive=Позволяет читать и записывать дискеты.
oc:tooltip.GraphicsCard=Передаёт изображение на дисплей.[nl] Максимальное разрешение: §f%sx%s§7.[nl] Максимальная глубина цвета:§f%s§7.[nl] Операций/тик: §f%s§7.
oc:tooltip.InternetCard=Эта карта позволяет создавать HTTP-запросы и использует реальные TCP сокеты.
oc:tooltip.IronNugget=Самородок, созданный из железа. Может именно поэтому он и назван железным самородком, нет?
oc:tooltip.Keyboard=Может быть прикреплена к дисплеям, позволяя вводить информацию.
oc:tooltip.GraphicsCard=Передаёт изображение на дисплей.[nl] Максимальное разрешение: §f%sx%s§7.[nl] Максимальная глубина цвета:§f%s§7.[nl] Операций/такт: §f%s§7.
oc:tooltip.InternetCard=Эта карта позволяет создавать HTTP-запросы и использовать реальные TCP сокеты.
oc:tooltip.IronNugget=Самородок, созданный из железа. Может, именно поэтому он и назван железным самородком? Хм...
oc:tooltip.Keyboard=Присоединяется к дисплею, позволяя вводить информацию.
oc:tooltip.Hologram=Объемный дисплей, управляемый компьютером и использующийся для отображения произвольных воксельных структур.[nl] Разрешение: §f48x32x48§7. [nl] Глубина цвета: §fМонохромный§7.
oc:tooltip.Memory=Необходима для запуска компьютера. Чем больше ОЗУ, тем более требовательные программы вы можете запустить.
oc:tooltip.Microchip=Схема, ранее известная как интегральная. Понятия не имею, как она работает с красной пылью, но она работает.
oc:tooltip.NetworkCard=Позволяет соединить компьютеры, удалённые друг от друга, в сеть для отправки сообщений между ними.
oc:tooltip.PowerConverter.BC=§fBuildCraft MJ§7: §a%s:%s§7.
oc:tooltip.PowerConverter.IC2=§fIndustrialCraft² EU§7: §a%s:%s§7.
oc:tooltip.PowerConverter.TE=§fThermal Expansion RF§7: §a%s:%s§7.
oc:tooltip.PowerConverter.UE=§fUniversal Electricity Joules§7: §a%s:%s§7.
oc:tooltip.PowerConverter=Конвертирует энергию из других модов для питания компонентов.[nl] Соотношения энергии:
oc:tooltip.PowerDistributor=Передаёт энергию между различными сетями. Это полезно, чтобы запитать несколько сетей, которые должны оставаться раздельными друг от друга.
oc:tooltip.Microchip=Чим, ранее известный как интегральная схема. Понятия не имею, как она работает с красной пылью, но она работает.
oc:tooltip.NetworkCard=Позволяет соединить компьютеры, удалённые друг от друга, в сеть (к примеру, с помощью кабеля) для отправки сообщений между ними.
oc:tooltip.PowerConverter.BC=§fBuildCraft (МДж)§7: §a%s:%s§7.
oc:tooltip.PowerConverter.IC2=§fIndustrialCraft² (еЭ)§7: §a%s:%s§7.
oc:tooltip.PowerConverter.TE=§fThermal Expansion (RF)§7: §a%s:%s§7.
oc:tooltip.PowerConverter.UE=§fUniversal Electricity (Дж)§7: §a%s:%s§7.
oc:tooltip.PowerConverter=Конвертирует энергию из других модов для питания компонентов.[nl] Соотношение энергии:
oc:tooltip.PowerDistributor=Передаёт энергию между различными сетями. Это полезно, когда требуется запитать несколько сетей, которые должны быть разделены, от одного преобразователя.
oc:tooltip.PrintedCircuitBoard=Основа для плат, ОЗУ и прочего.
oc:tooltip.RawCircuitBoard=Может быть закалена в печи для получения печатной платы.
oc:tooltip.Redstone=Позволяет принимать и излучать сигналы красной пыли вокруг компонента. Контролируется любым подключенным компьютером.
oc:tooltip.Redstone=Позволяет принимать и излучать сигналы красной пыли вокруг компонента. Контролируется любым подключенным компьютером. Является внешним аналогом редстоун-платы.
oc:tooltip.RedstoneCard.RedLogic=§aПоддерживаются§7 провода из §fRedLogic§7.
oc:tooltip.RedstoneCard.RedNet=§aПоддерживается§7 провода из §fRedNet§7.
oc:tooltip.RedstoneCard.RedNet=§aПоддерживаются§7 провода из §fRedNet§7.
oc:tooltip.RedstoneCard=Позволяет принимать и излучать сигналы красной пыли вокруг компьютера или робота.
oc:tooltip.Robot=В отличие от компьютеров, роботы могут передвигаться и взаимодействовать с миром как игрок. Но они не могут §oвзаимодействовать§r§7 с остальными компонентами.
# The underscore makes sure this isn't hidden with the rest of the tooltip.
oc:tooltip.Robot_Level=§fОпыт робота§7: §a%s§7.
oc:tooltip.Robot=В отличие от компьютеров, роботы могут передвигаться и взаимодействовать с миром, как игрок. Но они §oне могут§r§7 взаимодействовать с остальными компонентами.
# Подчеркивание необходимо для выделения наиболее важной информации в подсказке.
oc:tooltip.Robot_Level=§fУровень робота§7: §a%s§7.
oc:tooltip.Robot_StoredEnergy=§fНакопленная энергия§7: §a%s§7.
oc:tooltip.Router=Позволяет соединять различные сети между собой. Передаются только сообщения, компоненты между сетями недоступны. Используйте его для разделения сетей с возможностью пересылать сообщения между ними.
oc:tooltip.Screen=Отображает текст, передаваемый видеокартой.[nl] Максимальное разрешение экрана: §f%sx%s§7.[nl] Максимальная глубина цвета: §f%s§7.
oc:tooltip.Server=Это сервер, который может быть улучшен компонентами, как системный блок. Может быть включен, будучи вставленным в стойку.[nl] Количество поддерживаемых терминалов: §f%s§7.
oc:tooltip.Screen=Отображает текст, передаваемый видеокартой.[nl] Максимальное разрешение: §f%sx%s§7.[nl] Максимальная глубина цвета: §f%s§7.
oc:tooltip.Server=Это сервер, который может быть улучшен компонентами, как системный блок. Включается размещением в стойку.[nl] Количество поддерживаемых терминалов: §f%s§7.
oc:tooltip.Server.Components=Установленные компоненты:
oc:tooltip.ServerRack=Обеспечивает работу до четырёх серверов. Предоставляет виртуальную клавиатуру и дисплей для подключения беспроводного терминала.
oc:tooltip.Terminal=Позволяет дистанционно управлять сервером, пока вы в радиусе его действия. Действует как портативный дисплей с клавиатурой.[nl] Shift+ПКМ на сервер в стойке для привязки терминала.
oc:tooltip.TooLong=Удерживайте Shift для расширенного описания.
oc:tooltip.ServerRack=Обеспечивает работу до четырёх серверов. Используйте беспроводной терминал для управления установленными серверами.
oc:tooltip.Terminal=Позволяет дистанционно управлять сервером, пока вы в радиусе его действия. Действует как портативный дисплей с клавиатурой.[nl] Shift+ПКМ по серверу в стойке для привязки к нему терминала.
oc:tooltip.TooLong=Удерживайте Shift, чтобы отобразить описание.
oc:tooltip.Transistor=Базовый элемент в других частях компьютера. Он немного деформирован, но отлично выполняет свою работу.
oc:tooltip.UpgradeCrafting=Позволяет роботам использовать верхнюю левую часть инвентаря для создания вещей. Вещи должны быть расположены в том порядке, что и в верстаке.
oc:tooltip.UpgradeGenerator=Позволяет роботам генерировать энергию из сжигаемого топлива прямо на ходу.[nl] §fЭффективность§7: §a%s%%§7
oc:tooltip.UpgradeNavigation=Позволяет определять положение и ориентацию робота. Положение определяется относительно центра карты.
oc:tooltip.UpgradeNavigation=Позволяет определять положение и ориентацию робота. Положение определяется относительно центра карты, использованной в крафте улучшения.
oc:tooltip.UpgradeSign=Позволяет читать и писать текст на табличках.
oc:tooltip.UpgradeSolarGenerator=Позволяет роботам генерировать энергию из солнечного света прямо на ходу. Требует линию прямой видимости неба над роботом. Генерирует энергию на скорости %s%% от топливного генератора.
oc:tooltip.WirelessNetworkCard=Позволяет передавать сетевые сообщения по беспроводному каналу. Не забудьте выставить §fсилу сигнала красной пыли§7, или сообщения отправлены не будут!
oc:tooltip.WirelessNetworkCard=Позволяет передавать сетевые сообщения по беспроводному каналу. Увеличение §fсилы сигнала§7 увеличивает и потребление энергии.
oc:tooltip.WirelessRouter=Работает как Коммутатор, но еще и с беспроводными сетями.

View File

@ -87,7 +87,7 @@ graphicsCard3 {
["", "oc:craftingCard", ""]]
}
internetCard {
input: [[web, "oc:circuitTier2", torchRedstoneActive]
input: [["oc:craftingInterweb", "oc:circuitTier2", torchRedstoneActive]
["", "oc:craftingCard", obsidian]]
}
redstoneCard {
@ -220,6 +220,12 @@ card {
[nuggetIron, nuggetGold, ""]]
}
interweb {
input: [[string, string, string]
[string, enderPearl, string]
[string, string, string]]
}
adapter {
input: [[ingotIron, "oc:craftingCable", ingotIron]
["oc:craftingCable", "oc:circuitTier1", "oc:craftingCable"]

View File

@ -89,7 +89,7 @@ graphicsCard3 {
["", "oc:craftingGPUTier2", ""]]
}
internetCard {
input: [[web, "oc:circuitTier3", torchRedstoneActive]
input: [["oc:craftingInterweb", "oc:circuitTier3", torchRedstoneActive]
["", "oc:componentCardWLan", obsidian]]
}
redstoneCard {
@ -227,6 +227,12 @@ card {
[nuggetIron, nuggetGold, nuggetGold]]
}
interweb {
input: [[string, enderPearl, string]
[enderPearl, string, enderPearl]
[string, enderPearl, string]]
}
adapter {
input: [[ingotIron, "oc:craftingCable", ingotIron]
["oc:craftingCable", "oc:circuitTier1", "oc:craftingCable"]

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 B

View File

@ -67,6 +67,8 @@ object Items {
var pcb: item.PrintedCircuitBoard = _
var card: item.CardBase = _
var interweb: item.Interweb = _
def init() {
multi = new item.Delegator()
@ -138,11 +140,14 @@ object Items {
server1 = Recipes.addItemDelegate(new item.Server(multi, 0), "server1")
server2 = Recipes.addItemDelegate(new item.Server(multi, 1), "server2")
//v1.2.3
// v1.2.3
lootDisk = new item.FloppyDisk(multi) {
showInItemList = false
}
// v1.2.6
interweb = Recipes.addItemDelegate(new item.Interweb(multi), "interweb")
// Initialize API.
api.Items.AbstractBusCard = abstractBus.createItemStack()
api.Items.Acid = acid.createItemStack()
@ -197,41 +202,53 @@ object Items {
registerExclusive("craftingPiston", new ItemStack(net.minecraft.init.Blocks.piston), new ItemStack(net.minecraft.init.Blocks.sticky_piston))
registerExclusive("nuggetGold", new ItemStack(net.minecraft.init.Items.gold_nugget))
registerExclusive("nuggetIron", ironNugget.createItemStack())
register("oc:craftingCircuitBoardRaw", rawCircuitBoard.createItemStack())
register("oc:craftingCircuitBoard", circuitBoard.createItemStack())
register("oc:craftingCircuitBoardPrinted", pcb.createItemStack())
register("oc:craftingCard", card.createItemStack())
register("oc:craftingWire", cuttingWire.createItemStack())
register("oc:circuitTier1", chip1.createItemStack())
register("oc:circuitTier2", chip2.createItemStack())
register("oc:circuitTier3", chip3.createItemStack())
register("oc:craftingTransistor", transistor.createItemStack())
register("oc:craftingCU", cu.createItemStack())
register("oc:craftingALU", alu.createItemStack())
register("oc:craftingCPUTier1", cpu0.createItemStack())
register("oc:craftingCPUTier2", cpu1.createItemStack())
register("oc:craftingCPUTier3", cpu2.createItemStack())
register("oc:componentCardRedstone", rs.createItemStack())
register("oc:componentCardLan", lan.createItemStack())
register("oc:componentCardWLan", wlan.createItemStack())
register("oc:craftingGPUTier1", gpu1.createItemStack())
register("oc:craftingGPUTier2", gpu2.createItemStack())
register("oc:craftingGPUTier3", gpu3.createItemStack())
register("oc:craftingRAMTier1", ram1.createItemStack())
register("oc:craftingRAMTier2", ram2.createItemStack())
register("oc:craftingRAMTier3", ram3.createItemStack())
register("oc:craftingRAMTier4", ram4.createItemStack())
register("oc:craftingRAMTier5", ram5.createItemStack())
register("oc:craftingHDDTier1", hdd1.createItemStack())
register("oc:craftingHDDTier2", hdd2.createItemStack())
register("oc:craftingHDDTier3", hdd3.createItemStack())
register("oc:craftingGPUTier1", gpu1.createItemStack())
register("oc:craftingGPUTier2", gpu2.createItemStack())
register("oc:craftingGPUTier3", gpu3.createItemStack())
register("oc:componentCardLan", lan.createItemStack())
register("oc:componentCardRedstone", rs.createItemStack())
register("oc:componentCardWLan", wlan.createItemStack())
register("oc:craftingGenerator", upgradeGenerator.createItemStack())
register("oc:craftingSolarGenerator", upgradeSolarGenerator.createItemStack())
register("oc:craftingWire", cuttingWire.createItemStack())
register("oc:craftingAcid", acid.createItemStack())
register("oc:craftingDisk", disk.createItemStack())
register("oc:craftingButtonGroup", buttonGroup.createItemStack())
register("oc:craftingArrowKey", arrowKeys.createItemStack())
register("oc:craftingNumPad", numPad.createItemStack())
register("oc:craftingDisk", disk.createItemStack())
register("oc:craftingAcid", acid.createItemStack())
register("oc:craftingGenerator", upgradeGenerator.createItemStack())
register("oc:craftingSolarGenerator", upgradeSolarGenerator.createItemStack())
register("oc:craftingTransistor", transistor.createItemStack())
register("oc:circuitTier1", chip1.createItemStack())
register("oc:circuitTier2", chip2.createItemStack())
register("oc:circuitTier3", chip3.createItemStack())
register("oc:craftingALU", alu.createItemStack())
register("oc:craftingCU", cu.createItemStack())
register("oc:craftingCPUTier1", cpu0.createItemStack())
register("oc:craftingCPUTier2", cpu1.createItemStack())
register("oc:craftingCPUTier3", cpu2.createItemStack())
register("oc:craftingCircuitBoardRaw", rawCircuitBoard.createItemStack())
register("oc:craftingCircuitBoard", circuitBoard.createItemStack())
register("oc:craftingCircuitBoardPrinted", pcb.createItemStack())
register("oc:craftingCard", card.createItemStack())
register("oc:craftingInterweb", interweb.createItemStack())
if (OreDictionary.getOres("nuggetIron").exists(ironNugget.createItemStack().isItemEqual)) {
Recipes.addItemDelegate(ironNugget, "nuggetIron")

View File

@ -3,6 +3,9 @@ package li.cil.oc.client
import li.cil.oc.common.tileentity._
import li.cil.oc.common.tileentity.traits.{Computer, TextBuffer}
import li.cil.oc.common.{CompressedPacketBuilder, PacketBuilder, PacketType, component}
import net.minecraft.client.audio.PositionedSoundRecord
import net.minecraft.client.Minecraft
import net.minecraft.util.ResourceLocation
import net.minecraftforge.common.util.ForgeDirection
object PacketSender {
@ -54,21 +57,28 @@ object PacketSender {
}
def sendClipboard(b: component.Buffer, value: String) {
if (value != null && !value.isEmpty && System.currentTimeMillis() > clipboardCooldown) {
clipboardCooldown = System.currentTimeMillis() + value.length
val pb = new CompressedPacketBuilder(PacketType.Clipboard)
b.owner match {
case t: TextBuffer if t.hasKeyboard =>
pb.writeTileEntity(t)
case t: component.Terminal =>
pb.writeTileEntity(t.rack)
pb.writeInt(t.number)
case _ => return
if (value != null && !value.isEmpty) {
if (System.currentTimeMillis() < clipboardCooldown) {
val player = Minecraft.getMinecraft.thePlayer
val handler = Minecraft.getMinecraft.getSoundHandler
handler.playSound(new PositionedSoundRecord(new ResourceLocation("note.harp"), 1, 1, player.posX.toFloat, player.posY.toFloat, player.posZ.toFloat))
}
pb.writeUTF(value.substring(0, math.min(value.length, 64 * 1024)))
else {
clipboardCooldown = System.currentTimeMillis() + value.length / 10
val pb = new CompressedPacketBuilder(PacketType.Clipboard)
pb.sendToServer()
b.owner match {
case t: TextBuffer if t.hasKeyboard =>
pb.writeTileEntity(t)
case t: component.Terminal =>
pb.writeTileEntity(t.rack)
pb.writeInt(t.number)
case _ => return
}
pb.writeUTF(value.substring(0, math.min(value.length, 64 * 1024)))
pb.sendToServer()
}
}
}

View File

@ -0,0 +1,23 @@
package li.cil.oc.common.item
import java.util
import li.cil.oc.Settings
import li.cil.oc.util.Tooltip
import net.minecraft.client.renderer.texture.IIconRegister
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.ItemStack
class Interweb(val parent: Delegator) extends Delegate {
val unlocalizedName = "Interweb"
override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
tooltip.addAll(Tooltip.get(unlocalizedName))
super.tooltipLines(stack, player, tooltip, advanced)
}
override def registerIcons(iconRegister: IIconRegister) {
super.registerIcons(iconRegister)
icon = iconRegister.registerIcon(Settings.resourceDomain + ":interweb")
}
}

View File

@ -67,7 +67,7 @@ trait BundledRedstoneAware extends RedstoneAware with IBundledEmitter with IBund
}
}
onRedstoneOutputChanged()
onRedstoneOutputChanged(side)
}
// ----------------------------------------------------------------------- //

View File

@ -48,13 +48,7 @@ trait RedstoneAware extends RotationAware with IConnectable with IRedstoneEmitte
def output(side: ForgeDirection, value: Int): Unit = if (value != output(side)) {
_output(toLocal(side).ordinal()) = value
val nx = x + side.offsetX
val ny = y + side.offsetY
val nz = z + side.offsetZ
world.notifyBlockOfNeighborChange(nx, ny, nz, block)
world.notifyBlocksOfNeighborChange(nx, ny, nz, world.getBlock(nx, ny, nz), side.getOpposite.ordinal)
onRedstoneOutputChanged()
onRedstoneOutputChanged(side)
}
def checkRedstoneInputChanged() {
@ -145,7 +139,13 @@ trait RedstoneAware extends RotationAware with IConnectable with IRedstoneEmitte
else world.markBlockForUpdate(x, y, z)
}
protected def onRedstoneOutputChanged() {
protected def onRedstoneOutputChanged(side: ForgeDirection) {
val nx = x + side.offsetX
val ny = y + side.offsetY
val nz = z + side.offsetZ
world.notifyBlockOfNeighborChange(nx, ny, nz, block)
world.notifyBlocksOfNeighborChange(nx, ny, nz, world.getBlock(nx, ny, nz), side.getOpposite.ordinal)
if (isServer) ServerPacketSender.sendRedstoneState(this)
else world.markBlockForUpdate(x, y, z)
}

View File

@ -26,6 +26,7 @@ object ItemCosts {
terminate(Blocks.stone)
terminate(Items.blaze_rod)
terminate(Items.bucket)
terminate(Items.clay_ball)
terminate(Items.coal)
terminate(Items.diamond)
for (i <- 0 to 15) terminate(Items.dye, i)