Хостинг серверов 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

    Код (Text):
    1.  
    2. #включены ли сообщения
    3. enable-message: true
    4. #язык сообщений - "ru" или "en"
    5. message-language: en
    6. #задержка между одинаковыми сообщениями игроку
    7. message-cooldown-time-ms: 1000
    8. #работа с именами или с id
    9. enable-itemName(true-name,false-id): true
    10. #учёт meta у предмета
    11. enable-metadata: true
    12. #включены ли NBT теги предметов/блоков
    13. enable-NBT-tags: false
    14. #использование WorldGuard (если false то PreciousStones)
    15. use-WorldGuard: true
    16. #проверка OP в привате. Не даёт OP игнорировать приват в запретах.
    17. enable-check-op-in-private: true
    18. #работа по плагину разрешений(PEX и т.п.) НЕ СТАБИЛЬНО!!!!
    19. enable-check-player-permissions: false
    20. #включен ли PermissionsList
    21. enable-permissions-list: true
    22. #обход OP PermissionsList либо по перму
    23. op-bypass-permissions-list: false
    24. #черный лист у поршней
    25. piston-black-list: true
    26. #проверка ношения(have & have_r) по времени в секундах
    27. have-task-timer-time: 0
    28. #проверка ношения при КАЖДОМ включенном действии. Не рекомендую.
    29. have-listener:
    30.   break: false
    31.   place: false
    32.   drop: false
    33.   packup: false
    34.   craft: false
    35. #проверка максимального размера стака
    36.   max-stack-size-check: true
    37.   damage: false
    38.   inv_click: false
    39.   left_click: false
    40.   right_click: false
    41.   bucket_empty: false
    42.   bucket_fill: false
    43.  
    44.  

    В листе можно как запретить, так и разрешить. Запрет "- -", разрешение "- ", можно записать несколько значений типа права и предмета в строку через "|", предмету можно дать 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
    Так же если у игрока забрать право, а потом вернуть в другой секции, то у него не будет запрета. Попрошу внимательно к этому отнестись.
    Код (Text):
    1.  
    2. test_1:
    3.   permissions:
    4.   - -drop.stone:0.wg
    5.   - -craft.stick:0.out
    6.   - -rightclickon.dirt:0.item_frame
    7.   - -have.*{ggg}
    8.   - -place|drop.stone:0|dirt:0
    9.   - -invclick_left.stone
    10. test_2:
    11.   worlds:
    12.   - world
    13.   - nether
    14.   regions:
    15.   - spawn
    16.   - mine
    17.   groups:
    18.   - pvp
    19.   - vip
    20.   gamemodes:
    21.   - creative
    22.   - survival
    23.   permissions:
    24.   - drop.stone:0
    25.   - rightclickon.iron_pickaxe.furnace.wg:5
    26.  
    Введена возможность назначить каждому запрету свое сообщение.
    На конец запрета надо добавить ".msg:Сообщение" без кавычек, а после него писать свое сообщение.
    Плагин понимает все эти варианты. Online YAML Parser в помощь. Не забываем про кодировку UTF-8:
    Код (Text):
    1. sample:
    2.   permissions:
    3.   - -packup.stone.msg
    4.     &aВы не можете подбирать &6камень &aпотому, что сервер так решил.
    5.   - -drop.stone:0.msg&aВы не можете выбрасывать &6камень &aпотому, что у вас злая администрация.
    6.   - -damage.villager.msg
    7.     &4Я супер житель,
    8.     ты не можешь
    9.     меня бить.

    Черный список блоков у поршней. Имеет поддержку NBT. Настраивается по каждому миру или по всем сразу.
    Код (Text):
    1. AllWorlds:
    2. - sample
    3. - sample:0
    4. - sample:0{nbt}
    5. world:
    6. - '*{!{}}'
    7. - sample:0
    8. - sample:0{nbt}


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

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

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

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

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

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

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

    украли

    Лог изменений:
    v2.2.5
    09.04.2016 г.
     
    Последнее редактирование: 1 фев 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 не угодил?

    А это?
    Код (Javascript):
    1.    if (!this.config.isConfigurationSection("message"))
    2.     {
    3.       this.config.set("enabled", Boolean.valueOf(true));
    4.       this.config.set("message.enabled", Boolean.valueOf(true));
    5.       this.config.set("message.place", "&f[&2MineBlocker&f]&4 &aВам запрещено &9ставить &4{NameMaterial}");
    6.       this.config.set("message.packup", "&f[&2MineBlocker&f]&4 &aВам запрещено &9подбирать &4{NameMaterial}");
    7.       this.config.set("message.have", "&f[&2MineBlocker&f]&4 &aВам запрещено &9хранить &4{NameMaterial}");
    8.       this.config.set("message.leftclick", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9левую &aкнопку c &4{NameMaterial}");
    9.       this.config.set("message.rightclick", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9правую &aкнопку c &4{NameMaterial}");
    10.       this.config.set("message.leftclickon", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9левую &aкнопку c блоком в руке/на блок &4{NameMaterial}");
    11.       this.config.set("message.rightclickon", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9правую &aкнопку c блоком в руке/на блок &4{NameMaterial}");
    12.       this.config.set("message.inform", "&f[&2MineBlocker&f]&4 &aУ Вас в руках &4{NameMaterial}");
    13.       this.config.set("message.reload", "&f[&2MineBlocker&f]&4 &a плагин перезагружен!");
    14.       this.config.set("message.wg.place", "&f[&2MineBlocker&f]&4 &aВам запрещено &9ставить &4{NameMaterial} &aв этом регионе");
    15.       this.config.set("message.wg.packup", "&f[&2MineBlocker&f]&4 &aВам запрещено &9подбирать &4{NameMaterial} &aв этом регионе");
    16.       this.config.set("message.wg.have", "&f[&2MineBlocker&f]&4 &aВам запрещено &9хранить &4{NameMaterial} &aв этом регионе");
    17.       this.config.set("message.wg.leftclick", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9левую &aкнопку c &4{NameMaterial} &aв этом регионе");
    18.       this.config.set("message.wg.rightclick", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9правую &aкнопку c &4{NameMaterial} &aв этом регионе");
    19.       this.config.set("message.wg.leftclickon", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9левую &aкнопку c блоком в руке/на блок &4{NameMaterial} &aв этом регионе");
    20.       this.config.set("message.wg.rightclickon", "&f[&2MineBlocker&f]&4 &aВам запрещено использовать &9правую &aкнопку c блоком в руке/на блок &4{NameMaterial} &aв этом регионе");
    21.  
    22.       saveConfig();
    23.       ReloadConfig();
    24.     }

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

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

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

    Чем же они отличаются? во 2м варианте если плагин выключен(в конфиге), то он не будет лежать в памяти.
    Код (Javascript):
    1.  
    2.   public void ReloadConfig()
    3.   {
    4.     this.messagePlace = this.config.getString("message.place");
    5.     this.messagePackup = this.config.getString("message.packup");
    6.     this.messageHave = this.config.getString("message.have");
    7.     this.messageLeftinteract = this.config.getString("message.leftclick");
    8.     this.messageRightinteract = this.config.getString("message.rightclick");
    9.     this.messageLeftinteracton = this.config.getString("message.leftclickon");
    10.     this.messageRightinteracton = this.config.getString("message.rightclickon");
    11.     this.messageInform = this.config.getString("message.inform");
    12.     this.messageReload = this.config.getString("message.reload");
    13.     this.messagePlaceWg = this.config.getString("message.wg.place");
    14.     this.messagePackupWg = this.config.getString("message.wg.packup");
    15.     this.messageHaveWg = this.config.getString("message.wg.have");
    16.     this.messageLeftinteractWg = this.config.getString("message.wg.leftclick");
    17.     this.messageRightinteractWg = this.config.getString("message.wg.rightclick");
    18.     this.messageLeftinteractonWg = this.config.getString("message.wg.leftclickon");
    19.     this.messageRightinteractonWg = this.config.getString("message.wg.rightclickon");
    20.   }
    21.  
    =>
    Код (Javascript):
    1.  
    2. public void reloadConfig(){
    3. config = YamlConfiguration.loadConfiguration(new File(this.getDataFolder(), "config.yml"));
    4. }
    5.  


    Ужс, просто ужс :c
    Код ( (Unknown Language)):
    1.  
    2.   protected void checkPlayerInventory(Player player)
    3.   {
    4.     Inventory inventory = player.getInventory();
    5.     for (ItemStack stack : inventory.getContents()) {
    6.       if (stack != null)
    7.       {
    8.         String permission = assemblePermission(player, "mineblocker.have", new Object[] { stack });
    9.         StringBuilder builder = new StringBuilder(permission);
    10.         builder.append(".wg");
    11.         if (!player.hasPermission(permission))
    12.         {
    13.           if (sendMessage(player, "mineblocker.have", permission))
    14.           {
    15.             inventory.remove(stack);
    16.             player.getWorld().dropItemNaturally(player.getLocation(), stack);
    17.           }
    18.         }
    19.         else if (!player.hasPermission(builder.toString()))
    20.         {
    21.           Location loc = player.getLocation();
    22.           UUID UUID = player.getUniqueId();
    23.           if ((!WorldGuardHook.inPlayerHaveAccessInRegion(loc, UUID)) &&
    24.             (sendMessage(player, "mineblocker.have", permission)))
    25.           {
    26.             inventory.remove(stack);
    27.             player.getWorld().dropItemNaturally(player.getLocation(), stack);
    28.           }
    29.         }
    30.       }
    31.     }
    32.   }
    33.  

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

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

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

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

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

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

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

    Конечно прошу прощения. Ну как мог, так и написал. Прислушаюсь, подрихтую. В java почти ноль, да и api плохо знаю. А так спасибо за то, что подсказали.
    --- Сообщения объединены: 9 ноя 2014, предыдущее сообщение: 9 ноя 2014 ---
    Н
    Врятли. Т.к юзаю 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 и в дополнение. Для меня вообще большое достижение, что это все работает ;)
    Спасибо ещё раз.
    --- Сообщения объединены: 9 ноя 2014, предыдущее сообщение: 9 ноя 2014 ---
    Попробую убрать getUniqueId из плагина. Вроде только оно мешает...
    --- Сообщения объединены: 9 ноя 2014 ---

    Не могу что-то это притулить.
    Разобрался
    --- Сообщения объединены: 9 ноя 2014 ---

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

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

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

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

    Баллы:
    88
    Имя в Minecraft:
    MOR_IV
    Отдельно от всего? Просто rightclickon тоже это отлавливает...
    --- Сообщения объединены: 11 ноя 2014, предыдущее сообщение: 10 ноя 2014 ---
    Что то я не могу найти проверку на шифт. В PlayerInteractEvent нет её. Кто подскажет может как сделать?
    Нашёл...
    --- Сообщения объединены: 11 ноя 2014 ---
    @Beatboxer Вам надо проверку в инвентаре? Или по блоку на земле?
    Прикручу потом ещё эвент клика по энтити. Животным например.
     
  21. Beatboxer

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

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

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