Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

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"));
}
}​

Извините если пост недостаточно удобен для чтения, делаю впервые. Если то что я делаю можно реализовать получше то хотел бы услышать/увидеть как это можно по другому сделать
 
public final class Untitled extends JavaPlugin implements Listener {
отсюда убери implements Listener

public class PlayerUsed extends JavaPlugin implements Listener {
отсюда убери extends JavaPlugin

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

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

Назад
Верх