Лучшие модовые сервера Minecraft

Технологии, Магия, Эволюция, Покемоны
и многие другие режимы уже ждут вас!

Начать играть
Гайды

[Гайд] Обменник руды для варпа V2 l HiTechCraft 1.7.10

Автор: VishelPokurit · Обновлён:


Не так давно у нас запостили обменник руды для варпа через PIM

Но как-то не сошлись мы с этим обменником. На интерфейсе лишние предупреждения висят постоянно, сам интерфес странный, да и слитки часто не верно показывает. Поэтому решил пойти к истокам данного обменника, да и заодно приглядел фитчу. А теперь делюсь с Вами😉


 К списку изменений:

Скрытый текст

Больше нет вечных сомнительных уведомлений

Интуитивно понятный интерфейс

Верное отображение кол-ва ресурса в системе

Ну и также это отображение кол-ва теперь отформатировано

Добавлена возможность выставления обмена через инвентарь. Подсмотрено у @serafim7🤩


 По установке отличий не имеется. Все также идет кабель от ПК в адаптер. Он же в свою очередь подключен к МЭ интерфейсу. А над интерфейсом стоит PIM который через МФУ подключен к нижнему адаптеру

Скрытый текст

UCfMoT7.png

 


 Так вот о фитче! Есть 2 способа настроки. 1) Всеми привычный через исполняемый файл. В целом все самое важное прописано:

Скрытый текст
local ore_dict = {
    {
        take = { label = "Алмазная руда", name = "minecraft:diamond_ore", damage = 0.0, amount = 1 },
        give = { label = "Алмаз", name = "minecraft:diamond", damage = 0.0, amount = 2 }
    },
    {
        take = { label = "Железная руда", name = "minecraft:iron_ore", damage = 0.0, amount = 3 },
        give = { label = "Железный слиток", name = "minecraft:iron_ingot", damage = 0.0, amount = 7 }
    },
    {
        take = { label = "Золотая руда", name = "minecraft:gold_ore", damage = 0.0, amount = 3 },
        give = { label = "Золотой слиток", name = "minecraft:gold_ingot", damage = 0.0, amount = 7 }
    },
    {
        take = { label = "Лазуритовая руда", name = "minecraft:lapis_ore", damage = 0.0, amount = 1 },
        give = { label = "Лазурит", name = "minecraft:dye", damage = 4.0, amount = 9 }
    },
    {
        take = { label = "Красная руда", name = "minecraft:redstone_ore", damage = 0.0, amount = 1 },
        give = { label = "Блок красного камня", name = "minecraft:redstone_block", damage = 0.0, amount = 1 }
    },
    {
        take = { label = "Руда истинного кварца", name = "appliedenergistics2:tile.OreQuartz", damage = 0.0, amount = 1 },
        give = { label = "Кристалл ист. кварца", name = "appliedenergistics2:item.ItemMultiMaterial", damage = 0.0, amount = 3 }
    },
    {
        take = { label = "Заряж. руда ист. квар", name = "appliedenergistics2:tile.OreQuartzCharged", damage = 0.0, amount = 1 },
        give = { label = "Заряж. крист. кварца", name = "appliedenergistics2:item.ItemMultiMaterial", damage = 1.0, amount = 3 }
    },
    {
        take = { label = "Кварцевая руда", name = "minecraft:quartz_ore", damage = 0.0, amount = 1 },
        give = { label = "Кварц", name = "minecraft:quartz", damage = 0.0, amount = 4 }
    },
    {
        take = { label = "Медная руда", name = "IC2:blockOreCopper", damage = 0.0, amount = 3 },
        give = { label = "Медный слиток", name = "IC2:itemIngot", damage = 0.0, amount = 7 }
    },
    {
        take = { label = "Оловянная руда", name = "IC2:blockOreTin", damage = 0.0, amount = 3 },
        give = { label = "Оловянный слиток", name = "IC2:itemIngot", damage = 1.0, amount = 7 }
    },
    {
        take = { label = "Серебряная руда", name = "ThermalFoundation:Ore", damage = 2.0, amount = 3 },
        give = { label = "Серебрянный слиток", name = "IC2:itemIngot", damage = 6.0, amount = 7 }
    },
    {
        take = { label = "Платиновая руда", name = "ThermalFoundation:Ore", damage = 5.0, amount = 1 },
        give = { label = "Измельчённая платина", name = "ThermalFoundation:material", damage = 37.0, amount = 2 }
    },
    {
        take = { label = "Никелевая руда", name = "ThermalFoundation:Ore", damage = 4.0, amount = 1 },
        give = { label = "Измельчённый никель", name = "ThermalFoundation:material", damage = 36.0, amount = 2 }
    },
    {
        take = { label = "Дракониевая руда", name = "DraconicEvolution:draconiumOre", damage = 0.0, amount = 1 },
        give = { label = "Дракониевая пыль", name = "DraconicEvolution:draconiumDust", damage = 0.0, amount = 2 }
    }
}

 

И для ленивых мазохистов. Через выставление ресурсов в инвентаре. У этого способа есть большой минус, так как не придумал как сделать адекватную и читабельную сериализацию. Но подскажу далее кайфовый лайфхак!


 Код для загрузки через интернет карту - pastebin get h8EqDfdv exchanger.lua

Приступим:

Скрытый текст

0YMfy7h.png

Запоминаем вид этой таблицы. В целом - ничего сложного нет. Идем от левой грани инвентаря вправо. Первым выставляем руду, а справа - выдаваемый ресурс. Также сразу можно настраивать кол-во

Подходим к компу и открываем монитор, следом нажимаем на авторов

Важное замечание! Не забывайте прописывать юзер контроль! Через useradd никнейм - для добавления и userdel никнейм - для удаления

Ну и конечно же, так как мы прописаны в этом... кхм. Своем компьютере - эта "кнопка" для нас кликабельна!

Компьютер подает звуковой сигнал, что через 5 секунд начнет сканировать и запоминать обмен. За это время Вы должны успеть встать на PIM. Если не успели - ничего страшного. Он подаст два коротких пищания о том, что вас на PIM'е не увидел. Нужно будет просто подождать 10 секунд и повторить нажатие

Если вы уже стоите - совсем скоро он подаст длинный сигнал о начале сканирования и запоминания обмена. Завершается оно достаточно быстро, поэтому следом за ним вы услышите работающий жесткий диск и короткий сигнал

После этого табло обновится и у вас будет 10 секунд сойти с PIM'а чтобы он не обменял руду.

Помимо этого он создаст в домашней директории файл с настройкой этого обмена. Файл называется exchanger_ores.txt

Если вы хотите перестать использовать обмен через настройку инвентаря - достаточно выполнить команду rm exchanger_ores.txt в домашней директории

Но вот ведь незадача, все записано на английском. А если открыть файл - это одна длинная строка

Есть выход! Достаточно зайти в одиночку и произвести все эти манипуляции там! А потом зайти в проводник комьютера на котором ты сейчас это читаешь и перейти по пути %AppData%\MCSkill\updates\Industrial_1.7.10\saves\Название_Мира\opencomputers

В этой папке будут другие папки со странными названиями. Это адреса жестких дисков. Нужно лишь найти свой необходимый и перейти в нем в папку home. Там будет более удобный код так еще и на русском! Достаточно будет лишь перенести все это через колесико мышки в файл уже на нашем игровом сервере!

Визуализация работы записи из инвентаря - https://youtu.be/YoQVaSJRicc


 Вуаля!

Скрытый текст

Это все мы что ли сделали?

QuqiGbi.png


 Буду рад услышать идеи с адекватной работающей сериализацией🤩

А также, пользуясь случаем, если вдруг администрация это читает - вайпните нам на Эларе копалку пожалуйста, от нее почти ничего не осталось😇

Похожие гайды