Minecraft Server plugin programmieren Spieler im Event abfragen?

3 Antworten

Wieso kommst du nicht auf (eigentlich obligatorische und überaus logische) Idee, uns die Fehlermeldung mitzuteilen?

Wenn du möchtest, dass wir deinen Code lesen, dann nutze https://pastebin.com

Ebenso solltest du dich beim Programmieren auf eine Sprache beschränken. Du schreibst ja auch keinen Schulaufsatz in fünf verschiedenen Sprachen, oder rechnest deine Mathe-Aufgaben gemischt im Trinär-, Oktal- und Dezimalsystem.

Da die meisten Anfänger (die Minecraft-Plugins "entwickeln") sowieso nicht auf die Profis hören... der Fehler liegt u.a. an "plugin.tot".

Danke für die Antwort du hast recht es lag an "plugin.tot" danke für die schnelle Antwort und beim nächsten mal nehme ich "https://pastebin.com".

0

Ich glaube, dass du erst checken musst, ob das gestorbene Entity ein Spieler ist, und dann die UUID, den Namen usw vom Spieler abfragst, nicht vom Entity ;)

Ich habe das Problem jetzt gelöst danke für deine Antwort. Und ich glaube nicht das ich das vorher gucken muss da das Event ja "PlayerDeathEvent" da denke ich wird der Player gleich übergeben.

0

Könnte ich mal vorbeischauen? :-) (IP?)

Bukkit Plugin Programmieren Events?

Hey, ich will ein Lobby Plugin (Bukkit) programmieren brauche aber noch hilfe:

  • Wie testet man ob ein Spieler Feuer mit der Hand ausschlägt?
  • Wie testet man ob ein Spieler brennt?
  • Wie testet man ob ein Spieler ein Feuerzeug benutzt?
  • Wie testet man ob ein Spieler ein Eimer leert / füllt?

Ich möchte all diese Sachen e.setCancelled(true); machen!

Mein Code bis jz mit Block break + Block build (Listener):


package Listener;

import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPlaceEvent;

public class noBuild implements Listener {

@EventHandler
public void onBlockBreak(BlockBreakEvent e){
    e.setCancelled(true);
}


@EventHandler
public void onBlockPlace(BlockPlaceEvent e){
    e.setCancelled(true);
}

}


...zur Frage

Minecraft Spigot 1.8 plugin Bug (Selbst programmiert)!?

Hallo. ich ahbe eein plugin geschrieben (mit video hilfe) womit ich ein hideall item habe also wnen man mit nem item (im meinem fall Lohrenrute) rechtsklick macht, sollen alle unsichtbar werden, abber in aclipse meckert der an, das ".getServer()" nicht definiert wäre.

Heir mal der code:

package System;

import java.util.ArrayList;

import javax.sound.midi.MidiDevice.Info;

import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent;

public class Items implements Listener {

private Info plugin;
ArrayList<String> hidden = new ArrayList<>();

public Items(Info info) {
    this.plugin = info;
    this.plugin.getServer().getPluginManager().registerEvents(this, plugin);
}

@EventHandler
public void onplayerItneract(PlayerInteractEvent e) {
    Player p = e.getPlayer();
    
    if(e.getAction() ==Action.RIGHT_CLICK_AIR | e.getAction() == Action.RIGHT_CLICK_BLOCK) {
        if(e.getMaterial().equals(Material.BLAZE_ROD)) {
            
            for(Player players : Bukkit.getOnlinePlayers()) {
                
                if(hidden.contains(p.getName())) {
                    hidden.remove(p.getName());
                    p.showPlayer(players);
                    p.sendMessage("§aAlle Spieler sind nun wieder sichtbar!");
                }else
                    if(!hidden.contains(p.getName())) {
                        hidden.add(p.getName());
                        p.hidePlayer(players);
                        p.sendMessage("§cAlle Spieler sind nun unsichtbar");
                        
                    }
            }
        }
    }
}

}

...zur Frage

Minecraft "Anti Chat Spam" programmieren?

Hallo, ich wollte mal ein "Anti Spam" für Minecraft mit Java Programmieren,

Das kann man ja mit Scheduler machen, hier ist mein code. ich habe das im Internet so gesehen dass es eig. so funktionieren soll:

public class AntiSpamListener implements Listener {
    
    public static ArrayList<Player> chat = new ArrayList<>();
    
    @EventHandler
    
    public void onChat(AsyncPlayerChatEvent e) {
        
        Player p = (Player)e.getPlayer();
        
        if(!chat.contains(p)) {
            
            chat.add(p);
            
            e.setCancelled(false);
            
            Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
                
                @Override
                public void run() {
                    
                    chat.remove(p);
                    
                }
            }, 20*2);
            
        } else {
            
            p.sendMessage(EssentialsMain.Chat + "Bitte schreibe etwas langsamer.");
            
            e.setCancelled(true);
            
        }
        
    }

}
    
...zur Frage

Java: direkt erstelltes Objekt direkt in eine Liste packen?

Hey.. ich schreibe grade ein Java Programm, wo ich ein Objekt erstelle. Zum Beispiel:

public newObject(String name){ this.name=name; }

Dann gibt es halt logischerweise auch noch ein paar methoden z.B. getname(), aber ich möchte dann direkt eine ArrayList haben, wo jedes neu erstelle Objekt drinne ist, also List objekte = new ArrayList<>(); Woher bekomme ich dann das newObject, dass ich dann in die Liste hinzufügen kann?

lg

...zur Frage

Spieler in IF abfragen?

Hallo ich möchte bei Minecraft Java plugin, dass wenn ein Spieler mit einem Bestimmten Namen joint einen Effekt abspielen doch bekomme ich das nicht hin hier mein jetziger Code

@EventHandler
public void onJoin(PlayerJoinEvent e){
    Player p = e.getPlayer();
    
    p.sendMessage("funkt");
    
    if(){
    }
    
}
...zur Frage

Wenn z.B. 4 Spieler in einer ArrayList sind -> Countdown?

Hey Leute, ich versuche zurzeit, ein Plugin zu programmieren, um, wenn mindestens 4 Spieler in einer ArrayList sind, einen Countdown (mit scheduler) zu starten. Jetzt weiß ich aber nicht, ob ich das als if-Abfrage machen kann. Ich dachte an sowas wie:

if(ArrayList.size() == 4)

Ich habe es schon mal ausprobiert, aber es geht nicht :( Ich wollte nämlich ein MiniGame erstellen und mit /join kann man dem Spiel beitreten und wird dann halt einer ArrayList hinzugefügt... Könnte man das eventuell auch mit einem EventHandler machen?

Wenn ihr mir helfen könntet, würde ich mich echt freuen :)

...zur Frage

Was möchtest Du wissen?