Mit dem Tutorial kommt man schon relativ weit:
http://wiki.bukkit.org/Plugin_Tutorial
Für weiteres hilft die Bukkit-API:
Bukkit 1.4.6-R0.2-SNAPSHOT API
Zum Thema vollwertiges Java und Minecraft:
Die Bukkit-Api ist zwar extrem mächtig, aber dadurch auch extrem komplex.
Nach meiner Erfahrung fühlt sich die Api beim arbeiten auch nicht sonderlich gut an.
Meistens benötigt man irgendwelche Bandwurmaufrufe die durch 3-4 Abstraktionsschichten gehen um an das Objekt zu kommen, das man gerade haben will oder man kriegt einen Datentyp den man nicht verwenden kann, darf den aber ohne Typüberprüfung casten und kriegt dann irgendwo die Schnittstellen die man sucht. Dagegen ist das Eventsystem relativ klar aufgebaut, damit arbeitete es sich ganz gut.
(Ich bin allerdings nie über ein paar Stunden ausprobieren hinausgekommen, das oben gesagte ist also als Einsteigererfahrung zu bewerten).
Pluginprogrammierung für Minecraft kann man eigentlich gut mit einem Schrank voller Gläser vergleichen:
Es ist extrem leicht zu sehen ob ein Glas Makel hat, wieviel man einfüllen kann etc.
Aber wenn man selber vor der Aufgabe steht ein perfekt symmetrisches Kristallglas mit grünem Farbrand herzustellen in das exakt 250ml Flüssigkeit passen hat man vermutlich ein Problem.
Dann benötigt man nämlich (vermutlich, ich habe keine Ahnung von Glas) Fachwissen in irgendwelchen Sandmischungen, Glasbläsereitechnik usw.
Ebenso spielt in die Pluginentwicklung extrem viel rein:
Man trifft sehr viele Sprachelemente aus Java, alleine für dieses Grundwissen kann man ohne Probleme 1-2 Monate intensives Lernen einplanen bis man alle sicher beherrscht.
Dann kommt weitere Softwarearchitektur dazu. Soll das Plugin größer werden und später erweiterbar bleiben, muss man sich über Programmstruktur, OOP und Entwurfsmuster Gedanken machen, dies erfordert Erfahrung die man nur mit längerem Programmieren bekommt.
Und natürlich muss man sich in die Bukkit-Api einarbeiten, was ebenso viel Eigeninitiative erfordert (ich erinnere mich da nur an meine Versuche Zeilen in einem Schild zu updaten... Erstmal den Platzierten Block abfangen, dann noch die Unterscheidung zwischen Wandschild und normalem Schild, den Block dann nach Sign casten, dann per setLine die Zeilen setzen und anschließend noch den Block updaten weil die Änderungen nicht automatisch angezeigt wurden. Bis man das mal soweit hat das es läuft dauerts eine Weile beim Erstversuch).
Es dürfte aber leichter für einen Softwareentwickler mit Java-Erfahrung sein, sich in Bukkit und Minecraft einzuarbeiten, als für einen Minecraftspieler, der Bukkit und Java lernen will.
Gruß
[EDIT]
@tröööt: Hör bitte auf TOs anzugreifen oder sonstige Posts dieser Art zu verfassen. Plugins in Minecraft werden in Java geschrieben und somit hat dieses Thema Existenzberechtigung. Es passt zum Themengebiet dieses Forums, auch wenn es wenige geben wird, die sich mit der Materie wirklich auskennen.
Außerdem: warum sollten wir Fragen zu Datenbanken, anderen Programmiersprachen und besonders Javascript zulassen, aber keine zu Minecraft, nur weil dieses ein Spiel ist?
Das Unterschreibe ich, was allerdings nicht ins Forum gehört sind Threads wie "Minecraft schmeißt OutOfMemoryException". Das gab es auch schön öfters und das sind Probleme der Anwendung, nicht der Programmiersprache -> gehört also nicht ins Forum.
[/EDIT]