Java – die neusten Beiträge

java.lang.ClassNotFoundException was muss ich tun damit das geht?

[17:56:01] [CanaryMod] [INFO]: Enabling Plugins...

[17:56:01] [CanaryMod] [ERROR]: Exception while enabling plugin: HelloWorld

net.canarymod.exceptions.PluginLoadFailedException: Failed to load plugin

    at net.canarymod.plugin.lifecycle.JavaPluginLifecycle._load(JavaPluginLifecycle.java:36) ~[CanaryMod.jar:1.7.10-1.1.2]

    at net.canarymod.plugin.lifecycle.PluginLifecycleBase.load(PluginLifecycleBase.java:71) ~[CanaryMod.jar:1.7.10-1.1.2]

    at net.canarymod.plugin.lifecycle.JavaPluginLifecycle.load(JavaPluginLifecycle.java:16) ~[CanaryMod.jar:1.7.10-1.1.2]

    at net.canarymod.plugin.PluginManager.enablePlugin(PluginManager.java:68) ~[CanaryMod.jar:1.7.10-1.1.2]

    at net.canarymod.plugin.PluginManager.enableAllPlugins(PluginManager.java:101) [CanaryMod.jar:1.7.10-1.1.2]

    at net.canarymod.Canary.enablePlugins(Canary.java:284) [CanaryMod.jar:1.7.10-1.1.2]

    at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:278) [CanaryMod.jar:1.7.10-1.1.2]

    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:391) [CanaryMod.jar:1.7.10-1.1.2]

    at net.minecraft.server.MinecraftServer$3.run(MinecraftServer.java:742) [CanaryMod.jar:1.7.10-1.1.2]

Caused by: java.lang.ClassNotFoundException: The class helloworld.HelloWorld could not be found!

    at net.canarymod.CanaryClassLoader.findClass(CanaryClassLoader.java:55) ~[CanaryMod.jar:1.7.10-1.1.2]

    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_241]

    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_241]

    at net.canarymod.plugin.lifecycle.JavaPluginLifecycle._load(JavaPluginLifecycle.java:27) ~[CanaryMod.jar:1.7.10-1.1.2]

    ... 8 more

Caused by: java.lang.ClassNotFoundException: helloworld.HelloWorld

    at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_241]

    at net.canarymod.CanaryClassLoader.findClass(CanaryClassLoader.java:37) ~[CanaryMod.jar:1.7.10-1.1.2]

    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_241]

    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_241]

    at net.canarymod.plugin.lifecycle.JavaPluginLifecycle._load(JavaPluginLifecycle.java:27) ~[CanaryMod.jar:1.7.10-1.1.2]

    ... 8 more

Das sagt die Shell wenn ich versuche das plugin zum laufen zu bringen was kann ich dagegen tun?

Computer, programmieren, Java, Minecraft, Minecraft Plugin

Minecraft plugin scheduler?

Hallo leute, sobald ich zwei cooldowns parallel am laufen habe, und einer durch ist, gibt es beim zweiten cooldown folgende errormeldung. Weiß jemand wo das Problem ist?:

java.lang.NullPointerException
    at de.johannes.hcfabilitys.main.ABILITYT$1.run(ABILITY.java:101) ~[?:?]
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:723) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_241]

Hier der code:

public static void inGameCountDown(Player p, Player t) {
tp = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getPlugin(), new Runnable() {
@Override
public void run() {
System.out.println("Activating run for: " + p.getName());
if(cooldown.get(p) == null) {
returnInventory(p, t);
Bukkit.getScheduler().cancelTask(tp);
}
if (cooldown.get(p) == 1) {
System.out.println("Canceling cooldown for: " + p.getName());
Bukkit.getScheduler().cancelTask(tp);
cooldown.remove(p);
returnInventory(p, t);
}
if(cooldown.containsKey(p)) {
int c = cooldown.get(p);
c--;
System.out.println("Hashmap contains key for: " + p.getName() + "   " + c);
cooldown.put(p, c);
}
}
}, 20, 20);
}
Java, Bukkit, Spigot, Minecraft Plugin

[09:03:02 ERROR]: Error occurred while enabling plugin v1.0 (Is it up to date?) java.lang.NullPointerException?

Hallo seit kurzem habe ich das Problem das mein Chatclear Command nicht geht. Beim Start kommt diese Fehlermeldung:

[09:03:02 ERROR]: Error occurred while enabling plugin v1.0 (Is it up to date?)

java.lang.NullPointerException

    at de.name.plugin.main.Main.onEnable(Main.java:25) ~[?:?]

    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:335) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:356) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:316) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.reload(CraftServer.java:746) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.Bukkit.reload(Bukkit.java:534) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:646) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchServerCommand(CraftServer.java:632) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at net.minecraft.server.v1_8_R1.DedicatedServer.aM(DedicatedServer.java:353) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:317) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot.jar:git-Spigot-c3c767f-33d5de3]

    at java.lang.Thread.run(Unknown Source) [?:1.8.0_241]

Der Command ist in der plugin.yml und in der Main eingetragen. Eclipse selber erkennt auch keinen Fehler

PC, Technik, Java, Command, Eclipse, Error, Minecraft Plugin

Java GUI für Game erstellen: Platzierungsprobleme?

Hallo,

ich soll eine grafische Oberfläche für ein Spiel kreieren. Es soll aus einem JLabel (Überschrift), drei JButtons (für Start, eins setzen, zwei setzen) und eine Zeichnung (Graphics g) bestehen. Jetzt geht es erst einmal nur darum, dass richtig zu platzieren. Ich habe schon jegliche Layouts ausprobiert, aber ich bekomme es einfach nicht hin.

So soll es aussehen:

So bekomme ich es höchstmöglich hin:

Das ist der Code:

public class MyUI {
  public static void main(String[] args) {
    JFrame fenster = new JFrame("NIM-Spiel");
    MyJPanel grafiken = new MyJPanel();
    JPanel panel = new JPanel();
    panel.setLayout(new GridBagLayout());

    GridBagConstraints gbc = new GridBagConstraints();
    gbc.insets = new Insets(5, 5, 5, 5);

    JLabel ueberschrift = new JLabel("Variante des NIM-Spiels");+
    ueberschrift.setFont(new Font("ARIAL", Font.BOLD, 25));
    ueberschrift.setVerticalAlignment(JLabel.TOP);
    ueberschrift.setHorizontalAlignment(JLabel.CENTER);
    panel.add(ueberschrift);

    JButton startButton = new JButton("START");
    gbc.gridx = 0;
    gbc.gridy = 1;
    gbc.fill = GridBagConstraints.HORIZONTAL;
    panel.add(startButton, gbc);

    JButton button1 = new JButton("Eins setzen");
    gbc.gridx = 0;
    gbc.gridy = 2;
    panel.add(button1, gbc);

    JButton button2 = new JButton("Zwei setzen");
    gbc.gridx = 0;
    gbc.gridy = 3;
    panel.add(button2, gbc);

    fenster.setSize(1000, 570);
    fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    fenster.setLocationRelativeTo(null);
    fenster.setResizable(false);
    fenster.setContentPane(grafiken);
    fenster.add(panel);
    fenster.setVisible(true);
  }
}

Mit dem GridBagLayout hatte ich die besten Ergebnisse. Aber perfekt ist das nicht, mit dem GridLayout ging es auch nicht. Das BorderLayout hat nur das JPanel richtig positioniert, dafür konnte ich das set vertical und horizontal alignment wegmachen.

Wäre es vielleicht die Lösung, ein BorderLayout zu kreieren, wo oben das JLabel platziert, unten dann die Zeichnung und in der Mitte für die Buttons ein GridLayout eingeschoben wird? Also ein Layout in einem Layout?

Das ist noch zusätzlich meine Klasse für die Zeichnung: https://pastebin.com/Z6QSAHpm

PS.: Erst durch Setzen von superpaint g wurde die Zeichnung überhaupt im Fenster erstellt. Woran liegt das?

Bild zum Beitrag
Computer, Technik, programmieren, Java, Eclipse, Informatik, Technologie, Grafische Oberfläche, Java Swing, Spiele und Gaming

Java Methoden aus anderen Unterklassen aufrufen (Greenfoot)?

Hey, habe eine kurze Frage über Vererbungen und Klassen. Im Internet konnte ich darauf bisher keine Antwort finden.

Also erstmal die wichtigsten Punkte zusammengefasst:

Ich habe 2 Unterklassen die von der Actor-Klasse abstammen, die Wiederum Unterklassen besitzen (wie eine Gabel).

Das würde dann wie folgt aussehen:

PlayerRabbit erbt von Rabbit, erbt von Actor und

Carrot, PickAxe... erbt von PickableObjects erbt von Actor.

Ich würde nun gerne von PlayerRabbit aus eine Methode von z.B. PickAxe aufrufen. Hierfür hätte ich folgenden Code geschrieben:

________________________

PickableObjects[] objs = getRabbitWorld().getObjectArrayAt(getX(), getY(), PickableObjects.class);

objs[0].doSomething();

________________________

Ich würde dann ein Objekt "vom Typ PickableObjects", also nur Carnot, PickAxe, Banana... aufnehmen, in einer zwischenvariable speichern und dann auf die Methode doSomething() aufrufen.

Das Problem hierbei ist nun jedoch, dass er nur die Methode aus der Klasse PickableObjects anspricht.

(Wenn ich "public void doSomething" in der Klasse PickableObjects definiere passiert etwas, wenn ich es hingegen nur in den Carnot, PickAxe... definiere erkennt er die Methode nicht)

Würde mich über jede Hilfe freuen! Danke :9

PS: Ja, alle meine Methoden sind Public und ja, die Objekte werden auch direkt angesprochen. (Bei dem Befehl getRabbitWorld().removeObject(objs[0]); kann ich das Objekt zum Beispiel entfernen)

Bild zum Beitrag
Computer, Schule, Technik, programmieren, Java, Informatik, Greenfoot

Meistgelesene Beiträge zum Thema Java