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

Mukiroku

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Kukuroku
Подскажите как можно ускорить ловлю рыбы. То есть рыбы появляется(чтобы папасть ка крючок) каждые n секунд, как можно сделать чтобы она появлялась каждые m секунд, так что m<n
 
PHP:
    @EventHandler
    public void onPlayerFish(PlayerFishEvent e) {
        if (e.getState() == PlayerFishEvent.State.FISHING) {
            e.getHook().setBiteChance(0.5 /* Шанс */);
        }
    }
Кушай
 
PHP:
    @EventHandler
    public void onPlayerFish(PlayerFishEvent e) {
        if (e.getState() == PlayerFishEvent.State.FISHING) {
            e.getHook().setBiteChance(0.5 /* Шанс */);
        }
    }
Кушай
Согласно документации этот метод Deprecated и не работает в новых версиях майна.
По факту майн устанавливает время до следующей поклевки, но API не предоставляет возможности это изменить. Тут только через NMS внедряться в EntityHook.
 
Согласно документации этот метод Deprecated и не работает в новых версиях майна.
По факту майн устанавливает время до следующей поклевки, но API не предоставляет возможности это изменить. Тут только через NMS внедряться в EntityHook.
Ну он версию не уточнял 😁
 
Согласно документации этот метод Deprecated и не работает в новых версиях майна.
По факту майн устанавливает время до следующей поклевки, но API не предоставляет возможности это изменить. Тут только через NMS внедряться в EntityHook.
Подскажите как это можно реализовать(в исходниках такие непонятное говно(нет) которое не понятно.) Версия 1.12
 
Подскажите как это можно реализовать(в исходниках такие непонятное говно(нет) которое не понятно.) Версия 1.12
Примерно так:
Код:
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 с убранной рефлекцией.
 
Подскажите как это можно реализовать(в исходниках такие непонятное говно(нет) которое не понятно.) Версия 1.12
Тебе непонятно непонятное. Логично же...
Тут не ко мне, я нмс еще и далеко не видил
 
Советую задуматься о использовании MethodHandle или рефлексии. При переходе на другие версии ядра будешь ловить ClassNotFoundException, ибо меняется пакет NMS (net.minecraft.server.v*****)
 
Советую задуматься о использовании MethodHandle или рефлексии. При переходе на другие версии ядра будешь ловить ClassNotFoundException, ибо меняется пакет NMS (net.minecraft.server.v*****)
Ну да, ведро же каждый день меняет имя пакета. И рефлексия так же обосрется при смене нмс метода.
Да и написано, что не дает эффекта в новых версиях. Нет смысла лезть в нмс.
 
Последнее редактирование:
Ну да, ведро же каждый день меняет имя пакета. И рефлексия так же обосрется при смене нмс метода.
Да и написано, что не дает эффекта в новых версиях. Нет смысла лезть в нмс.
Ну уж давай тогда дальше еще пойдем: подменим все уровни доступа на public. Удобно вообще-то, да и обновляться мы все равно не обновляем (ну так, раз в годик)
 
Ну уж давай тогда дальше еще пойдем: подменим все уровни доступа на public. Удобно вообще-то, да и обновляться мы все равно не обновляем (ну так, раз в годик)
Ну да, и че тебе не нравится? Версии и так выпускаются примерно раз в год.
 
Ну уж давай тогда дальше еще пойдем: подменим все уровни доступа на public. Удобно вообще-то, да и обновляться мы все равно не обновляем (ну так, раз в годик)
Кто то вообще мутит свои патчи на спигот. Но это не всем дано.
.
 
Назад
Верх