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

Идея Защита от FullBright. Need plugin

Discussion in 'Запросы на разработку плагинов' started by Serrrgio, Jul 17, 2013.

  1. Dereku

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Забираю свои слова про "тяжелый" обратно. Можно просто брать корды игрока, получить блоки в радиусе 16 блоков, если сверху есть блоки и в этом радиусе нет источников света - то детишки "родятся".
     
  2. Хостинг MineCraft
    <
  3. Jampire

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

    Trophy Points:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    у блока есть метод getLightLevel или что-то такое. Возвращает текущую освещенность блока от 1 до 16
    По крайней мере в CraftBlock есть
     
  4. Автор темы
    Serrrgio

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

    Trophy Points:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    Dereku
    а вот этот вариант будет затратный по ресурсам, 16 радиус - диаметр 32 блока, еще нужно проверить вверх и вниз блоки, того набегает приличное кол-во блоков для проверки >200 и это при любом событии разрушения блока

    нужно первые проверки делать которые не требуют больших затрат ресурсов сервера, к примеру ввести нижнюю границу проверки, к примеру если Y<40, тогда проверять дальше, эта проверка сразу отбросит тех кто копает на поверхности, потом проверка типа блока, вроде как типы блоков заданы константами и проверка не займет много времени, а потом уже уровень освещенности

    вобщем как-то так
     
    Сникерсни and Reedanger like this.
  5. Dereku

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    '16' примерное число. Я точно не помню, на сколько далеко ложится свет от факела. Далеко не 32 блока, но и не 6 точно.
     
  6. Shevchik

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

    Trophy Points:
    173
    Имя в Minecraft:
    _Shevchik_
    getLightLevel()
     
  7. Ission

    Ission Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    lokivava
    Каждый блок имеет свой уровень света от 0 до 15 включительно. 0 -- абсолютная темнота, 15 -- освещение от солнца, светокамня, ламп, лавы, огня, маяка. У факела уже 14. От луны падает свет в 4 единицы. От источника на каждый контактирующий блок ложится свет на 1 меньше, чем источник. Что возвращает функция из API я не знаю.
     
  8. Shevchik

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

    Trophy Points:
    173
    Имя в Minecraft:
    _Shevchik_
    Собственно уровень освещения блока она и возвращает. Поэтому < 4 в принципе уже не поверхность и можно спавнить мобов.
     
  9. Автор темы
    Serrrgio

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

    Trophy Points:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
  10. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Trophy Points:
    173
    Сделал под скорую руку, возможно будут небольшие баги)

    Ссылка

    Команды:
    /fb - там все есть

    Permissions:
    - fb.mode
    - fb.light
     
  11. Автор темы
    Serrrgio

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

    Trophy Points:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    @BeYkeR, спасибо, вечерком попробую, отпишусь

    сорцы кинешь?
     
  12. Shevchik

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

    Trophy Points:
    173
    Имя в Minecraft:
    _Shevchik_
    А что тут кидать? декомпилятором прекрасно берётся.
    Плагин реагирует на руду и камень(материал) только, и запрещает ломать и спавнит зомби.

    Зря конечно запрещает копать, я например в полной темноте немного вижу и вполне копать могу, очень неудобно будет когда уголь нужен а добыть нельзя.
     
  13. Автор темы
    Serrrgio

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

    Trophy Points:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    та я уже посмотрел сорцы, просто хотелось готовый проект, чтоб закинул в эклипс и можно было скомпилировать.

    там на выбор через конфиг, или запрет или спавн.

    чувствую сегодня будет нежданчик для читеров :)
     
  14. Jampire

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

    Trophy Points:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    Идея реализуется за 5 минут)
     
  15. Shevchik

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

    Trophy Points:
    173
    Имя в Minecraft:
    _Shevchik_
    Ещё добавить 1 фичу - с некоторым шансом в темноте руда не добывается а тупо ломается, типо слишком темно и вы случайно уронили ценный ресурс и он куда-то укатился :)
     
  16. Автор темы
    Serrrgio

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

    Trophy Points:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    в случае со спавном зомби, после 2-3 сломанных блоков подобным образом, желание копать в темноте сразу отпадет, будет везде светло и механизм уже работать не будет.

    если будут сорцы, хочу добавить еще проверку Y координаты, нет смысла проверять выше 40 блоков, там пусть копают в темноте.

    и еще вопрос оптимизации, в плагине юзается метод block.getType() несколько раз, т.к. сервер и так ресурсоемкий, то нужно бороться за каждую миллисекунду, не будет менее затратней использовать переменную для block.getType() и потом проверять уже ее, а не дергать каждый раз метод .getType() ?

    может перестроить условия таким образом, чтоб сначала проверялись менее ресурсоемкие условия? или все это фигня?[DOUBLEPOST=1374519455,1374498201][/DOUBLEPOST]@BeYkeR,

    что-то не работает
    конфиг
    Code:
    mode: spawn
    light: '3'
    zombie-amount: 4
    Worlds:
      world: true
      world_nether: false
      world_the_end: false
    или у меня руки кривые
    и ошибок никаких нет
     
    Likeobot likes this.
  17. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Trophy Points:
    173
    Code:
    mode: SPAWN
    light: 3
    zombie-amount: 4
    Worlds:
      world: true
      world_nether: false
      world_the_end: false
    Без ковычек.Баг команд)[DOUBLEPOST=1374544025][/DOUBLEPOST]Обновил плагашь до 1.1:
    - Некоторые баг фиксы с командами
    - Новая команда и перм: /fb zombie и fb.zombie

    Скачать
     
  18. Автор темы
    Serrrgio

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

    Trophy Points:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    эта версия работает, зомби спавнятся, но застревают в стене.

    нужно как-то изменить локацию спавна мобов
    может плясать от координат игрока поискать свободное мести в 2 блока высотой и там спавнить?
     
  19. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Trophy Points:
    173
    В файле есть исходники, можешь его взять и переделать.
     
  20. Автор темы
    Serrrgio

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

    Trophy Points:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    ок, спс.
     

Share This Page