Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 30.05.2020 в Записи блога

  1. 1 балл
    Итак когда я захотел писать нормальные gui'шные программы я не знал как рисовать в ОС. Я искал мануалы но 'тупил'. Мне приходилось перелопачивать много информации чтобы понять как рисовать. Вскоре конечно я понял, но потратил много времени. Статья посвещается всем тем, кто так как и я не когда-то не может понять gpu api. Итак для начала нужно подключить нашего 'монстра' gpu api. Для этого надо ввести такие строчки вначале кода: local component = require("component") -- Подключаем API компонентовlocal gpu = component.gpu -- Подключаем GPU APi. После этого у нас загрузится наш 'монстр'. Итак программа наша программа ничего не делает. Хорошее начало. Теперь нарисуем первый пиксель! Для этого надо установить фон, таким какой нам цвет нужен, затем заполнить один пиксель пустым символом " ". Код будет выглядеть так: gpu.setBackground(ВАШ ЦВЕТ В 16 битном ФОРМАТЕ) --Например 0x00ff00gpu.set(X,Y,' ') -- X и Y это позиция вашего пикселя. Учтите что на компьютерах исчисление начинается не с середины, а с верхнего левого угла. Для удобства напишем функцию: function drawPixel(x,y,color) -- Начало функцииgpu.setBackground(color) -- Установка цвета gpu.set(x,y," ") -- Создание пикселяend -- Конец функции Теперь чтобы нарисовать один пиксель нужно будет просто ввести drawPixel(x,y,color). Учтите что нельзя писать там просто букву (x или y) если у вас нет переменной с таким названием. Если переменной нет, то пишите число. Также вы можете указать какой нибудь текст там где у нас ' '. Тем самым вы получите текст на цветном фоне. . Я думаю на сегодня все. Пока
  2. 1 балл
    Из чего состоит любой завод в Minecraft? Из блоков! Поэтому их надо сделать. Для удобства сборки я создал .bat скрипт, выполняющий gradlew clean, gradlew build и копирующий мод в папку. Теперь можно поменять что-то в коде (или в другом файле), запустить скрипт и через полминуты уже включать Minecraft, чтобы проверить, всё ли заработало. В поисках документации, как правильно добавить блок и откуда импортировать пакеты, пришлось перерыть полинтернета. В результате лучшим источником оказались исходники других модов, вроде Forestry или Glassential (первый попавшийся мне под руку мод, добавляющий блоки). Кроме того, я обнаружил странную вещь: все моды используют импорт CreativeTabs, но мой мод с ним отказывается компилироваться, говоря про отсутствие пакета net.minecraft.creativetab. Ещё хуже с документацией, как заставить мод реагировать на события. Стандартная шина данных Forge (MinecraftForge.EVENT_BUS) не сработала ни для одного события, которое мне нужно. Пробовал установить Eclipse для удобства разработки, но он не распознал декомпилированный Minecraft и подсветил все мои импорты красным. Когда я открыл вкладку с задачами Gradle, среда зависла. Тогда я стал работать в Notepad++. Итоговый вариант, который у меня заработал и стал правильно добавлять блок (файл TestMod.java необходимо переименовать в OCTechnics.java): Файл org/octechnics/octechnics/common/blocks/BasicFactoryBlock.java: В папке resources: assets/octechnics/blockstates/basic_factory_block.json: assets/octechnics/lang/en_us.json: assets/octechnics/models/block/basic_factory_block.json: assets/octechnics/models/item/basic_factory_block.json: Текстуру блока я положил по адресу assets/octechnics/textures/block/factory_base.png. Следующий этап, который будет описан в отдельной статье - возврат на версию 1.7.10, где есть необходимые моды - IC2 и OpenComputers.
  3. 1 балл
    Благодаря посту «Путь от нуля до разработчика OpenComputers» я вспомнил, что сам тоже хотел сделать моды для Minecraft. Два раза я пытался установить всё необходимое, два раза Gradle ругался на отсутствие JDK. Почему бы не попробовать ещё раз? К тому же, нашлась замечательная ссылка на документацию Forge: https://mcforge.readthedocs.io/en/latest/gettingstarted/ (спасибо @Totoro). Итак, я раскопал на диске Gradle от 1.14 версии Minecraft и выполнил новую для себя команду gradlew genEclipseRuns . Жду… нет, ничего не завершается с ошибкой, Minecraft спокойно декомпилируется, и наконец появляется надпись «BUILD SUCCESSFUL». До такого этапа я раньше не доходил, поэтому решил выбрать, какую из своих идей реализовать. Мне понравилась идея заводика, интегрированного с OpenComputers. Заводик импортирует в себя руду, перерабатывает (с помощью верстаков, печек, дробилок) и экспортирует готовый продукт. При этом каждую команду даёт компьютер из OpenComputers. Как и положено по документации, я написал в файл TestMod.java: В файл mcmod.info (прямо внутри папки src/main/resources): Пишу gradlew build. Мод собирается. Закидываю его к другим модам, запускаю Minecraft 1.14. Запуск происходит очень спокойно, никакого мода по имени OCTechnics в списке не появилось. Что делать? Правильно, искать другие моды под ту же версию (не важно, исходники или скомпилированные моды, главное, чтобы работали). Смотреть, где там лежат файлы и делать такие же файлы у себя. Нашёлся некий файл pack.mcmeta. Пишем туда (спасибо IronChests): Кроме того, нужен ещё файл mods.toml: На этом этапе я безуспешно пытался понять, какие ссылки (для проверки обновлений мода) сюда надо подключить. В конце концов просто удалил их все. Тогда в логах пропала ошибка MalformedURL, и мод стал опознаваться. Итоговая схема расположения файлов: src - main - java - org - octechnics - octechnics - TestMod.java - resources - assets - octechnics - lang - en_us.json (пустой) - META-INF - mods.toml - mcmod.info - pack.mcmeta В следующей записи - создание базового блока для завода.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...