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
сами классы:
главный класс:
Извините если пост недостаточно удобен для чтения, делаю впервые. Если то что я делаю можно реализовать получше то хотел бы услышать/увидеть как это можно по другому сделать
[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("Плагин выключен");
}
}
класс с ивентами и тп: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"));
}
}
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"));
}
}
Извините если пост недостаточно удобен для чтения, делаю впервые. Если то что я делаю можно реализовать получше то хотел бы услышать/увидеть как это можно по другому сделать