Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Azymok, 16 дек 2016.

  1. Автор темы
    Azymok

    Azymok Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    Azymok
    Добрый день - интересует такой вопрос - можно ли вывести "создателя блока" в чат при попытке сломать блок
     
  2. Хостинг MineCraft
    <
  3. Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    в ведре нет этого => надо заводить базу данных и сохранять туда человека и координаты когда он поставил блок.

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

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

    Только при хорошем онлайне база данных будет дико жрать место на жестянке
     
  4. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    если тебе не не обязательно хранить эти данные все время, можешь использовать хешмеп. Про утечку памяти молчу
     
  5. Автор темы
    Azymok

    Azymok Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    Azymok
    жаль ( - нужно чтобы игрок не мог ломать блоки,которые были сгенерированны сервером
     
  6. iD3LSY

    iD3LSY Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    opy
    Ну это в каких смотря в каких целях ты хотел использовать.
    На счёт этого не знаю, но если бы ты хотел просто найти грифера, то установи плагин CoreProtect.
    После установки, все логи ломания блоков будут сохраняться. Найти команды - загугли.
     
  7. xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
     
  8. iD3LSY

    iD3LSY Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    opy
    Понял смутно, но скорее всего неправильно. Памяти CoreProtect занимает мало. Про ram - не знаю.
     
  9. Автор темы
    Azymok

    Azymok Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    Azymok
    Причем тут CoreProtect?мне просто нужно чтобы игроки не могли ломать блоки , которые появились при генерации карты - только свои и чужие - но не те что сервером заспавнены
     
  10. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Заносить все поставленные блоки игроками в лист, и проверять при ломании, другого варианта нет, но будет грузить сервер. Ах, да, при релоаде все очистится.
     
  11. Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    а сохранять уже не судьба?
     
  12. gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Лучше не заносить изменённые координаты в список, как предлагают выше, а хранить для каждого чанка свой BitSet, в котором, например, значение false будет означать, что блок не сгенерирован, т.е. его можно ломать.
    Достаточно будет при первой загрузке чанка поставить true на все координаты, в которых не воздух (и не забыть сохранить это куда-нибудь), а потом просто отменять разрушение блока, если на координатах стоит true.

    Плюсы:
    1. Высокая производительность.
    2. BitSet'ы весят очень мало (на один чанк уйдёт около 8 килобайт).
    Минусы:
    1. Нужно конвертировать координаты блока в номер элемента в BitSet. Впрочем, тут ничего сложного нет.
    2. Для карты, на которой уже есть постройки игроков, это не очень подходит.
     
    Последнее редактирование: 18 дек 2016
  13. Автор темы
    Azymok

    Azymok Активный участник Пользователь

    Баллы:
    46
    Имя в Minecraft:
    Azymok
    Жаль что нету такой фунции я API - а все я хочу вот для чего сделать , чтобы игроки могли ломать блоки ТОЛЬКО в своем и взрывом в чужом привате
     
  14. Qmaks

    Qmaks Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Юзаем NBT. При установке блока пишем в блок ник, при ломании читаем - профит.
     
  15. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    у блоков нету NBT. Только у TileEntity вроде(Сундуки, таблички и тд)
     
  16. Qmaks

    Qmaks Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Разве? .-.
    Ну можно что-то другое сделать)00)0))
     
  17. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Вот все что есть в чанке.

    Код:
    {
        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],
            }, ],
        },
    }
    Чтоб вести кастомную запись в чанк, нужна модификация сервера. Ибо придется встраиваться в запись и чтение чанка.
     
  18. Qmaks

    Qmaks Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Почему нет)
     
  19. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Вот подробное описания, что хранит чанк в ваниле.
    http://minecraft.gamepedia.com/Chunk_format
     
  20. Qmaks

    Qmaks Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Я смотрел уже. Изучал систему шифрации и дешифрации пакетов) Пока-что на стадии теории, потом как-то перейду к практике.
     
  21. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    ChunkRegionLoader Там все интересное.
     

Поделиться этой страницей