EntityDamageEvent Bukkit Plugin?

Hi, ich hätte einmal eine Frage.

Ich bin relativ neu im Coden von Plugins (insgesamt im Coden) und wollte ein Plugin machen, bei dem, wenn der Spieler irgendeinen Schaden erhält, der Spieler in die Luft geschleudert wird.

Das funktioniert auch alles, bis auf das Erkennen des Schadens. Der Spieler wird irgendwie nur gelauncht, wenn er Fallschaden bekommt. Aber nicht, wenn er z.B. von einem Zombie geschlagen wurde.

Kann mir da jemand helfen? Danke. 🙂

Falls man das auf dem Bild nicht sieht, nochmals hier:

import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByBlockEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.util.Vector;

public class SchadenGleichLaunchChallenge extends JavaPlugin {
  public class SchadenListener implements Listener {
    @EventHandler(priority = EventPriority.HIGHEST)
    public void onEvent(final EntityDamageEvent event) {
      Entity e = event.getEntity();

      if (e instanceof Player || event instanceof EntityDamageByEntityEvent || event instanceof EntityDamageByBlockEvent) {
        Player player = (Player)e;
        player.setVelocity(new Vector(0, 70, 0));
      }
    }
  }

  public void onEnable() {
    PluginManager pluginManager = this.getServer().getPluginManager();
    SchadenListener listener = new SchadenListener();
    pluginManager.registerEvents(listener, this);
  }

  public void onDisable() {
  }
}
Bild zu Frage
Java, Minecraft, Plug-in
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

Meistgelesene Fragen zum Thema Plug-in