Alle verschiedenen Minecraft Server arten (Vanilla/Spiogt/Forge/...)?

Hey Leute,

ich bzw. wir sind derzeit daran ein Linux installations Script zu programmieren bzw. es ist vom Aufbau her Fertig, aber wir möchten gerne noch mehr hinzufügen.

Unser Installations Script soll sehr viele Sachen installieren können. Bisher kann man einen:

  • Minecraft Server (Vanilla/Spigot/Bukkit)
  • Teamspeak Server
  • Sinusbot (Musikbot für Teamspeak und Discord / UNENDLICH OFT INSTALLIERBAR!!!!)
  • Bannerbot für Teamspeak
  • Ranksystem für Teamspeak und
  • einen Webserver(Apache2, PHP, MySQL, PHPmyAdmin)

installieren. Wir fügen auch immer mehr Sachen hinzu. Ich wollt z.B. weitere Minecraft Versionen hinzufügen. Bisher gibt es Spigot, Bukkit und Vanilla. Diese gibt es für fast alle Versionen die es gibt. Doch ich möchte gerne noch weitere hinzufügen. Ich kenne bisher noch:

  • Bungeecord
  • Waterfall
  • Sponge
  • Forge
  • Cauldron

Ich weiß das es noch mehr gibt, aber ich weiß nicht (mehr) wie diese heißen. Wisst ihr vielleicht noch ein paar? Wäre echt nice

Spiele, Server, Computer, Teamspeak, Technik, Linux, Installation, Ubuntu, Gaming, Minecraft, Apache, Mc, Minecraft Server, MySQL, PHP, Script, sponge, Teamspeak 3, TeamSpeak Server, Technologie, Webserver, Apache2, Bukkit, Debian, mc-server, phpMyAdmin, Spigot, teamspeak-3-server, Bukkit server, musikbot, BungeeCord, Minecraft Forge Server, Discord, Sinusbot, Spiele und Gaming, Discord Bot
Python Bukkit Plugin Fehler?

Hallo,

Ich wollte mich mal damit Beschäftigen, wie man für Minecraft Plugins in Python programmiert. Dafür habe ich mir einen Bukkit-Server eingerichtet und das Plugin PPLoader installiert, damit ich selber Plugins in Python entwickeln kann.

Ich habe mir dann ein passendes Verzeichnis erstellt und mir die beiden notwendigen Dateien erstellt.

plugin.py:

class HelloPlugin(PythonPlugin):
    def onEnable(self):
        self.getLogger().info("Hello world!")

plugin.yml:

name: Hello Plugin
mani: HelloPlugin
version: 1.0

Aber leider wenn ich meinen Server starte bekomme ich folgenden Fehler:

[16:41:54] [Server thread/INFO]: [PPLoader] Loading PPLoader v1.2.0
[16:41:54] [Server thread/INFO]: [PPLoader] Loading Plugin Hello.py.dir
[16:41:54] [Server thread/WARN]: org.bukkit.plugin.InvalidPluginException: org.bukkit.plugin.InvalidDescriptionException: main is not defined
[16:41:54] [Server thread/WARN]:    at org.cyberlis.pyloader.PythonPluginLoader.loadPlugin(PythonPluginLoader.java:160)
[16:41:54] [Server thread/WARN]:    at org.cyberlis.pyloader.PythonPluginLoader.loadPlugin(PythonPluginLoader.java:119)
[16:41:54] [Server thread/WARN]:    at org.cyberlis.pyloader.PythonPluginLoader.loadPlugin(PythonPluginLoader.java:93)
[16:41:54] [Server thread/WARN]:    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:393)
[16:41:54] [Server thread/WARN]:    at org.cyberlis.pyloader.PythonLoader.onLoad(PythonLoader.java:85)
[16:41:54] [Server thread/WARN]:    at org.bukkit.craftbukkit.v1_20_R3.CraftServer.loadPlugins(CraftServer.java:433)
[16:41:54] [Server thread/WARN]:    at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:213)
[16:41:54] [Server thread/WARN]:    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:979)
[16:41:54] [Server thread/WARN]:    at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:296)
[16:41:54] [Server thread/WARN]:    at java.base/java.lang.Thread.run(Thread.java:1583)
[16:41:54] [Server thread/WARN]: Caused by: org.bukkit.plugin.InvalidDescriptionException: main is not defined
[16:41:54] [Server thread/WARN]:    at org.bukkit.plugin.PluginDescriptionFile.loadMap(PluginDescriptionFile.java:1037)
[16:41:54] [Server thread/WARN]:    at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:264)
[16:41:54] [Server thread/WARN]:    at org.cyberlis.pyloader.PythonPluginLoader.loadPlugin(PythonPluginLoader.java:152)
[16:41:54] [Server thread/WARN]:    ... 9 more
[16:41:54] [Server thread/WARN]: Caused by: java.lang.NullPointerException: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
[16:41:54] [Server thread/WARN]:    at org.bukkit.plugin.PluginDescriptionFile.loadMap(PluginDescriptionFile.java:1032)
[16:41:54] [Server thread/WARN]:    ... 11 more

Viele Grüße und danke für eine Antwort

TheCPP

Minecraft, Minecraft Server, Plug-in, Python, Bukkit, Bukkit-Plugin
Selbstprogramiertes Plugin auf lokalen Server funktioniert nicht?

Ich habe ein Minecraft Plugin selbst programmiert aber jetzt wird diese Fehlermeldung angezeigt:

[08:53:05] [Server thread/ERROR]: Could not load 'plugins\EasyConvert+1.0.0.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Cannot find main class `easytrade.thepixel3261.easytrade.EasyTrade'
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:69) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:145) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:394) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:301) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_20_R1.CraftServer.loadPlugins(CraftServer.java:435) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3871-Spigot-d2eba2c-3f9263b]
    at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:219) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3871-Spigot-d2eba2c-3f9263b]
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:972) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3871-Spigot-d2eba2c-3f9263b]
    at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:303) ~[spigot-1.20.1-R0.1-SNAPSHOT.jar:3871-Spigot-d2eba2c-3f9263b]
    at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.ClassNotFoundException: easytrade.thepixel3261.easytrade.EasyTrade
    at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:147) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:99) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]
    at java.lang.Class.forName0(Native Method) ~[?:?]
    at java.lang.Class.forName(Class.java:534) ~[?:?]
    at java.lang.Class.forName(Class.java:513) ~[?:?]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:67) ~[spigot-api-1.20.1-R0.1-SNAPSHOT.jar:?]
    ... 8 more

Als Server Software benutze ich Spigot. 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;
    }
}

Java, Minecraft, Bukkit, Spigot, PaperMC

Meistgelesene Beiträge zum Thema Bukkit