Карта и территории
Различные гайды и руководства касающиеся карты
Настройка интерактивной карты на примере GMGame
В данном кратком руководстве пойдет речь о настройке и возможностях Overviewer.
В данном руководстве речь идет о настройке карты. У вас уже должен быть установлен или скомпилирован Overviewer и вы в состоянии запустить хотябы базовый рендер карты.
Начинаем готовить конфиг, берем текстовый редактор, называем файл config.py и вперед
1. Указываем директорию, где расположен файлы с миром майнкрафта и добавляем в словарь worlds
worlds['GMGameWorld'] = "/media/disk1/maps/worlds/gmgame/gmgame"
2. Настриваем освещение и высоту
smooth_lighting = [Base(), Depth(min=-64, max=256), EdgeLines(), SmoothLighting(color=True)]
- в Depth нужно указать высоту до которой будет рендериться карта, если указать например max=10, то выше 10 по Y карта не будет отображаться
- SmoothLighting применяет мягкое освещение, можно заменить на Lighting, будет менее красиво, но меньше места будет занимать на диске. color, одна из опций для освещения, думаю данный параметр говорит сам за себя - учитывает цвет света
- Base, это основной режим для рендера блоков. А EdgeLines рисует линии на границах блоков, что бы они отличались от фона
3. Подготовим простую функцию фильтрации. Тут ничего сложного, сюда Overviewer будет передавать словарь меток, а функция вернет нужную нам строку:
def townFilter(poi):
if poi['id']=='Города':
poi['icon']='customwebassets/markers/города.png'
try:
return (poi['name'], poi['description'])
except KeyError:
return poi['name']
4. Теперь настраиваем наш первый рендер и добавляем с уникальным ключем в словарь renders следующие настройки
renders["over"] = {
'world': 'GMGameWorld',
'title': 'День',
'rendermode': smooth_lighting,
'dimension': 'overworld',
'manualpois': [{'id':'Города', 'x':-555, 'y':64, 'z':422, 'name':'Pink Squad', 'description':''}],
'markers': [
dict(name='Города',filterFunction=townFilter, icon='customwebassets/markers/города.png', showIconInLegend=True)
],
'defaultzoom': 7,
"crop": (-12500, -12500, 12500, 12500),
"imgformat": "webp"
}
Немного пояснений
- world - название карты на странице
- title - название режима
- rendermode - наше настроенный рендер с освещением
- manualpois - массив словарей с метками
- markers - название метки, иконка метки. filterFunction - функция фильтрации
- defaultzoom - приближение по умолчанию
- crop - указываем до каких размеров рендерить карту
- imgformat - формат картинок. webp рекомендуется для наилучшего качества и размера изображений
Таких настроек достаточно для отображения простой карты, добавляем outputdir и texturepath, после чего запускаем Overviewer с получившемся конфигом.
Поскольку конфиг написан на питон, как и Overviewer, то дальше это все можно автоматизировать и кастомизировать. Например у нас метки создаются отдельно и импортируются как модули в конфиг. Подробнее об этом тут
Еще немного полезностей:
- Для энда в настройках света стоит указать силу света - strength=0.5, иначе в энде будет темно, так как там нет освещения как такового
- Для незера в настройка рендера добавить Nether(), что уберет крышу, иначе не будет ничего видно
- renders можно сделать оверлеем для другого рендера, добавив 'overlay': ['название_основного_рендера'].
Например у нас есть рендер созданный на 4 шаге, можно добавить еще один ренде - renders["over_overlay"] c такими же настройками, как у renders["over"], только переопределив rendermode на smooth_lighting_overlay, в котором будет высота с 256 до 320.
После этого, на карте появится кнопка, по нажатию на которую, на нашу карту наложится все что находиться на высоте с 256 до 320.
Так сделана крыша незера у нас
- Для поворота карты, нужно создать 4 одинаковых рендера и в настройках каждого добавить northdirection равный upper-left, upper-right, lower-left или lower-right
Надеюсь материал был полезен или интересен. Помочь проекту можно тут
Как добавить территорию на карту?
На онлайн-карте есть режим с территориями игроков, которые поделены на три вида:
- Активные территории
- Территории на рассмотрении
- Доступные территории
Активные территории — это территории игроков, которые находятся в вайтлисте. Это не приваты, а именно просто обозначение, что территория занята.
Территории на рассмотрении — это территории игроков, которые ранее играли на сервере, но с потерей активности были исключены из вайтлиста. Эти территории не могут быть заняты другими игроками, пока администрация не примет решение о их судьбе.
Доступные территории — это также территории игроков, которые ранее играли на сервере, но были исключены из вайтлиста. Эти территории доступны любому желающему игроку.
Игрок без территории, но желающий получить ее, имеет два варианта:
- Занять территорию из списка доступных. Территория передается как есть, со всеми постройками, если они там есть. Для этого нужно обратиться в тикет и заявить желание занять территорию.
- Создать новую территорию на карте.
Инструкция по созданию новой территории
Территории добавляются с сайта, в личном кабинете “Мои территории”.
- В разделе “Мои территории” нужно нажать кнопку со знаком плюс.
- Заполнить название и координаты.
Нужно заполнить координаты начальной точки StartX и StartZ и конечной точки StopX и StopZ, как показано в примерах на скриншотах ниже.
Также стоит учитывать, что из-за проекции, получившаяся территория имеет погрешность примерно в 50 блоков, учитывайте это.
- Сохранить территорию.
После этого ваша территория должна появиться на карте в активных территориях.
Дополнительная информация и ограничения
- Одна территория может быть занята несколькими игроками, если они играют вместе, но добавить ее должен кто-то один. Никнеймы остальных игроков могут быть отражены в названии территории.
- Максимальный размер территории без согласования может быть 500х500 блоков. Если вы хотите создать большую территорию, вам нужно получить разрешение от администрации обратившись в тикет.
- От существующих территорий нужно отступать 250 блоков, чтобы не нарушать чужой пространство и не мешать другим игрокам.