Помогите Информация о блоке

  • Автор темы Автор темы Azymok
  • Дата начала Дата начала

Azymok

Активный участник
Пользователь
Баллы
46
Имя в Minecraft
Azymok
Добрый день - интересует такой вопрос - можно ли вывести "создателя блока" в чат при попытке сломать блок
 
Добрый день - интересует такой вопрос - можно ли вывести "создателя блока" в чат при попытке сломать блок
в ведре нет этого => надо заводить базу данных и сохранять туда человека и координаты когда он поставил блок.

Потом когда блок сломают чекать его в бд и выводить если нашел игрока.

после поломки не забываем удалить блок из бд

Только при хорошем онлайне база данных будет дико жрать место на жестянке
 
если тебе не не обязательно хранить эти данные все время, можешь использовать хешмеп. Про утечку памяти молчу
 
в ведре нет этого => надо заводить базу данных и сохранять туда человека и координаты когда он поставил блок.

Потом когда блок сломают чекать его в бд и выводить если нашел игрока.

после поломки не забываем удалить блок из бд

Только при хорошем онлайне база данных будет дико жрать место на жестянке
жаль ( - нужно чтобы игрок не мог ломать блоки,которые были сгенерированны сервером
 
Ну это в каких смотря в каких целях ты хотел использовать.
нужно чтобы игрок не мог ломать блоки,которые были сгенерированны сервером
На счёт этого не знаю, но если бы ты хотел просто найти грифера, то установи плагин CoreProtect.
После установки, все логи ломания блоков будут сохраняться. Найти команды - загугли.
 
Ну это в каких смотря в каких целях ты хотел использовать.

На счёт этого не знаю, но если бы ты хотел просто найти грифера, то установи плагин CoreProtect.
После установки, все логи ломания блоков будут сохраняться. Найти команды - загугли.
Про утечку памяти молчу
 
Понял смутно, но скорее всего неправильно. Памяти CoreProtect занимает мало. Про ram - не знаю.
 
Причем тут CoreProtect?мне просто нужно чтобы игроки не могли ломать блоки , которые появились при генерации карты - только свои и чужие - но не те что сервером заспавнены
 
Причем тут CoreProtect?мне просто нужно чтобы игроки не могли ломать блоки , которые появились при генерации карты - только свои и чужие - но не те что сервером заспавнены
Заносить все поставленные блоки игроками в лист, и проверять при ломании, другого варианта нет, но будет грузить сервер. Ах, да, при релоаде все очистится.
 
Заносить все поставленные блоки игроками в лист, и проверять при ломании, другого варианта нет, но будет грузить сервер. Ах, да, при релоаде все очистится.
а сохранять уже не судьба?
 
Лучше не заносить изменённые координаты в список, как предлагают выше, а хранить для каждого чанка свой BitSet, в котором, например, значение false будет означать, что блок не сгенерирован, т.е. его можно ломать.
Достаточно будет при первой загрузке чанка поставить true на все координаты, в которых не воздух (и не забыть сохранить это куда-нибудь), а потом просто отменять разрушение блока, если на координатах стоит true.

Плюсы:
  1. Высокая производительность.
  2. BitSet'ы весят очень мало (на один чанк уйдёт около 8 килобайт).
Минусы:
  1. Нужно конвертировать координаты блока в номер элемента в BitSet. Впрочем, тут ничего сложного нет.
  2. Для карты, на которой уже есть постройки игроков, это не очень подходит.
 
Последнее редактирование:
Жаль что нету такой фунции я API - а все я хочу вот для чего сделать , чтобы игроки могли ломать блоки ТОЛЬКО в своем и взрывом в чужом привате
 
Юзаем NBT. При установке блока пишем в блок ник, при ломании читаем - профит.
 
Разве? .-.
Ну можно что-то другое сделать)00)0))
Вот все что есть в чанке.

Код:
{
    DataVersion: 819,
    Level: {
        Entities: [],
        Biomes: [256 bytes],
        LightPopulated: 0b,
        xPos: 0,
        LastUpdate: 15299 L,
        zPos: 0,
        TileEntities: [],
        TerrainPopulated: 1 b,
        InhabitedTime: 2690 L,
        HeightMap: [67, 71, 73, 73, 73, 71, 67, 67, 67, 67, 74, 74, 75, 75, 75, 69, 70, 71, 71, 73, 72, 71, 67, 67, 67, 67, 74, 75, 75, 75, 74, 69, 71, 72, 71, 71, 71, 71, 67, 67, 67, 67, 74, 74, 75, 74, 74, 66, 72, 72, 72, 70, 68, 67, 67, 67, 66, 66, 66, 74, 74, 74, 66, 66, 71, 72, 71, 70, 68, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 75, 75, 72, 72, 72, 72, 67, 67, 66, 66, 66, 66, 66, 66, 66, 65, 76, 75, 75, 73, 74, 73, 72, 67, 66, 66, 66, 66, 66, 65, 65, 65, 76, 76, 75, 74, 74, 74, 72, 67, 66, 66, 66, 66, 65, 65, 65, 65, 76, 75, 75, 73, 74, 73, 72, 66, 66, 66, 66, 65, 65, 65, 65, 65, 75, 75, 73, 72, 72, 72, 67, 66, 70, 70, 70, 70, 65, 65, 65, 65, 75, 74, 73, 67, 67, 67, 67, 66, 70, 71, 72, 70, 70, 65, 65, 65, 75, 75, 73, 67, 67, 67, 66, 66, 70, 72, 72, 72, 70, 65, 65, 65, 75, 74, 73, 67, 67, 67, 66, 66, 70, 70, 72, 71, 70, 65, 65, 65, 73, 73, 72, 67, 67, 67, 66, 66, 69, 70, 70, 70, 68, 68, 64, 64, 67, 67, 67, 67, 67, 67, 66, 66, 65, 68, 69, 70, 69, 68, 64, 64, 67, 67, 67, 67, 67, 69, 69, 69, 69, 68, 70, 70, 70, 68, 64, 64, ],
        Sections: [0: {
            Data: [2048 bytes],
            SkyLight: [2048 bytes],
            BlockLight: [2048 bytes],
            Y: 0b,
            Blocks: [4096 bytes],
        }, 1: {
            Data: [2048 bytes],
            SkyLight: [2048 bytes],
            BlockLight: [2048 bytes],
            Y: 1 b,
            Blocks: [4096 bytes],
        }, 2: {
            Data: [2048 bytes],
            SkyLight: [2048 bytes],
            BlockLight: [2048 bytes],
            Y: 2 b,
            Blocks: [4096 bytes],
        }, 3: {
            Data: [2048 bytes],
            SkyLight: [2048 bytes],
            BlockLight: [2048 bytes],
            Y: 3 b,
            Blocks: [4096 bytes],
        }, 4: {
            Data: [2048 bytes],
            SkyLight: [2048 bytes],
            BlockLight: [2048 bytes],
            Y: 4 b,
            Blocks: [4096 bytes],
        }, ],
    },
}
Чтоб вести кастомную запись в чанк, нужна модификация сервера. Ибо придется встраиваться в запись и чтение чанка.
 
Вот все что есть в чанке.

Код:
{
    DataVersion: 819,
    Level: {
        Entities: [],
        Biomes: [256 bytes],
        LightPopulated: 0b,
        xPos: 0,
        LastUpdate: 15299 L,
        zPos: 0,
        TileEntities: [],
        TerrainPopulated: 1 b,
        InhabitedTime: 2690 L,
        HeightMap: [67, 71, 73, 73, 73, 71, 67, 67, 67, 67, 74, 74, 75, 75, 75, 69, 70, 71, 71, 73, 72, 71, 67, 67, 67, 67, 74, 75, 75, 75, 74, 69, 71, 72, 71, 71, 71, 71, 67, 67, 67, 67, 74, 74, 75, 74, 74, 66, 72, 72, 72, 70, 68, 67, 67, 67, 66, 66, 66, 74, 74, 74, 66, 66, 71, 72, 71, 70, 68, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 75, 75, 72, 72, 72, 72, 67, 67, 66, 66, 66, 66, 66, 66, 66, 65, 76, 75, 75, 73, 74, 73, 72, 67, 66, 66, 66, 66, 66, 65, 65, 65, 76, 76, 75, 74, 74, 74, 72, 67, 66, 66, 66, 66, 65, 65, 65, 65, 76, 75, 75, 73, 74, 73, 72, 66, 66, 66, 66, 65, 65, 65, 65, 65, 75, 75, 73, 72, 72, 72, 67, 66, 70, 70, 70, 70, 65, 65, 65, 65, 75, 74, 73, 67, 67, 67, 67, 66, 70, 71, 72, 70, 70, 65, 65, 65, 75, 75, 73, 67, 67, 67, 66, 66, 70, 72, 72, 72, 70, 65, 65, 65, 75, 74, 73, 67, 67, 67, 66, 66, 70, 70, 72, 71, 70, 65, 65, 65, 73, 73, 72, 67, 67, 67, 66, 66, 69, 70, 70, 70, 68, 68, 64, 64, 67, 67, 67, 67, 67, 67, 66, 66, 65, 68, 69, 70, 69, 68, 64, 64, 67, 67, 67, 67, 67, 69, 69, 69, 69, 68, 70, 70, 70, 68, 64, 64, ],
        Sections: [0: {
            Data: [2048 bytes],
            SkyLight: [2048 bytes],
            BlockLight: [2048 bytes],
            Y: 0b,
            Blocks: [4096 bytes],
        }, 1: {
            Data: [2048 bytes],
            SkyLight: [2048 bytes],
            BlockLight: [2048 bytes],
            Y: 1 b,
            Blocks: [4096 bytes],
        }, 2: {
            Data: [2048 bytes],
            SkyLight: [2048 bytes],
            BlockLight: [2048 bytes],
            Y: 2 b,
            Blocks: [4096 bytes],
        }, 3: {
            Data: [2048 bytes],
            SkyLight: [2048 bytes],
            BlockLight: [2048 bytes],
            Y: 3 b,
            Blocks: [4096 bytes],
        }, 4: {
            Data: [2048 bytes],
            SkyLight: [2048 bytes],
            BlockLight: [2048 bytes],
            Y: 4 b,
            Blocks: [4096 bytes],
        }, ],
    },
}
Чтоб вести кастомную запись в чанк, нужна модификация сервера. Ибо придется встраиваться в запись и чтение чанка.
Почему нет)
 
Назад
Верх