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

Помогите Ошибка "Plugin attempted to register task while disabled"

Тема в разделе "Разработка плагинов для новичков", создана пользователем antoxa_suro, 16 апр 2025.

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

    antoxa_suro Ньюби

    Баллы:
    1
    Я новичок в написании плагинов, совсем сырой (занимаюсь уже около трех дней этим) и сейчас просо решил написать какую-нибудь систему. При использовании шедулера вылазит эта ошибка:

    [09:01:13 ERROR]: Could not pass event CreatureSpawnEvent to untitled v0.1
    org.bukkit.plugin.IllegalPluginAccessException: Plugin attempted to register task while disabled

    сами классы:
    главный класс:
    package me.xarta.untitled;
    import org.bukkit.event.Listener;
    import org.bukkit.event.Listener;
    import org.bukkit.plugin.java.JavaPlugin;
    public final class Untitled extends JavaPlugin implements Listener {
    public final class Untitled extends JavaPlugin implements Listener {
    @Override
    @Override
    public void onEnable(){
    getLogger().info("Плагин запущен!");
    getServer().getPluginManager().registerEvents(new PlayerUsed(), this);
    }
    @Override
    @Override
    public void onDisable(){
    getLogger().info("Плагин выключен");
    }
    }​
    класс с ивентами и тп:
    package me.xarta.untitled;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.Bukkit;
    import org.bukkit.Location;
    import org.bukkit.event.EventHandler;
    import org.bukkit.entity.*;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.EntitySpawnEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.metadata.FixedMetadataValue;
    import org.bukkit.util.Vector;
    public class PlayerUsed extends JavaPlugin implements Listener {
    public class PlayerUsed extends JavaPlugin implements Listener {
    @EventHandler
    @EventHandler
    public void PlayerUsedItem(PlayerInteractEvent event) {
    PushVector(event.getPlayer());
    }
    @EventHandler
    @EventHandler
    public void EntitySpawn(EntitySpawnEvent event) {
    if (event.getEntityType() == EntityType.ARMOR_STAND){
    Entity ent = event.getEntity();
    this.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
    public void run(){
    if (ent.isOnGround()){
    ent.remove();
    getLogger().info("на земле");
    }
    }
    }, 1l, 1l);
    }
    }


    public void PushVector(Player player) {
    public void PushVector(Player player) {
    double pitch = ((player.getLocation().getPitch() + 90) * Math.PI) / 180;
    double yaw = ((player.getLocation().getYaw() + 90) * Math.PI) / 180;
    double x = Math.sin(pitch) * Math.cos(yaw);
    double x = Math.sin(pitch) * Math.cos(yaw);
    double y = Math.cos(pitch);
    double z = Math.sin(pitch) * Math.sin(yaw);
    Vector vector = new Vector(x, y, z);
    Vector vector = new Vector(x, y, z);
    CreateNewMissile("armor_stand",player.getLocation(), vector);
    }
    public void CreateNewMissile(String entity, Location locate, Vector vec) {
    public void CreateNewMissile(String entity, Location locate, Vector vec) {
    Entity armor_stand = locate.getWorld().spawnEntity(locate, EntityType.ARMOR_STAND);
    armor_stand.setVelocity(vec);
    armor_stand.setMetadata("BulletType", new FixedMetadataValue(this, "bullet"));
    }
    }​

    Извините если пост недостаточно удобен для чтения, делаю впервые. Если то что я делаю можно реализовать получше то хотел бы услышать/увидеть как это можно по другому сделать
     
  2. SparkDev

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

    Баллы:
    6
    отсюда убери implements Listener

    отсюда убери extends JavaPlugin

    это заменяешь либо на Bukkit.getServer(), либо экземпляр плагина передаёшь в конструктор, либо делаешь skeleton pattern
     

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