Pomocy! Gdzie tu jest błąd?

Dyskusja w 'Archiwum' rozpoczęta przez użytkownika Animo2233, Cze 30, 2012.

Status tematu:
Brak możliwości dodawania odpowiedzi.
  1. Animo2233
    Offline

    Animo2233 Nowicjusz

    Wiadomości:
    0
    Polubienia:
    0
    Punkty:
    1
    Witajcie!
    Piszę swój pierwszy plugin do bukkita korzystając z internetu, jednakże gdy włączam serwer plugin nie chce się załadować.
    Oto kod źródłowy:
    Kod (text):
    1. package me.animo2233.testplugin;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.command.Command;
    5. import org.bukkit.command.CommandSender;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.plugin.java.JavaPlugin;
    8.  
    9. public class testplugin extends JavaPlugin {
    10.  
    11.     @Override
    12.     public void onEnable() {
    13.         getCommand("slonce").setExecutor(this);
    14.         getCommand("deszcz").setExecutor(this);
    15.         getCommand("burza").setExecutor(this);
    16.        
    17.     }
    18.        
    19.        
    20.    
    21.  
    22.    
    23.     public boolean onCommand(CommandSender sender, Command command,String label, String[] args) {
    24.         Player player = (Player) sender;
    25.         if(command.getName().equalsIgnoreCase("slonce") && player.hasPermission("testplugin.slonce")) {    ;
    26.             this.getServer().getWorlds().get(0).setStorm(false);
    27.             this.getServer().getWorlds().get(0).setThundering(false);
    28.             player.sendMessage(ChatColor.GOLD + "Zaraz sie rozpogodzi");
    29.             return true;
    30.         }
    31.         if(command.getName().equalsIgnoreCase("deszcz") && player.hasPermission("testplugin.deszcz")) {    ;
    32.             this.getServer().getWorlds().get(0).setStorm(true);
    33.             this.getServer().getWorlds().get(0).setThundering(false);
    34.             player.sendMessage(ChatColor.AQUA + "Zaraz bedzie padac");
    35.             return true;
    36.         }  
    37.         if(command.getName().equalsIgnoreCase("burza") && player.hasPermission("testplugin.burza"))    {;
    38.             this.getServer().getWorlds().get(0).setStorm(true);
    39.             this.getServer().getWorlds().get(0).setThundering(true);
    40.             player.sendMessage(ChatColor.GREEN + "Zaraz rozpocznie sie burza");
    41.             return true;
    42.         }  
    43.        
    44.         return false;
    45.    
    46.     }
    47. }
    48.  
    49.    
    50.    
    51.  
    A to plik plugin.yml:


    Kod (text):
    1. name: ZP
    2. version: 1.0
    3. main: me.animo2233.testplugin.testplugin
    4. commands:
    5.     slonce:
    6.         description: sprawia ze jest slonce
    7.         usage: /slonce
    8.         permission: testplugin.slonce
    9.         permission-message: nie masz uprawnien do wykonania tej operacji
    10.     deszcz:
    11.         description: sprawia ze jest deszcz
    12.         usage: /deszcz
    13.         permission: testplugin.deszcz
    14.         permission-message: nie masz uprawnien do wykonania tej operacji
    15.     burza:
    16.         description: sprawia ze jest burza
    17.         usage: /burza
    18.         permission: testplugin.burza
    19.         permission-message: nie masz uprawnien do wykonania tej operacji

    Gdy odpalam serwer to w cmd wyskakuje coś takiego:

    Kod (text):
    1. 16:03:20 [SEVERE] Could not load 'plugins\zmieniaczpogody.jar' in folder 'plugin
    2. s'
    3. org.bukkit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: me.a
    4. nimo2233.testplugin.testplugin
    5.         at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    6. ava:151)
    7.         at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    8. java:305)
    9.         at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    10. .java:230)
    11.         at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:213)
    12.         at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:189)
    13.         at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigur
    14. ationManager.java:53)
    15.         at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:166)
    16.         at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:432)
    17.         at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    18. Caused by: java.lang.ClassNotFoundException: me.animo2233.testplugin.testplugin
    19.         at java.net.URLClassLoader$1.run(Unknown Source)
    20.         at java.security.AccessController.doPrivileged(Native Method)
    21.         at java.net.URLClassLoader.findClass(Unknown Source)
    22.         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    23. java:41)
    24.         at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    25. java:29)
    26.         at java.lang.ClassLoader.loadClass(Unknown Source)
    27.         at java.lang.ClassLoader.loadClass(Unknown Source)
    28.         at java.lang.Class.forName0(Native Method)
    29.         at java.lang.Class.forName(Unknown Source)
    30.         at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    31. ava:140)
    32.         ... 8 more


    Mogę liczyć na waszą pomoc? Dopiero zaczynam :)
     
  2. Wert
    Offline

    Wert Znany

    Wiadomości:
    1,453
    Polubienia:
    554
    Punkty:
    268
    Ok:p
    Więc w czym piszesz?
    Czy w plugin.yml masz odstęp przed description ze spacji czy tabulator? Jak TAB to wyspacjuj.
    Jak dla mnie plugin wygląda w porządku, błędów nie widzę.

    https://www.dropbox.com/s/h21xcsqsfzqi2gy/TEST.jar
    Dla pewności zrobiłem lecz nie sprawdzałem:p
    Porównaj jak moje zadziała, i jak tak to lajkuj:D
     
  3. Animo2233
    Offline

    Animo2233 Nowicjusz

    Wiadomości:
    0
    Polubienia:
    0
    Punkty:
    1
    Nic z tego :(
    Wywaliło mi w cmd coś takiego, a plugin nie działa:
    Kod (text):
    1.  ... 16 more
    2. 7 [SEVERE] Could not load 'plugins\TEST.jar' in folder 'plugins'
    3. kit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: pl.T
    4.  
    5. at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    6. )
    7. at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    8. 5)
    9. at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    10. 30)
    11. at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:213)
    12. at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:550)
    13. at org.bukkit.Bukkit.reload(Bukkit.java:182)
    14. at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
    15.  
    16. at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:16
    17.  
    18. at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:4
    19.  
    20. at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServer.
    21. 5)
    22. at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:612)
    23. at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:581)
    24. at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
    25. at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    26. by: java.lang.ClassNotFoundException: pl.TGF
    27. at java.net.URLClassLoader$1.run(Unknown Source)
    28. at java.security.AccessController.doPrivileged(Native Method)
    29. at java.net.URLClassLoader.findClass(Unknown Source)
    30. at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    31. )
    32. at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
    33. )
    34. at java.lang.ClassLoader.loadClass(Unknown Source)
    35. at java.lang.ClassLoader.loadClass(Unknown Source)
    36. at java.lang.Class.forName0(Native Method)
    37. at java.lang.Class.forName(Unknown Source)
    38. at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    39. )
    40. ... 13 more

    Nie wiem dlaczego :(
    Może jednak coś jest nie tak w kodzie?
     
  4. Wert
    Offline

    Wert Znany

    Wiadomości:
    1,453
    Polubienia:
    554
    Punkty:
    268
    Boooże:p
    Zrobiłeś głupi błąd:
    czerwony - złe miejsce
    zielony - dobre:d
    package me.animo2233.testplugin;

    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;

    public class testplugin extends JavaPlugin {

    @Overridepublic void onEnable() {
            getCommand("slonce").setExecutor(this);
            getCommand("deszcz").setExecutor(this);
            getCommand("burza").setExecutor(this);
           
        }

    @Override
        public boolean onCommand(CommandSender sender, Command command,String label, String[] args) {
            Player player = (Player) sender;
            if(command.getName().equalsIgnoreCase("slonce") && player.hasPermission("testplugin.slonce")) {    ;
                this.getServer().getWorlds().get(0).setStorm(false);
                this.getServer().getWorlds().get(0).setThundering(false);
                player.sendMessage(ChatColor.GOLD + "Zaraz sie rozpogodzi");
                return true;
            }
            if(command.getName().equalsIgnoreCase("deszcz") && player.hasPermission("testplugin.deszcz")) {    ;
                this.getServer().getWorlds().get(0).setStorm(true);
                this.getServer().getWorlds().get(0).setThundering(false);
                player.sendMessage(ChatColor.AQUA + "Zaraz bedzie padac");
                return true;
            }   
            if(command.getName().equalsIgnoreCase("burza") && player.hasPermission("testplugin.burza"))    {;
                this.getServer().getWorlds().get(0).setStorm(true);
                this.getServer().getWorlds().get(0).setThundering(true);
                player.sendMessage(ChatColor.GREEN + "Zaraz rozpocznie sie burza");
                return true;
            }   
           
            return false;
       
        }
    }
     
    Animo2233 lubi to.
  5. Animo2233
    Offline

    Animo2233 Nowicjusz

    Wiadomości:
    0
    Polubienia:
    0
    Punkty:
    1
    Dzięki - działa :)
     
Status tematu:
Brak możliwości dodawania odpowiedzi.