Minecraft Plugin zu .jar umwandeln?
Ich habe ein Minecraft Plugin programmiert welches ich jetzt zu einer .jar Datei umwandeln will damit ich es auf meinen Server benutzen kann. Allerdings wenn ich javac in dem Verzeichnis mit der Main.java datei ausführe, werden mir viele Großbuchstaben und andere Sachen als Fehler angezeigt.
Das ist der Code der Main.java Datei:
package easytrade.thepixel3261.easytrade;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
@Override
public void onEnable() {
getLogger().info("Plugin enabled!");
}
@Override
public void onDisable() {
getLogger().info("Plugin disabled!");
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (cmd.getName().equalsIgnoreCase("convert")) {
if (!(sender instanceof Player)) {
sender.sendMessage("Only players can use this command.");
return true;
}
Player player = (Player) sender;
if (args.length != 2) {
player.sendMessage("Usage: /convert <material> <amount>");
return true;
}
Material fromMaterial = Material.getMaterial(args[0].toUpperCase());
int amount = Integer.parseInt(args[1]);
if (fromMaterial == null) {
player.sendMessage("Invalid material specified.");
return true;
}
Material toMaterial = null;
if (fromMaterial == Material.COPPER_INGOT && amount >= 2) {
toMaterial = Material.EMERALD;
amount /= 2;
} else if (fromMaterial == Material.EMERALD && amount >= 1) {
toMaterial = Material.COPPER_INGOT;
amount *= 2;
} else {
player.sendMessage("Invalid material specified or not enough items.");
return true;
}
ItemStack fromItem = new ItemStack(fromMaterial, amount);
if (!player.getInventory().containsAtLeast(fromItem, amount)) {
player.sendMessage("You do not have enough " + fromMaterial.toString().toLowerCase()
+ "s in your inventory.");
return true;
}
ItemStack toItem = new ItemStack(toMaterial, amount);
// Remove the specified number of items from the player's inventory
player.getInventory().removeItem(fromItem);
// Add the converted items to the player's inventory
player.getInventory().addItem(toItem);
player.sendMessage("Successfully converted " + amount + " "
+ fromMaterial.toString().toLowerCase() + "s to " + amount + " "
+ toMaterial.toString().toLowerCase() + "s.");
return true;
}
return false;
}
}
Außerdem werden mir in IntelliJ 5 Warnungen angezeigt, weiß aber nicht wie man das fixen könnte:
werden mir fast alle Großbuchstaben als Fehler angezeigt
Was heißt das konkret?
Habe Bilder von den Fehlermeldungen hinzugefügt
2 Antworten
Also 1. Dem Compiler fehlen die Bukkit-Klassen und du kannst auch kein Java-Projekt einfach so starten da es keine Start Funktion hat also nützt es absolut nichts das musst du schon auf einem Minecraft Server tun. IntelliJ braucht in der library auch deine Bukkit/Spigot/Sponge datei womit dein server startet. Die Fehler mit "Not annonated" sind nicht schlimm da kannst du einfach über die Zeilen schreiben @Annonated glaube was ich jedoch nicht verstehe, das steht schon als Tipp in IntelliJ und programmier doch bitte direkt in Java und nicht in etwas anderes. Ich gehe davon aus das du nichtmal eine Plugin.yml drin hast oder?
Dem Compiler fehlen die Bukkit-Klassen. Die musst du natürlich als Abhängigkeit dem Projekt hinzufügen.
Wobei ich nicht recht verstehe, warum du das Projekt in IntellliJ bearbeitest und dann erst wieder manuell den Compiler startest.
Wie könnte man denn die Datei in IntelliJ Compilieren?