Майнкрафт и 1С

Публикация № 1481574 16.07.21

Задачи пользователя - Игры

minecraft майнкрафт игры игра внешняя компонента TCP клиент алгоритм программирование обучение

Создай свой мир через 1С.

Есть классная игра MINECRAFT. Думаю, что она не нуждается в представлении.

Так вот, строить вручную большие и/или однотипные объекты из блоков там достаточно долго. Для этого придумано много средств автоматизации.

Если вас пугают такие страшные слова, как Python, Java, C++, тогда welcome сюда!

Теперь можно управлять игрой прямо из встроенного языка программирования 1С:Предприятие.

В прикрепленных файлах находится внешняя обработка, которая является ключом к успеху инструментом для взаимодействия с миром Майнкрафта.

 

Но обо всем по порядку.

 

Что нам нужно:

1) Оригинальная игра Minecraft (купите лицензию!)

2) Модифицированный сервер игры (НЕ оригинальный), который поддерживает плагины. Я использую Spigot

3) Плагин RaspberryJuice для взаимодействия с игрой извне

4) Внешняя обработка из данной статьи, в которой содержится нативная внешняя компонента для передачи команд в игру.

5) Свободно распространяемый драйвер умелыеруки.sys

6) Немного времени, чтобы всё это настроить

 

Пристегнитесь и полетели...

Для упрощения создадим bat'ник для запуска игрового сервера примерно со следующим содержимым

%path_to_java% -Xmx2048M -Xms2048M -jar spigot-Х.Y.Z.jar nogui

%path_to_java% - это путь к рантайму виртуальной машины Ява (Джава, если вам так удобнее)

Много памяти для Java лишним не будет, но всё равно нужно понимать, для чего нужны параметры Xmx и Xms (у себя я ставлю 4096M или даже 8192M, если за раз необходимо возводить 1М+ блоков)

Заметьте, что с релиза игры 1.17 требуется версия Java 16+

скачать можно здесь , и желательно прописать путь к java в переменную PATH для удобства вызова (инсталлятор это умеет делать)

 

При первом запуске батника создадутся необходимые директории и файлы

в файле eula.txt нужно на всё согласиться:

eula=true

в файле server.properties нужно поменять для ... для... , ну вы поняли, о чём я )

online-mode=false

В папку plugins закидываем raspberryjuice-1.12.1.jar - он хоть и старый и уже не поддерживается, но работает даже с майнкрафтом версии 1.17.1

в файле plugins\RaspberryJuice\config.yml можно поменять номер порта, также можно изменить отсчет координат игрового мира на абсолютные (по умолчанию стоит от последнего места респауна)

 

Повторно запускаем игровой сервер, первоначальный запуск длится чуть дольше за счет генерации мира

Запускаем клиент игры, заходим в "Сетевая игра" и подключаемся к своему локальному или нелокальному серверу

Сразу можно изменить режим игры на Креатив для конкретного игрока (информация выходит за рамки данной статьи), чтобы можно было спокойно строить.

Далее открываем внешнюю обработку в конфигураторе и/или в режиме предприятия и наслаждаемся пробуем творить!

Обработка создана с использованием асинхронности (из новых возможностей платформы 8.3.18), поэтому в именах методов и свойств добавляется "Асинх". Для работы в более ранних версиях платформ просто уберите "Асинх" и избавьтесь от "ожиданий".

 

Внешняя компонента реализует следующие методы:

 
 Connect (Подключиться)
 
 Disconnect (Отключиться)
 
 GetBlock (ПолучитьБлок)
 
 GetBlockWithData (ПолучитьБлокСДанными)
 
 SetBlock (УстановитьБлок)
 
 SetBlocks (УстановитьНесколькоБлоков)
 
 GetPlayerIDs (ПолучитьИдентификаторыИгроков)
 
 WorldSetting (НастройкаМира)
 
 SaveCheckpoint (СохранитьКонтрольнуюТочку)
 
 RestoreCheckpoint (ВосстановитьКонтрольнуюТочку)
 
 PostToChat (ОтправитьВЧат)
 
 GetTile (ПолучитьПозициюБлока)
 
 SetTile (УстановитьПозициюБлока)
 
 GetPos (ПолучитьПозицию) 
 
 SetPos (УстановитьПозицию)
 
 GetDirection (ПолучитьНаправление)
 
 SetDirection (УстановитьНаправление)
 
 GetRotation (ПолучитьВращение)
 
 SetRotation (УстановитьВращение)
 
 GetPitch (ПолучитьНаклон)
 
 SetPitch (УстановитьНаклон)
 
 PlayerSetting (НастройкаИгрока)

и свойства:

 
 Version (Версия)

 

Вот таким простым кодом:

Координаты = Компонента.ПолучитьПозициюБлока();
мнКоорд = СтрРазделить(Координаты, ",", Ложь);

РазмерОснования = 100;
РасстояниеОтМеня = 10;
БлокИД = 24; // песчанник

х = Число(мнКоорд[0]);
у = Число(мнКоорд[1]);
з = Число(мнКоорд[2])-РазмерОснования-РасстояниеОтМеня;

Для аппликата = 0 По РазмерОснования Цикл
	Для абсцисса = -(РазмерОснования-аппликата) По (РазмерОснования-аппликата) Цикл
		Для ордината = -(РазмерОснования-аппликата) По (РазмерОснования-аппликата) Цикл
			Компонента.УстановитьБлок(х+абсцисса, у+аппликата, з+ордината, БлокИД);
		КонецЦикла;
	КонецЦикла;
КонецЦикла;

За считанные секунды можно построить пирамиду Хеопса 1с-ника (в ней всего-то 1'373'701 блоков):

Пирамида из песчанника

 

Можно в 1 клик создать говорящие аналоговые часы, в которых стрелки двигаются и отображают системное время.

Идущие часы

 

Хотите еще больше приключений в Minecraft - попробуйте пройти собственный лабиринт любого произвольного размера:

 

Также есть функция очистки участка. Можете подготовить территорию к застройке или посмотреть, как выглядит шахта лифта мир игры в разрезе:

 

Можно запрограммировать всё, что вам захочется в мире Minecraft

 

Протестировано на платформе 8.3.19.1229.

 

Выражаю благодарность Infactum за хороший шаблон внешней компоненты!

 

 
 История изменений:

 

P.S. Готов принять конструктивную критику, пожелания, дополнения по улучшению данного продукта. Если нужно добавить поддержку Linux, пишите в комментах.

Скачать файлы

Наименование Файл Версия Размер
Тест внешней компоненты (MineCraftAddIn) [win x86 & x64]

.epf 91,86Kb
1
.epf 1.2 91,86Kb 1 Скачать

Специальные предложения

Оставьте свое сообщение

См. также

Игра "Инвестор"

Игры Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

12.10.2022    1269    2    sondarium    3    

5

Ханойская башня

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Рекурсивное решение головоломки "ханойская башня" с визуализацией в 1С.

1 стартмани

04.01.2022    2790    0    user1670657    0    

5

RoboZZle для управляемых форм

Игры Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

RoboZZle - игра для программистов, для тех, кто хочет стать таковым и просто для людей, любящих подумать. Эта игра позволяет начать мыслить алгоритмически, просчитывать шаги наперед и научиться таким основам программирования, как рекурсия, циклы, условия, стек вызовов и т.д.

2 стартмани

22.12.2021    2900    2    Caliban    4    

5

Игра про крипового колобка из 80-х

Игры Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Аркадный платформер в виде внешней обработки для 1С:Предприятие 8. Помоги колобку добраться до крыши общаги!

1 стартмани

16.12.2021    2767    1    sa1m0nn    1    

5

Игра "Тетрис"

Игры Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Россия Абонемент ($m)

Классическая игра в тетрис.

1 стартмани

12.08.2021    3964    3    van010190    0    

6

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Игра "Жизнь". Вариации на тему

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Игра "Жизнь" Джона Конуэя (Conway's Game of Life). Очередная реализация с нестандартными "фишечками".

1 стартмани

11.08.2021    3793    1    tired_coder    2    

3

"Уголки" на 1С

Игры Платформа 1С v8.3 Узбекистан Абонемент ($m)

Игра "Уголки" на 1С - ностальгия детства !!!

1 стартмани

09.06.2021    6819    6    royaljon    5    

19

Игра "Змейка" на управляемых формах (клиент)

Игры Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Пишем игру с динамическим обновлением игрового поля и управлением с клавиатуры на управляемых формах, отправляем на github.

1 стартмани

07.06.2021    5348    3    alexey_kurdyukov    0    

7

Самые красивые шахматы для 1С на управляемых формах

Игры Платформа 1С v8.3 8.3.14 Россия Абонемент ($m)

Здравствуйте, представляем Вашему вниманию классическую игру – Шахматы! Написана игра средствами 1С, на управляемых формах. Программный код представляет собой с аккуратностью составленную систему, содержащую лаконичные логические приемы и описательные имена переменных, объектов и функций. Программа полностью отлажена и многократно протестирована. Оригинальный авторский дизайн фигур, иконок и кнопок приятен глазу. Игра содержит большое количество функций, настроек и режимов игры, включая сетевую игру, тренировку с ботом или игру на двоих. Не упустите возможность найти ряд технических решений, применимых для реализации различных задач, а также поиграть в вечную игру с отличным оформлением! Желающие научиться программировать на управляемых формах могут многое почерпнуть в этой конфигурации.

5 стартмани

18.02.2021    9507    20    compmir    32    

64

Прототип игры Морской бой

Игры Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Решенное тестовое задание при приеме на работу в крупный франч. Всё сделано строго по ТЗ. Обработка включена в конфигурацию, и может запускаться как внутри, так и как внешняя. Для правильной работы потребуется опубликовать веб-сервис. Использованы механизмы веб-сервисов, XDTO, запросов, управляемых форм.

1 стартмани

28.12.2020    5620    1    Sungang    0    

5

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Игра 2048

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Игра "2048" - это головоломка, созданная по принципу соединения плиток, целью которой является число 2048.

10 стартмани

27.11.2020    5107    0    shtirlicotto    1    

3

Шар предсказаний: помощник в принятии важных решений

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Представляю вашему внимаю внешнюю обработку, с помощью которой вы сможете получить точный ответ на интересующий вас вопрос! Он всегда подскажет, как поступить в той, или иной ситуации.

10 стартмани

27.11.2020    4777    0    shtirlicotto    3    

3

Сапер на управляемых формах

Игры Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Обнаружил, что на компе нет стандартных игр, включая сапера. Написал свою версию.

1 стартмани

23.09.2020    6281    1    VitSim    5    

6

1С Безумный Кликер

Игры Управляемые формы Конфигурации 1cv8 Абонемент ($m)

На сегодняшний день все думают о работе и деньгах, но забывают про отдых и развлечения. Я предлагаю отвлечься.

1 стартмани

11.09.2020    5295    4    EZSuleyman    5    

4

Морской бой в 1С (обычные и управляемые формы)

Игры Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Классическая популярная игра "Морской бой" для 1С (обычные и управляемые формы)

1 стартмани

15.06.2020    5836    9    Denr83    0    

16

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Дерзкий бот (бот-тролль)

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Если вам хочется поговорить, то вы всегда сможете поговорить с данным ботом.

1 стартмани

23.04.2020    7137    0    ranis888    2    

2

Гороскоп (виджет) для поднятия настроения на карантине (расширение конфигурации)

Игры Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

'Первые шаги', работа с расширением конфигурации, картинками, запросами к базе, запросами к RSS, сохранением настроек, импортом экспортом и т.д. - все на стандартном функционале 1С.

1 стартмани

24.03.2020    9251    1    ef1    12    

15

Игра шашки

Игры Платформа 1С v8.3 Абонемент ($m)

Игра "Шашки" на управляемых формах. Все замечания и пожелания приветствуются!

1 стартмани

21.10.2019    8165    3    Robertik    3    

7

Выбор шкатулки. Проверка задачи по теории вероятностей

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Одна из любопытных задач по теории вероятностей. Любая конфигурация (в том числе пустая) на обычных формах. Платформа 8.3.

1 стартмани

25.07.2018    9127    0    boba13    3    

3

Вероятность выпадения нуля или единицы

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для расчетв вероятности выпадения нуля или единицы

1 стартмани

24.03.2017    13854    0    NECHISTb    5    

3

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

В курсе обобщен опыт работы аналитика на проектах в течение пяти лет, в нескольких фирмах. Подходы к написанию документов унифицированы и по возможности не привязаны к конфигурациям 1С.

3 500 рублей

Автолегенды

Игры Платформа 1С v8.3 Домашние учет и финансы Абонемент ($m)

Для коллекционеров серии журналов Автолегенды СССР. Небольшая база 1С по автомоделям из выпусков журнала. Имеются более 50 записей. Создана в 1С 8.3, но в режиме совместимости с 1С 8.2.13

1 стартмани

13.02.2017    13780    3    mack198109    1    

2

Конфигурация по мотивам игры "Гастроном"

Игры Платформа 1С v8.3 Абонемент ($m)

Поиск слов из букв слова "ГАСТРОНОМ" и не только

1 стартмани

09.02.2016    15066    0    Fox-trot    0    

2

Процедурный генератор подземелий, лабиринтов, пещер и островов (для игр)

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Внешняя обработка для процедурной генерации подземелий, лабиринтов, пещер и островов (управляемые и обычные формы)

1 стартмани

25.12.2015    21965    10    Caliban    7    

17

Симулятор 1С-ника

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Цель игры - дорасти до самых высот, начиная с простого фрилансера.

1 стартмани

27.02.2015    15170    74    Serovkir    36    

27

Виртуальная битва

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Если у Вас есть желание попрактиковаться в создании AI и проверить его в действии, представляем "движок" для проведения виртуальных битв!

1 стартмани

03.06.2014    17570    31    Lars Ulrich    21    

35

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

Решатель для игры Wordament

Игры Платформа 1С v8.3 Абонемент ($m)

Иногда хочется напрограммировать что-нибудь этакое интересное и не относящееся у бухгалтерско-управленческому учету себестоимостей, НДС-ов и других страшных вещей. Программа для читинга онлайн игры подходит под этот случай как нельзя лучше.

1 стартмани

10.12.2013    21125    5    Ks_83    6    

7

Ход конём

Игры Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В конкурсе "Вопрос-Решение" была задана задача": "Найти минимальные ходы и их количество между двумя конями на шаххматной доске". Вот моё решение.

1 стартмани

04.04.2013    18443    8    Шёпот теней    10    

7

Шахматы с использованием java_script

Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Простые шахматы с использование javascript

1 стартмани

28.09.2012    10399    36    Операция1Ы    9    

7

Крестики-нолики

WEB-интеграция Игры Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Всем нам известная игра крестики-нолики

1 стартмани

11.05.2010    8587    155    Scaner    2    

8