Console: Code: 18:52:24 [INFO] Starting minecraft server version Beta 1.3 18:52:24 [INFO] Loading properties 18:52:24 [INFO] Starting Minecraft server on localhost:25565 18:52:24 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-516- gdf87bb3-b531jnks (MC: 1.3) 18:52:24 [INFO] Preparing level "world" 18:52:24 [INFO] Preparing start region 18:52:25 [SEVERE] Could not load plugins\Beta.jar in plugins: null org.bukkit.plugin.InvalidPluginException at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:113) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager. java:159) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager .java:107) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:59) at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191) at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246) at net.minecraft.server.ThreadServerApplication.run(SourceFile:366) Caused by: java.lang.NoClassDefFoundError: IOException at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.getConstructor(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:108) ... 8 more Caused by: java.lang.ClassNotFoundException: IOException at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:30) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 13 more 18:52:25 [INFO] Done (0,122s)! For help, type "help" or "?" > Beta: Code: package org.Tinto.Bukkit.Beta; import java.io.*; import java.util.HashMap; import org.bukkit.Server; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.Event.Priority; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.PluginLoader; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; /** * Beta for Bukkit * * @author Tinto */ public class Beta extends JavaPlugin { private final BetaPlayerListener playerListener = new BetaPlayerListener(this); private final BetaBlockListener blockListener = new BetaBlockListener(this); private final HashMap debugees = new HashMap(); public Beta(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File folder, File plugin, ClassLoader cLoader) throws IOException { super(pluginLoader, instance, desc, folder, plugin, cLoader); // TODO: Place any custom initialisation code here // NOTE: Event registration should be done in onEnable not here as all events are unregistered when a plugin is disabled } public void onEnable() { // TODO: Place any custom enable code here including the registration of any events // Register our events PluginManager pm = getServer().getPluginManager(); getServer().getPluginManager().registerEvent(Event.Type.BLOCK_PLACED, blockListener, Priority.Normal, this); pm.registerEvent(Event.Type.PLAYER_COMMAND, playerListener, Priority.Normal, this); // EXAMPLE: Custom code, here we just output some info so we can check all is well PluginDescriptionFile pdfFile = this.getDescription(); System.out.println( pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!" ); } public void onDisable() { // TODO: Place any custom disable code here // NOTE: All registered events are automatically unregistered when a plugin is disabled // EXAMPLE: Custom code, here we just output some info so we can check all is well System.out.println("Goodbye world!"); } public boolean isDebugging(final Player player) { if (debugees.containsKey(player)) { return debugees.get(player); } else { return false; } } public void setDebugging(final Player player, final boolean value) { debugees.put(player, value); } } plugin.yml Code: name: Beta main: org.Tinto.Bukkit.Beta.Beta version: 0.1 BetaPlayerListener: Code: package org.Tinto.Bukkit.Beta; import java.io.*; import org.bukkit.Location; import org.bukkit.entity.*; import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerEvent; import org.bukkit.event.player.PlayerListener; import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.inventory.*; import org.bukkit.material.MaterialData; import org.bukkit.*; import org.bukkit.ChatColor; /** * Handle events for all Player related events * @author Tinto */ public class BetaPlayerListener extends PlayerListener { private final Beta plugin; public BetaPlayerListener(Beta instance) { plugin = instance; } public void onPlayerCommand(PlayerChatEvent event) { Player players = event.getPlayer(); String[] message = event.getMessage().split("" ""); if(message[0].equalsIgnoreCase(""/clearinventory"")) { players.getInventory().clear(); } } } BetaBlockListener: Code: package org.Tinto.Bukkit.Beta; import org.bukkit.block.*; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.block.BlockCanBuildEvent; import org.bukkit.event.block.BlockListener; import org.bukkit.event.block.BlockPhysicsEvent; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.*; import org.bukkit.inventory.Inventory; /** * Beta block listener * @author Tinto */ public class BetaBlockListener extends BlockListener { private final Beta plugin; public String stuff =""; public BetaBlockListener(final Beta plugin) { this.plugin = plugin; } }
You need to remove the constructor function from your main plugin class. Its the bit that starts: Code: public Beta(PluginLoader pluginLoader, Server instance,PluginDescriptionFile desc, File folder, File plugin,ClassLoader cLoader) You must have got your code from an outdated example.
This constructor is no longer used: Code: public Beta(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File folder, File plugin, ClassLoader cLoader) throws IOException { super(pluginLoader, instance, desc, folder, plugin, cLoader); This is Deprecated: Code: onPlayerCommand(PlayerChatEvent event) Now you should use: Code: onCommand(CommandSender sender, Command command, String label, String[] args) Take a quick look at this: ScrapBukkit I'm not at home so I can't help more, but feel free to ask anything =)
This should be sticky ^^ i think many ppl will search for a generator first instead of reading stuff a.s.o. Then they will find a Bukkit Plugin Generator which will also generate an Eclispse or Netbeans project .. Nice someone would think but because its base is outdated you'll end like this ^^ Seems that this ScrapBukkit Plugin is a good template to start from.
@Sammy: Yeah, or at least move them to outdated =) Trying those outdated generators are a complete waste of time. In addition: The outdated BPM will not create a classpath for Compile-Tests in Netbeans 6.9.1 so it would not work anyways because JUnit and its default entrys are missing.