Hallo zusammen,
Ich beschäftige mich seit kurzem etwas intensiver mit Java und bin mit der Sprache noch nicht völlig vertraut (ich habe vorher hauptsächlich mit Delphi beschäftigt) und bin auf folgendes Problem gestoßen:
Ich habe in meiner Main Class eine Liste deklariert und will jetzt in meiner Listener Klasse (und später auch in anderen) Einträge zu dieser Liste hinzufügen/entfernen.
Allerdings konnte ich auch nach Google Recherche rausfinden, wie ich jetzt in meiner Listener Klasse auf diese Liste zugreife.
Anbei meine beiden Klassen:
Die Main:
Und hier meine Listener Class:
Das hinzufügen/entfernen passiert dann in dem login/logout event. Und es geht logischerweise um die ArrayList Onlineplayers aus der Main.
Danke schonmal im vorraus!
Lg. B3ta
Ich beschäftige mich seit kurzem etwas intensiver mit Java und bin mit der Sprache noch nicht völlig vertraut (ich habe vorher hauptsächlich mit Delphi beschäftigt) und bin auf folgendes Problem gestoßen:
Ich habe in meiner Main Class eine Liste deklariert und will jetzt in meiner Listener Klasse (und später auch in anderen) Einträge zu dieser Liste hinzufügen/entfernen.
Allerdings konnte ich auch nach Google Recherche rausfinden, wie ich jetzt in meiner Listener Klasse auf diese Liste zugreife.
Anbei meine beiden Klassen:
Die Main:
Java:
package com.B3ta.B3taCommands;
import java.util.ArrayList;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import com.B3ta.B3taCommands.Commands.Home;
import com.B3ta.B3taCommands.Commands.Sethome;
public class Main extends JavaPlugin {
public void onEnable(){
getServer().getPluginManager().registerEvents(new B3taListener(), this);
getCommand("home").setExecutor(new Home());
getCommand("sethome").setExecutor(new Sethome());
}
public ArrayList<ExtPlayer> OnlinePlayers = new ArrayList<ExtPlayer>();
public static class ExtPlayer{
public Player player;
Location HomeLocation;
public boolean hasHome = false;
public void SetHomeLocation(Location loc){
this.HomeLocation = loc;
}
public Location GetHomeLocation(){
return this.HomeLocation;
}
public void setPlayer(Player p){
this.player = p;
}
public Player getPlayer(){
return this.player;
}
}
}
Und hier meine Listener Class:
Java:
package com.B3ta.B3taCommands;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
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;
public final class B3taListener implements Listener {
@EventHandler
public void playerLogin(PlayerJoinEvent login){
Player playerJoined = login.getPlayer();
if(playerJoined.hasPlayedBefore()){
playerJoined.sendMessage(ChatColor.RED +"Willkommen zurück "+ChatColor.GREEN + playerJoined.getName());
} else{
Bukkit.broadcastMessage(ChatColor.GOLD + "Herzlich willkomen in Blocklantis, " + ChatColor.AQUA + playerJoined.getName());
Bukkit.broadcastMessage(ChatColor.GOLD+ "Danke, dass du dich für unseren Server entschieden hast");
}
}
@EventHandler
public void playerLogout(PlayerQuitEvent logout){
Player playerLeaving = logout.getPlayer();
}
}
Das hinzufügen/entfernen passiert dann in dem login/logout event. Und es geht logischerweise um die ArrayList Onlineplayers aus der Main.
Danke schonmal im vorraus!
Lg. B3ta