Bukkit Plugin Hilfe! Wie gebe ich einem Spieler Items wenn er auf den Server Joint?

2 Antworten

Ja, es liegt an der Event Registrierung:
Du hast zwar den Code des Events, jedoch wir dem Server nie gesagt wo es liegt und das er es aufrufen soll

Hay Danke das du so schnell Antwortest (-:

Nun weiß ich jedoch nicht genau was du meinst. Meinst du die Imports das ich noch irgendwas Importieren muss?

0
@DimenectroDev

So ich habe es herausgefunden (-: vielen Dank DevForcer

Ich bin ein Dummkopf das hätte ich mir auch vorher Denken können.

@Override public void onEnable() {this.getServer().getPluginManager().registerEvents(this, this);System.out.println("[OITC] Gestartet");}
0

Den Listener auch registriert?

Klassennamen schreibt man groß.


Minecraft Bukkit - Plugin programmieren - Codeliste?

Hey,

ich habe vor kurzem damit angefangen mir das Pluginschreiben anzueignen. Gibt es irgendwo eine Liste in der jeder mögliche Code drinsteht (evtl mit beschreibung), der von der bukkit.jar zur Verfügung gestellt wird?

Beispiele:

import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.plugin.java.JavaPlugin; ...

...zur Frage

Wie füge ich die Onlinezeit eines Spielers in mein Scoreboard Plugin ein?

Hallo,

Ich habe einen eigenen Server und möchte für diesen ein Scoreboard Programmieren.

Ich wollte fragen, wie ich jetzt noch die Onlinezeit von einem Spieler in H einfügen kann.

Hier ist der Sourcecode:

package de.xite.main;

import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.ScoreboardManager;

public class main extends JavaPlugin implements Listener {

@Override
public void onEnable() {

    this.getServer().getPluginManager().registerEvents(this, this);
    
}

public void setScoreboard(Player p) {
    
ScoreboardManager sm = Bukkit.getScoreboardManager();
final Scoreboard board = sm.getNewScoreboard();
final Objective o = board.registerNewObjective("Scoreboard", "dummy");

o.setDisplaySlot(DisplaySlot.SIDEBAR);
o.setDisplayName("§7» §6Xitecraft.ml §7«");

o.getScore("§a ").setScore(15);
o.getScore("§bDein Rang:").setScore(14);


if (p.hasPermission("Prefix.admin")) {
    o.getScore("§4Admin").setScore(13);
} else if (p.hasPermission("Prefix.dev")) {
    o.getScore("§bDeveloper").setScore(12);
} else {
    o.getScore("§8Spieler").setScore(11);
}



o.getScore("§b ").setScore(10);
o.getScore("§bOnline: ").setScore(9);
o.getScore("§a" + Bukkit.getOnlinePlayers().size() + "/" + Bukkit.getMaxPlayers()).setScore(8);
o.getScore("§c ").setScore(8);
o.getScore("§bWebsite").setScore(7);
o.getScore("§a/website").setScore(6);
o.getScore("§d ").setScore(5);
o.getScore("§bTeamSpeak:").setScore(4);
o.getScore("§a/teamspeak").setScore(3);
o.getScore("§e ").setScore(2);
o.getScore("§bSkype").setScore(1);
o.getScore("§aXitecraftServer").setScore(0);

    
p.setScoreboard(board);

}

@EventHandler
public void onJoin(PlayerJoinEvent e) {
    
    new BukkitRunnable() {
        @Override
        public void run() {
            
            for (Player all : Bukkit.getOnlinePlayers()) {
                setScoreboard(all);
            }
            
        }
    }.runTaskLater(this, 1);
}

@EventHandler
public void onQuit(PlayerQuitEvent e) {
    
    new BukkitRunnable() {  
        @Override
        public void run() {
            
            for (Player all : Bukkit.getOnlinePlayers()) {
                setScoreboard(all);
            }
            
        }
    }.runTaskLater(this, 1);
}

}

...zur Frage

Warum geht das Inventar nicht zu?! (Java)

Ich hab ein Problem, welches ist, dass wenn man die Enderchest aufmacht, es wieder geschlossen und ein virtuelles geöffnet werden soll. Allerdings schließt sich das Inventar nicht mit p.closeInventory(); was mache ich falsch? Ich bin ratlos.

ps: Bis zum Virtuellen Inventar bin ich noch nicht gekommen, da können also auch noch Fehler drin sein.

Hier ist der Code: package org.gloin01.test;

import java.util.HashMap; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryOpenEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack;

public class EventListener implements Listener{

public Inventory inv = null;

HashMap<String, ItemStack[]> inventory = new HashMap<>();


public EventListener(TestPlugin plugin){

    plugin.getServer().getPluginManager().registerEvents(this, plugin);

}


@EventHandler
public void onPlayerTot(InventoryOpenEvent ev){

    String inve = ev.getInventory().getName();
    Player p = (Player) ev.getPlayer();
    if(inve == "container.enderchest"){

        p.closeInventory();
        inv = p.getServer().createInventory(null, 54, "§c" + p.getDisplayName() + "'s §2Enderchest");
        p.openInventory(inv);


        inventory.put(p.getName(),p.getInventory().getContents());

    }
}

}

...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

Was möchtest Du wissen?