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

Помогите Ускорить ловлю рыбы.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Mukiroku, 22 июн 2019.

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

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

    Баллы:
    76
    Имя в Minecraft:
    Kukuroku
    Подскажите как можно ускорить ловлю рыбы. То есть рыбы появляется(чтобы папасть ка крючок) каждые n секунд, как можно сделать чтобы она появлялась каждые m секунд, так что m<n
     
  2. TheSkiffSailor

    TheSkiffSailor Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    TheSkiffSailor
    PHP:
        @EventHandler
        
    public void onPlayerFish(PlayerFishEvent e) {
            if (
    e.getState() == PlayerFishEvent.State.FISHING) {
                
    e.getHook().setBiteChance(0.5 /* Шанс */);
            }
        }
    Кушай
     
  3. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Согласно документации этот метод Deprecated и не работает в новых версиях майна.
    По факту майн устанавливает время до следующей поклевки, но API не предоставляет возможности это изменить. Тут только через NMS внедряться в EntityHook.
     
  4. TheSkiffSailor

    TheSkiffSailor Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    TheSkiffSailor
    Ну он версию не уточнял :D
     
  5. Автор темы
    Mukiroku

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

    Баллы:
    76
    Имя в Minecraft:
    Kukuroku
    Подскажите как это можно реализовать(в исходниках такие непонятное говно(нет) которое не понятно.) Версия 1.12
     
  6. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Примерно так:
    Код:
    import org.bukkit.craftbukkit.v1_12_R1.entity.CraftEntity;
    import net.minecraft.server.v1_12_R1.EntityFishingHook;
    
    @EventHandler
    public void onPlayerFish(PlayerFishEvent e) {
        if (e.getState() == PlayerFishEvent.State.FISHING)
            setBiteTime(e.getHook(), 1); // 1 - время в тиках (но это не точно)
    }
    
    private void setBiteTime(FishHook fishHook, int time) {
        EntityFishingHook entityFishingHook = (EntityFishingHook) ((CraftEntity) fishHook).getHandle();
        entityFishingHook.c(time);
    }
    Начальный код вырван с потрохами отсюда и успешно переведен под 1.12.2 с убранной рефлекцией.
     
  7. TheSkiffSailor

    TheSkiffSailor Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    TheSkiffSailor
    Тебе непонятно непонятное. Логично же...
    Тут не ко мне, я нмс еще и далеко не видил
     
  8. iD3LSY

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

    Баллы:
    76
    Советую задуматься о использовании MethodHandle или рефлексии. При переходе на другие версии ядра будешь ловить ClassNotFoundException, ибо меняется пакет NMS (net.minecraft.server.v*****)
     
  9. alexandrage

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

    Баллы:
    173
    Ну да, ведро же каждый день меняет имя пакета. И рефлексия так же обосрется при смене нмс метода.
    Да и написано, что не дает эффекта в новых версиях. Нет смысла лезть в нмс.
     
    Последнее редактирование: 23 июн 2019
  10. iD3LSY

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

    Баллы:
    76
    Ну уж давай тогда дальше еще пойдем: подменим все уровни доступа на public. Удобно вообще-то, да и обновляться мы все равно не обновляем (ну так, раз в годик)
     
  11. AbstractCoder

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

    Баллы:
    76
    Имя в Minecraft:
    AbstractCoder
    Ну да, и че тебе не нравится? Версии и так выпускаются примерно раз в год.
     
  12. iD3LSY

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

    Баллы:
    76
    Что мне не нравится? Мне все нравится. Это сказано без сарказма ;-;
     
  13. alexandrage

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

    Баллы:
    173
    Кто то вообще мутит свои патчи на спигот. Но это не всем дано.
    .
     

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