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

Плагин [ADMN] MineBlocker 2.3.6 - запреты взаимодействия. [CB 1.6.* - 1.11.*]

Тема в разделе "Неподтвержденные плагины", создана пользователем MOR_IV, 8 ноя 2014.

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

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    MineBlocker - запреты взаимодействия предметами с миром.​
    Версия: v_0.2.5 - бесплатная, с урезанным функционалом. СКАЧАТЬ
    Версия: v_2.3.6 - приватная, 300р со всеми будущими обновлениями.
    Все нюансы работы плагина прописаны в ChangeLog.
    Все что будет подчеркнуто, то это может только приватная версия.

    Данный плагин работает как ModifyWorld, но более гибкий и поддерживает плагины приватов и групп. Поддерживает моды (за редким исключением).
    Умеет запрещать:
    - установку блока игроком
    - установку блоков рядом друг с другом
    - ломать блок игроком
    - правый/левый клик мышью с предметом в руке
    - правый клик/shift+Правый клик по блоку или энтити
    - правый/левый клик по предмету в инвентаре
    - подбирать предмет
    - выбрасывать предмет
    - хранить в инвентаре предмет, так же может проверять по времени
    - передвигать по инвентарю предмет
    - бить энтити
    - ванильный крафт
    - операции с ведром(вылить, наполнить)
    - открывать блок
    - открывать блок двум и более игрокам одновременно
    - наступать на пластины
    - поршням двигать предметы
    так же умеет:
    - проверять предмет на превышение максимального количества в слоте
    - взаимодействовать с WorldGuard
    - взаимодействовать с PreciousStones
    - назначать каждому запрету свое сообщение
    И имеет:

    - собственный Permissions лист.
    - поддержку ID или(и) NAME ++ meta
    - поддержку NBT тегов (крайне не заменимо в модах)
    - настройку (поддержку) предметов с большой дальностью кликов


    П.С. - умеет запрещать в чужом регионе, возле чужого региона с фиксируемым расстоянием, так и за пределами своего. Так же может игнорировать OP ("*") игрока.
    Так же в PermissionsList можно устанавливать права в определенных регионах, мирах, группах и режимах игры.

    В PermissionsList можно:
    1) создавать группы запретов, которые действуют глобально или только в:
    - мирах
    - группах PermissionsEx или любых других плагинов которые поддерживают Vault(необходим vault)
    - определенных регионах WG/PS (по именам)
    - режимах игры
    - так же парами или все сразу. пример(только для группы, только в этом мире, только в этом регионе и этом режиме игры)
    2) распределять запреты на 4 вида:
    - действуют везде
    - действуют только в чужом регионе (на конце ".wg")
    - действуют в чужом регионе и возле него (на конце ".wg|расстояние")
    - действуют только за пределами своего региона (на конце ".out")
    3) вписывать как запреты так и разрешения
    4) назначить свои сообщения для каждого запрета

    Можно вписать в плагин привилегий или в PermissionsList.
    [itemName] - предмет в руке
    [blockName] - блок или этити
    [inventoryName] - имя инвентаря

    - place.[blockName] - установка блока.
    - place_near.[blockName]|[blockName]|[blockName] - установка блоков рядом.
    - break.[blockName] - разрушение блока
    - have.[itemName] - ношение предмета
    - have_r.[itemName] - ношение предмета с удалением
    - packup.[itemName] - подбор предмета
    - drop.[itemName] - выбрасывание предмета
    - left_click_air.[itemName] - левый клик предметом в воздухе
    - shift_left_click_air.[itemName] - левый клик + shift с предметом в воздухе
    - left_click_block.[itemName].[blockName] - левый клик предметом по блоку
    - shift_left_click_block.[itemName].[blockName] - левый клик + shift с предметом по блоку
    - right_click_air.[itemName] - правый клик предметом в воздухе
    - shift_right_click_air.[itemName] - правыйклик + shift с предметом в воздухе
    - right_click_block.[itemName].[blockName||entityName]- правый клик предметом по блоку или энтити
    - shift_right_click_block.[itemName].[blockName||entityName] - правый клик + shift с предметом по блоку или энтити
    - physical.[blockName] - выжим пластины на полу
    - opening.[itemName].[blockName] - открытие инвентаря
    - damage.[entityName] - урон по энтити
    - double_opening.[blockName] - открытие инвентаря двумя и более игроками
    - craft.[itemName] - крафт в ванильных верстаках
    - bucket_fill.[fluidName] - наполнение ведра
    - bucket_empty.[bucketName] - выливание ведра
    - piston_extend.[blockName] - толкание поршнем(без привязки к игроку)
    - piston_retract.[blockName] - притягивание поршнем(без привязки к игроку)

    Клики по предметам в инвентаре:
    - invclick_creative.[itemName]
    - invclick_creative.[itemName].[inventoryName]
    - invclick_left.[itemName]
    - invclick_left.[itemName].[inventoryName]
    - invclick_shift_left.[itemName]
    - invclick_shift_left.[itemName].[inventoryName]
    - invclick_right.[itemName]
    - invclick_right.[itemName].[inventoryName]
    - invclick_shift_right.[itemName]
    - invclick_shift_right.[itemName].[inventoryName]
    - invclick_middle.[itemName]
    - invclick_middle.[itemName].[inventoryName]
    - invclick_number_key.[itemName]
    - invclick_number_key.[itemName].[inventoryName]
    - invclick_double.[itemName]
    - invclick_double.[itemName].[inventoryName]
    - invclick_drop.[itemName]
    - invclick_drop.[itemName].[inventoryName]
    - invclick_control_drop.[itemName]
    - invclick_control_drop.[itemName].[inventoryName]
    - invclick_unknown.[itemName]
    - invclick_unknown.[itemName].[inventoryName]

    Окончания:

    - private или wg - правило работает только в чужом регионе
    - private:X или wg:X - правило работает в чужом регионе или возле него на расстоянии "X"
    - out - правило работает за пределами своего региона
    - message:Сообщение или msg:Сообщение - возможность назначения сообщения только для этого правила
    - mute - данный запрет не будет писать в чат
    - remove или rm - удаление предмета из рук на 1 тик
    - remove:X или rm:X - удаление предмета из рук на X тиков

    - MineBlockerUtils.bypass - выключение проверки игрока по PermList. это работает в случае настройки в конфиге "op-bypass-permissions-list: true"

    Если на окончание добавить .private или .wg - то действие работает только в том регионе, в котором игрок не записан в хозяины или жители региона.
    Если добавить .private:расстояние, то действие работает не только в регионе, но и возле него.
    Пример
    - -packup.*.wg - запрет подбора всех предметов в чужом регионе
    - -rightclickon.*.wg - запрет правого клика с любым предметом по любому блоку в чужом регионе
    - -packup.*.wg:3 - запрет подбора всех предметов в чужом регионе и на расстоянии в 3 блока от него

    Если на окончание добавить .out - то действие работает только за пределами "своего" региона. "Свой регион" - это в котором игрок является хозяином или жителем.
    Пример

    - -packup.*.out- запрет подбора всех предметов за пределами своего региона
    - -rightclickon.*.out - запрет правого клика с любым предметом по любому блоку за пределами своего региона

    П.С. Смотрим окончания в действиях....

    Доступ к командам перм: MineBlockerUtils.operator
    /mb info (i)- узнать имя предмета, блока, энтити рядом с блоком(если оно там есть)
    /mb inventory (inv) - узнать имя предмета, блока, энтити рядом с блоком(если оно там есть)
    /mb reload (r) - перезагрузка плагина(в случает включения/выключения слушателей(listener), необходима перезагрузка сервера
    /mb permissionslist|plist|pl [имя секции] add|remove group|region|world|permission|gamemode [значение] - команда которая добавляет / удаляет из секции группу / регион / мир / право / режим игры. Полностью поддерживает кнопку [Tab] от начала до конца. Ставить надо только пробелы. если с permisson , то там еще и точки. Пример /mb plist test_1 add permission -drop.stone:* добавит запрет выбрасывания камня в секции test_1

    Плагин блокирует только то, что ему указали. Так если запретить ношение предмета, не будет запрещен его подбор, так же если запретить "клик в воздухе", то не будет запрещен "клик по блоку" и "shift + клик по блоку". Что бы обойти это надо писать запреты правильно. Примеры c камнем:
    - -have|packup.stone
    - -rightclick|rightclickon|shift_rightclickon.stone

    Так же если вы хотите полностью заблокировать предмет, то в PL надо вписать - -mineblocker.*.stone

    Код:
    #включены ли сообщения
    enable-message: true
    #язык сообщений - "ru" или "en"
    message-language: en
    #задержка между одинаковыми сообщениями игроку
    message-cooldown-time-ms: 1000
    #работа с именами или с id
    enable-itemName(true-name,false-id): true
    #учёт meta у предмета
    enable-metadata: true
    #включены ли NBT теги предметов/блоков
    enable-NBT-tags: false
    #использование WorldGuard (если false то PreciousStones)
    use-WorldGuard: true
    #проверка OP в привате. Не даёт OP игнорировать приват в запретах.
    enable-check-op-in-private: true
    #работа по плагину разрешений(PEX и т.п.) НЕ СТАБИЛЬНО!!!!
    enable-check-player-permissions: false
    #включен ли PermissionsList
    enable-permissions-list: true
    #обход OP PermissionsList либо по перму
    op-bypass-permissions-list: false
    #черный лист у поршней
    piston-black-list: true
    #проверка ношения(have & have_r) по времени в секундах
    have-task-timer-time: 0
    #проверка ношения при КАЖДОМ включенном действии. Не рекомендую.
    have-listener:
      break: false
      place: false
      drop: false
      packup: false
      craft: false
    #проверка максимального размера стака
      max-stack-size-check: true
      damage: false
      inv_click: false
      left_click: false
      right_click: false
      bucket_empty: false
      bucket_fill: false
    
    

    В листе можно как запретить, так и разрешить. Запрет "- -", разрешение "- ", можно записать несколько значений типа права и предмета в строку через "|", предмету можно дать NBT тег. Так же добавлены такие понятия как не пустой NBT {!{}} и пустой NBT {{}} тег.
    Примеры: dirt:0{1, 2, 3, !4, !5, +6, +7} земля c NBT: Включает 1 или 2 или 3, так же не включает 4 и 5, так же включает 6 и 7;
    dirt{!{}} земля с не пустым NBT;
    dirt{{}} земля с пустым NBT тегом;
    PermissionsList претерпел много изменений. Теперь он поделен на секции, которые не зависят друг от друга. Секций может быть сколько угодно и имя секции влияет только на доступ к ней командой. Важно: имена секций не должны повторяться.
    Ниже секция test_1 действует для всех, во всех мирах.
    Если добавить список:
    worlds: то будет действовать только в мирах из списка;
    groups: то только для групп;
    regions: то только в регионах из списка;
    gamemodes: то только если игрок находится в режиме игры из списка.

    Если все сразу, то только для групп в мирах, в регионах и в режимах игры с именами из списков.
    Лист отлично понимает "*" в имени предметов, в начале права не надо писать "mineblocker.". Если опустить значение мета, то будет взята мета "*". Примеры: drop|packup.dirt|wool:3.wg | invclick|rightclickon|shift_rightclickon.*{!{}}.item_frame
    Так же если у игрока забрать право, а потом вернуть в другой секции, то у него не будет запрета. Попрошу внимательно к этому отнестись.
    Код:
    test_1:
      permissions:
      - -drop.stone:0.wg
      - -craft.stick:0.out
      - -rightclickon.dirt:0.item_frame
      - -have.*{ggg}
      - -place|drop.stone:0|dirt:0
      - -invclick_left.stone
    test_2:
      worlds:
      - world
      - nether
      regions:
      - spawn
      - mine
      groups:
      - pvp
      - vip
      gamemodes:
      - creative
      - survival
      permissions:
      - drop.stone:0
      - rightclickon.iron_pickaxe.furnace.wg:5
    
    Введена возможность назначить каждому запрету свое сообщение.
    На конец запрета надо добавить ".msg:Сообщение" без кавычек, а после него писать свое сообщение.
    Плагин понимает все эти варианты. Online YAML Parser в помощь. Не забываем про кодировку UTF-8:
    Код:
    sample:
      permissions:
      - -packup.stone.msg
        &aВы не можете подбирать &6камень &aпотому, что сервер так решил.
      - -drop.stone:0.msg&aВы не можете выбрасывать &6камень &aпотому, что у вас злая администрация.
      - -damage.villager.msg
        &4Я супер житель,
        ты не можешь
        меня бить.

    Черный список блоков у поршней. Имеет поддержку NBT. Настраивается по каждому миру или по всем сразу.
    Код:
    AllWorlds:
    - sample
    - sample:0
    - sample:0{nbt}
    world:
    - '*{!{}}'
    - sample:0
    - sample:0{nbt}


    ||||||||||||||||||||||||||||||||||||||||||
    Продолжение ниже!
     
    Последнее редактирование: 29 июл 2017
  2. Mr Hosting
  3. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    В этих файлах можно переназначать имена и делать объединения предметов / блоков / разрешений. Потом эти имена можно использовать в правилах установки блоков рядом друг с другом и в PermissionsList.
    Имена предметов поддерживают мета. Если не указать то "имя" = "имя:*"
    Так же поддерживают NBT. записать предмет можно так же как - '*{!{}}' что эквивалентно "любой предмет/блок с не пустым NBT тегом". Одинарные кавычки обязательны из-за правил заполнения yml.
    Важно: Что бы все работало нормально с русским языком, нужно что бы все файлы и символы были в кодировке UTF-8(Без BOM)!!!
    Код:
    all_swords:
    - wood_sword
    - stone_sword
    - iron_sword
    - gold_sword
    - diamond_sword
    all_pickaxe:
    - wood_pickaxe
    - stone_pickaxe
    - iron_pickaxe
    - gold_pickaxe
    - diamond_pickaxe
    поршень:
    - piston_base
    - piston_sticky_base
    Код:
    правый_клик:
    - rightclick
    - rightclickon
    - shift_rightclickon
    левый_клик:
    - leftclick
    - leftclickon
    custom_packup:
    - packup
    - have
    full_ban:
    - place
    - break
    - packup
    - have
    - damage
    - craft
    - rightclick
    - rightclickon
    - shift_rightclickon
    - leftclick
    - leftclickon
    
    Примеры использования этих прав и имен:
    Код:
    test:
      permissions:
      - -правый_клик|левый_клик.all_swords|all_pickaxe.поршень.wg
      - -custom_packup.sponge
      - -full_ban.stone
      - -place.поршень

    Список дальнобойных предметов. Записи в столбик, NBT+.
    Писать в виде "предмет|дистанция"
    Код:
    sample|20
    sample:0|20
    sample:0{nbt}|30

    Переименовывание запрещенного предмета в сообщении игроку. (пока нет поддержки NBT и цветов)
    Код:
    stone:0|Супер Камень
    wood:0|Железное дерево

    Листы регионов по мирам, в которых не надо проверять запреты. Например автошахта.
    Миров и регионов можно вносить сколько угодно.
    Код:
    world:
    - mine_car
    Добавит в игнор регион с именем mine_car в мире world.

    Тут хранятся сообщения плагина. Все ключи сообщений идентичны именам запретов. Он хранит типовые сообщения и изменяет у них окончания и мена предметов в зависимости от ситуации.

    украли

    Лог изменений:
     
    Последнее редактирование: 29 июл 2017
  4. RespectDDD

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

    Баллы:
    76
    Skype:
    netu_logina3
    Нету смысла в этом плагине
    Ибо полная копия LokiBlocker`a
     
    Последнее редактирование: 8 ноя 2014
  5. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    Ну кому как. Я же не заставляю его юзать. Писал для себя. Кинул всем, может кто возьмет.
    Этот легче. Заточен чисто под имена предметов, а не id. Не надо лезть постоянно в конфиги. Право поменял и все. Потом допишу еще чего-нибудь в него. Есть мысли.

    З.ы. Ну и можно было просто промолчать....
     
  6. tipson

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

    Баллы:
    153
    Skype:
    T-oleg98
    Имя в Minecraft:
    Tipson
    Для большей пользы можно встроить в плагин "anti": мат, капс, флуд и т.д.
     
  7. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    Тут этого пока точно не будет. Потому как это не плагин чата и к чату отношения не имеет.
    Сейчас пилю клик предметом в блок....
     
  8. Jayman

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

    Баллы:
    76
    Можно в новой версии добавить интеграцию с WG
     
  9. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    Какого рода интеграция нужна?
     
  10. Jayman

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

    Баллы:
    76
    Чтобы в регионе запрещало левый клик и правый
     
  11. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    А это мысль. Попробую прикрутить.
     
  12. RespectDDD

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

    Баллы:
    76
    Skype:
    netu_logina3
    Если ты про то что стоит на CenturyMine, то у них мод стоит.
    Хотя если бы автор прикрутил такую фишку в свой плагин, то вполне возможно он станет востребованным.
     
    Последнее редактирование: 9 ноя 2014
  13. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    Прошу. Версия MineBlocker 0.2 интегрировал WG и добавил эвент правого клика по блоку с блоком в руке(без).
    Для нормальной работы удалите конфиг, или скопируйте из шапки.
    Тестим...
     
  14. Hilgert

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

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    И так, приступим.
    Класс: FontFormat... зачем? чем ChatColor не угодил?

    А это?
    Код:
       if (!this.config.isConfigurationSection("message"))
        {
          this.config.set("enabled", Boolean.valueOf(true));
          this.config.set("message.enabled", Boolean.valueOf(true));
          this.config.set("message.place", "&f[&2MineBlocker&f]&4 &aВам запрещено &9ставить &4{NameMaterial}");
          this.config.set("message.packup", "&f[&2MineBlocker&f]&4 &aВам запрещено &9подбирать &4{NameMaterial}");
          this.config.set("message.have", "&f[&2MineBlocker&f]&4 &aВам запрещено &9хранить &4{NameMaterial}");
          this.config.set("message.leftclick", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9левую &aкнопку c &4{NameMaterial}");
          this.config.set("message.rightclick", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9правую &aкнопку c &4{NameMaterial}");
          this.config.set("message.leftclickon", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9левую &aкнопку c блоком в руке/на блок &4{NameMaterial}");
          this.config.set("message.rightclickon", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9правую &aкнопку c блоком в руке/на блок &4{NameMaterial}");
          this.config.set("message.inform", "&f[&2MineBlocker&f]&4 &aУ Вас в руках &4{NameMaterial}");
          this.config.set("message.reload", "&f[&2MineBlocker&f]&4 &a плагин перезагружен!");
          this.config.set("message.wg.place", "&f[&2MineBlocker&f]&4 &aВам запрещено &9ставить &4{NameMaterial} &aв этом регионе");
          this.config.set("message.wg.packup", "&f[&2MineBlocker&f]&4 &aВам запрещено &9подбирать &4{NameMaterial} &aв этом регионе");
          this.config.set("message.wg.have", "&f[&2MineBlocker&f]&4 &aВам запрещено &9хранить &4{NameMaterial} &aв этом регионе");
          this.config.set("message.wg.leftclick", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9левую &aкнопку c &4{NameMaterial} &aв этом регионе");
          this.config.set("message.wg.rightclick", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9правую &aкнопку c &4{NameMaterial} &aв этом регионе");
          this.config.set("message.wg.leftclickon", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9левую &aкнопку c блоком в руке/на блок &4{NameMaterial} &aв этом регионе");
          this.config.set("message.wg.rightclickon", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9правую &aкнопку c блоком в руке/на блок &4{NameMaterial} &aв этом регионе");
     
          saveConfig();
          ReloadConfig();
        }

    Код:
    config.addDefault("key", "value");
    config.options.copyDefaults(true);
    saveConfig();
    тоже для слабаков?

    А это как понимать?
    Код:
        boolean enabled = this.config.getBoolean("enabled");
        if (enabled == Boolean.valueOf(true).booleanValue()) {
          Bukkit.getPluginManager().registerEvents(this, this);
        }
    

    Можно заменить этим:
    Код:
    this.setEnabled(config.getBoolean("enabled");
    

    Чем же они отличаются? во 2м варианте если плагин выключен(в конфиге), то он не будет лежать в памяти.
    Код:
      public void ReloadConfig()
      {
        this.messagePlace = this.config.getString("message.place");
        this.messagePackup = this.config.getString("message.packup");
        this.messageHave = this.config.getString("message.have");
        this.messageLeftinteract = this.config.getString("message.leftclick");
        this.messageRightinteract = this.config.getString("message.rightclick");
        this.messageLeftinteracton = this.config.getString("message.leftclickon");
        this.messageRightinteracton = this.config.getString("message.rightclickon");
        this.messageInform = this.config.getString("message.inform");
        this.messageReload = this.config.getString("message.reload");
        this.messagePlaceWg = this.config.getString("message.wg.place");
        this.messagePackupWg = this.config.getString("message.wg.packup");
        this.messageHaveWg = this.config.getString("message.wg.have");
        this.messageLeftinteractWg = this.config.getString("message.wg.leftclick");
        this.messageRightinteractWg = this.config.getString("message.wg.rightclick");
        this.messageLeftinteractonWg = this.config.getString("message.wg.leftclickon");
        this.messageRightinteractonWg = this.config.getString("message.wg.rightclickon");
      }
    
    =>
    Код:
    public void reloadConfig(){
    config = YamlConfiguration.loadConfiguration(new File(this.getDataFolder(), "config.yml"));
    }
    


    Ужс, просто ужс :c
    Код:
      protected void checkPlayerInventory(Player player)
      {
        Inventory inventory = player.getInventory();
        for (ItemStack stack : inventory.getContents()) {
          if (stack != null)
          {
            String permission = assemblePermission(player, "mineblocker.have", new Object[] { stack });
            StringBuilder builder = new StringBuilder(permission);
            builder.append(".wg");
            if (!player.hasPermission(permission))
            {
              if (sendMessage(player, "mineblocker.have", permission))
              {
                inventory.remove(stack);
                player.getWorld().dropItemNaturally(player.getLocation(), stack);
              }
            }
            else if (!player.hasPermission(builder.toString()))
            {
              Location loc = player.getLocation();
              UUID UUID = player.getUniqueId();
              if ((!WorldGuardHook.inPlayerHaveAccessInRegion(loc, UUID)) &&
                (sendMessage(player, "mineblocker.have", permission)))
              {
                inventory.remove(stack);
                player.getWorld().dropItemNaturally(player.getLocation(), stack);
              }
            }
          }
        }
      }
    

    Код:
    if(inventory.contains(ItemStack) && проверка на пермишнс){
    inventory.remoev(ItemStack);
    }

    А проверка находится ли игрок в регионе или нет, это что вообще? держи нормальный код

    Код:
                boolean canBuild = wg.getGlobalRegionManager().canBuild(игрок, локация) && wg.getGlobalRegionManager().canConstruct(игрок, локация);
    
                if(!canBuild){ //Игрок не находится в привате }
    
    Говнокода конечно очень много, мне аж лень стало всё это писать,
     
  15. Jayman

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

    Баллы:
    76
    Кстати, а на 1.6.4 пойдёт?
     
  16. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV

    Конечно прошу прощения. Ну как мог, так и написал. Прислушаюсь, подрихтую. В java почти ноль, да и api плохо знаю. А так спасибо за то, что подсказали.
    Н
    Врятли. Т.к юзаю uuid
     
  17. Hilgert

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

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    В новых версиях не обязательно использовать UUID. И если методы использованные в плагине не отличаются в других версиях, то можно использовать на 1.6.4 и тд c:
     
  18. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    Потом может попробую сделать поддержку 1.6.4
    Что ещё прикрутить к плагину?

    @Hilgert и в дополнение. Для меня вообще большое достижение, что это все работает ;)
    Спасибо ещё раз.
    Попробую убрать getUniqueId из плагина. Вроде только оно мешает...

    Не могу что-то это притулить.
    Разобрался

    Убрал uuid, но у меня умер ноут. Почему не знаю. Завис и погас экран. Не включается. Буду ломать.
    Так что пока не обновлю плагин.
    - Ноут завел. Походу оператива крякнула. Вытащил 8Gb RAM.... Вроде полет нормальный.
     
    Последнее редактирование: 9 ноя 2014
  19. Beatboxer

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

    Баллы:
    123
    Skype:
    beatbox603
    Сделай проверку на Shift+ПКМ
     
  20. Автор темы
    MOR_IV

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    Отдельно от всего? Просто rightclickon тоже это отлавливает...
    Что то я не могу найти проверку на шифт. В PlayerInteractEvent нет её. Кто подскажет может как сделать?
    Нашёл...

    @Beatboxer Вам надо проверку в инвентаре? Или по блоку на земле?
    Прикручу потом ещё эвент клика по энтити. Животным например.
     
  21. Beatboxer

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

    Баллы:
    123
    Skype:
    beatbox603
    По блоку на земле :)
     

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