pracuji na pluginu pro svůj server ale mám problémy a nevím jak to mám vyřešit..
Toto je error z konzole
- [19:59:20 WARN]: [KiwiClass] Task #14 for KiwiClass v1.0 generated an exception
- java.lang.IllegalArgumentException: Plugin cannot be null
- at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
- at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.validate(CraftScheduler.java:397) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
- at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:123) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
- at me.onemoreplays.EventHandle$1.run(EventHandle.java:47) ~[?:?]
- at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot.jar:git-Spigot-21fe707-e1ebe52]
- at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot.jar:git-Spigot-21fe707-e1ebe52]
- at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:723) [spigot.jar:git-Spigot-21fe707-e1ebe52]
- at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot.jar:git-Spigot-21fe707-e1ebe52]
- at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot.jar:git-Spigot-21fe707-e1ebe52]
- at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot.jar:git-Spigot-21fe707-e1ebe52]
- at java.lang.Thread.run(Unknown Source) [?:1.8.0_131]
GeSHi © Codebox Plus Extension
Toto je EventHandler (Main Class)
- package me.onemoreplays;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.entity.Player;
- import org.bukkit.permissions.Permission;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.potion.Potion;
- import org.bukkit.potion.PotionEffect;
- import org.bukkit.potion.PotionEffectType;
- import org.bukkit.potion.PotionType;
- public class EventHandle extends JavaPlugin{
- public Permission warriorPex = new Permission("kclass.warrior");
- public Permission explorerPex = new Permission("kclass.explorer");
- public Permission roguePex = new Permission("kclass.rogue");
- public Permission healerPex = new Permission("kclass.healer");
- @Override
- public void onEnable(){
- getServer().getPluginManager().registerEvents(new warrior(this), this);
- getServer().getPluginManager().registerEvents(new explorer(this), this);
- getServer().getPluginManager().registerEvents(new healer(this), this);
- getServer().getPluginManager().registerEvents(new rogue(this), this);
- Bukkit.getScheduler().runTaskTimer(this, new Runnable() {
- private Plugin plugin;
- @Override
- public void run() {
- Potion potion = new Potion(PotionType.STRENGTH, 2);
- for (Player p : Bukkit.getOnlinePlayers()) {
- if(p.hasPermission("kclass.warrior")){
- }
- if(p.getCanPickupItems()){
- p.getPlayer().getInventory().addItem(potion.toItemStack(5));
- p.sendMessage(ChatColor.AQUA + "You has recieved your potions");
- p.sendMessage(ChatColor.GREEN + "!REMEMBER!");
- p.sendMessage(ChatColor.RED + "Next potions will be recieved in " + ChatColor.GOLD + "35" + ChatColor.RED + " minutes!");
- }
- else{
- Bukkit.getScheduler().runTaskTimer(this.plugin, new Runnable() {
- private Plugin plugin2;
- @Override
- public void run() {
- for (Player p : Bukkit.getOnlinePlayers()) {
- if(p.hasPermission("kclass.warrior")){
- if(p.getCanPickupItems()){
- p.getPlayer().getInventory().addItem(potion.toItemStack(5));
- p.sendMessage(ChatColor.AQUA + "You has recieved your potions");
- p.sendMessage(ChatColor.GREEN + "!REMEMBER!");
- p.sendMessage(ChatColor.RED + "Next potions will be recieved in " + ChatColor.GOLD + "35" + ChatColor.RED + " minutes!");
- }
- else{
- p.sendMessage(ChatColor.RED + "Your inventory is full. Now we are giving you" + ChatColor.GOLD + " 20 " + ChatColor.RED + "seconds to clean one slot.");
- p.sendMessage(ChatColor.RED + "If you will not do it your potions will be lost!");
- Bukkit.getScheduler().runTaskTimer(this.plugin2, new Runnable() {
- @Override
- public void run() {
- for (Player p : Bukkit.getOnlinePlayers()) {
- if(p.getCanPickupItems()){
- p.getPlayer().getInventory().addItem(potion.toItemStack(5));
- p.sendMessage(ChatColor.AQUA + "You has recieved your potions");
- p.sendMessage(ChatColor.GREEN + "!REMEMBER!");
- p.sendMessage(ChatColor.RED + "Next potions will be recieved in " + ChatColor.GOLD + "35" + ChatColor.RED + " minutes!");
- }
- else{
- p.sendMessage(ChatColor.DARK_RED + "Your potions has been lost!");
- p.sendMessage(ChatColor.GREEN + "!REMEMBER!");
- p.sendMessage(ChatColor.RED + "Next potions will be recieved in " + ChatColor.GOLD + "35" + ChatColor.RED + " minutes!");
- }}}}, 200L, 200L);}
- }
- }
- }}, 100L, 100L);
- }
- }
- }
- }, 60L, 60L);
- Bukkit.getScheduler().runTaskTimer(this, new Runnable() {
- @Override
- public void run() {
- for (Player p : Bukkit.getOnlinePlayers()) {
- if(p.hasPermission("kclass.healer")){
- p.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, Integer.MAX_VALUE, 1));
- }
- }
- }
- }, 200L, 200L);
- }
- @Override
- public void onDisable(){
- }
- }
GeSHi © Codebox Plus Extension
A toto je class s věcmi které má postava s permisí umět..
- package me.onemoreplays;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerRespawnEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.potion.Potion;
- import org.bukkit.potion.PotionEffect;
- import org.bukkit.potion.PotionEffectType;
- import org.bukkit.potion.PotionType;
- public class warrior implements Listener{
- EventHandle pl;
- public warrior(EventHandle plugin){
- this.pl = plugin;
- }
- @EventHandler
- public void join(PlayerJoinEvent join){
- Player player = join.getPlayer();
- player.sendMessage( ChatColor.GREEN + "Welcome back, we hope you are ready for fight");
- }
- @EventHandler
- public void respawn(PlayerRespawnEvent e){
- Player player = e.getPlayer();
- Potion potion = new Potion(PotionType.INVISIBILITY);
- Potion potion2 = new Potion(PotionType.STRENGTH, 2);
- Potion potion3 = new Potion(PotionType.SPEED);
- ItemStack itemstack = new ItemStack(Material.STONE_SWORD, 1);
- if (player.hasPermission("kclass.warrior")){
- player.setMaxHealth(30);
- player.sendMessage(ChatColor.LIGHT_PURPLE + "We can see you has died, so here you have something to start with");
- player.getPlayer().getInventory().addItem(potion.toItemStack(1));
- player.getPlayer().getInventory().addItem(potion2.toItemStack(2));
- player.getPlayer().getInventory().addItem(potion3.toItemStack(1));
- player.getPlayer().getInventory().addItem(itemstack);
- }
- if (!player.hasPermission("kclass.warrior")){
- player.setMaxHealth(20);
- }
- }
- @EventHandler
- public void fight(EntityDamageByEntityEvent e){
- if(e.getDamager() instanceof Player) {
- Player player = (Player) e.getDamager();
- if (player.hasPermission("kclass.warrior")) {
- player.setMaxHealth(30);
- player.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, Integer.MAX_VALUE, 0));
- }
- if (!player.hasPermission("kclass.warrior")){
- player.setMaxHealth(20);
- player.removePotionEffect(PotionEffectType.INCREASE_DAMAGE);
- }
- }
- }
- }
GeSHi © Codebox Plus Extension
A o co jde? Po připsání [spoiler]
- Bukkit.getScheduler().runTaskTimer(this, new Runnable() {
- private Plugin plugin;
- @Override
- public void run() {
- Potion potion = new Potion(PotionType.STRENGTH, 2);
- for (Player p : Bukkit.getOnlinePlayers()) {
- if(p.hasPermission("kclass.warrior")){
- }
- if(p.getCanPickupItems()){
- p.getPlayer().getInventory().addItem(potion.toItemStack(5));
- p.sendMessage(ChatColor.AQUA + "You has recieved your potions");
- p.sendMessage(ChatColor.GREEN + "!REMEMBER!");
- p.sendMessage(ChatColor.RED + "Next potions will be recieved in " + ChatColor.GOLD + "35" + ChatColor.RED + " minutes!");
- }
- else{
- Bukkit.getScheduler().runTaskTimer(this.plugin, new Runnable() {
- private Plugin plugin2;
- @Override
- public void run() {
- for (Player p : Bukkit.getOnlinePlayers()) {
- if(p.hasPermission("kclass.warrior")){
- if(p.getCanPickupItems()){
- p.getPlayer().getInventory().addItem(potion.toItemStack(5));
- p.sendMessage(ChatColor.AQUA + "You has recieved your potions");
- p.sendMessage(ChatColor.GREEN + "!REMEMBER!");
- p.sendMessage(ChatColor.RED + "Next potions will be recieved in " + ChatColor.GOLD + "35" + ChatColor.RED + " minutes!");
- }
- else{
- p.sendMessage(ChatColor.RED + "Your inventory is full. Now we are giving you" + ChatColor.GOLD + " 20 " + ChatColor.RED + "seconds to clean one slot.");
- p.sendMessage(ChatColor.RED + "If you will not do it your potions will be lost!");
- Bukkit.getScheduler().runTaskTimer(this.plugin2, new Runnable() {
- @Override
- public void run() {
- for (Player p : Bukkit.getOnlinePlayers()) {
- if(p.getCanPickupItems()){
- p.getPlayer().getInventory().addItem(potion.toItemStack(5));
- p.sendMessage(ChatColor.AQUA + "You has recieved your potions");
- p.sendMessage(ChatColor.GREEN + "!REMEMBER!");
- p.sendMessage(ChatColor.RED + "Next potions will be recieved in " + ChatColor.GOLD + "35" + ChatColor.RED + " minutes!");
- }
- else{
- p.sendMessage(ChatColor.DARK_RED + "Your potions has been lost!");
- p.sendMessage(ChatColor.GREEN + "!REMEMBER!");
- p.sendMessage(ChatColor.RED + "Next potions will be recieved in " + ChatColor.GOLD + "35" + ChatColor.RED + " minutes!");
- }}}}, 200L, 200L);}
- }
- }
- }}, 100L, 100L);
- }
- }
- }
- }, 60L, 60L);
GeSHi © Codebox Plus Extension
Mi plugin hází errory které jsem uvedl výše. Nevíte jak to opravit? Děkuji,
onemoreplays
