• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

ArrayList geht nicht

S

Scrumplex

Guest
Hallo Community,
ich erstelle zurzeit ein plugin das gestern noch funzte und heute nicht mehr!
Code:
Code:
package net.scrumplex.electricstaff;
import java.util.ArrayList;

import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener{
	public static ArrayList<String> canfly = new ArrayList<>();
	public static int PlayerAmount = 0;
	
	public void onEnable(){
		System.out.println("[Electric Staff "+this.getDescription().getVersion()+"] Now you can fly!");
		this.getServer().getPluginManager().registerEvents(this, this);
		this.getConfig().addDefault("messages.canfly", "§aNow you can fly!");
		this.getConfig().addDefault("messages.cantfly", "§aSorry but you can't fly anymore!");
		this.getConfig().options().copyDefaults(true);
		this.saveConfig();
	}
	
	public void onDisable(){
		
		System.out.println("[ElectricStaff "+this.getDescription().getVersion()+"] Oh! I think you crashed! See you later!");
	}
	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String lbl, String[] args) {
    	Player pl = null;
    	if(sender instanceof Player){
			pl = (Player) sender ;	
		}
			//Commands:
			//Command: /es
		if(cmd.getName().equalsIgnoreCase("es")){
			if(pl != null){
				if(pl.hasPermission("electricstaff.use")){
					if(args.length != 1){
						if(canfly.contains(pl.getName())){
							canfly.add(pl.getName());
							ItemStack item = new ItemStack(Material.BLAZE_ROD, 1);
							ItemMeta met =item.getItemMeta();
							met.setDisplayName("Electric Staff");
							item.setItemMeta(met);
							pl.getInventory().addItem(item);
							pl.sendMessage("§1[Electric Staff]§f" + this.getConfig().getString("messages.canfly"));
						}else{
							canfly.remove(pl.getName());
							pl.sendMessage("§1[Electric Staff]§f" + this.getConfig().getString("messages.cantfly"));
							}	
						}
					}
				}
			}

	return true;
	}
	@EventHandler(priority=EventPriority.HIGH)
	public void onPlayerUse(PlayerInteractEvent event){
	    Player p = event.getPlayer();
		if(canfly.contains(p.getName())){
	    if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK)){
	        if(p.getItemInHand().getType() == Material.BLAZE_ROD){
                event.setCancelled(true);
                double Height = 5 / 15D;
                double Lenght = 16 / 8D;
                Player pe = event.getPlayer();
                pe.setVelocity(pe.getLocation().getDirection().setY(Height).multiply(Lenght));
                pe.playSound(pe.getLocation(), Sound.ENDERDRAGON_WINGS, 1F, 1F);	
                
	        }
	        }
	    }
	    if(event.getAction().equals(Action.RIGHT_CLICK_AIR)){
			if(canfly.contains(p.getName())){
	        if(p.getItemInHand().getType() == Material.BLAZE_ROD){
                event.setCancelled(true);
                
                double Height = 5 / 15D;
                double Lenght = 16 / 8D;
                Player pe = event.getPlayer();
                pe.setVelocity(pe.getLocation().getDirection().setY(Height).multiply(Lenght));
                pe.playSound(pe.getLocation(), Sound.ENDERDRAGON_WINGS, 1F, 1F);
	        }
	        }
	    }
	  
	}
	public void onPlayerJoin(PlayerJoinEvent e) {
		Player p = e.getPlayer();
		if(p.hasPermission("electricstaff.use")){
			if(canfly.contains(p.getName())){
				canfly.add(p.getName());
				ItemStack item = new ItemStack(Material.BLAZE_ROD, 1);
				ItemMeta met =item.getItemMeta();
				met.setDisplayName("Electric Staff");
				item.setItemMeta(met);
				p.getInventory().addItem(item);
				p.sendMessage("§1[Electric Staff]§f" + this.getConfig().getString("messages.canfly"));
			}	
		}
	}
}
 

MrFlieder

Braumeister
Registriert
30 Dezember 2011
Beiträge
332
Diamanten
0
Minecraft
MrFlieder
Ich bekomm die nachricht dass mein fliegen abgeschaltet wurde
normaler weise falls man nicht in der arraylist drin ist soll kommen now you can fly
ansonsten you can't fly anymore
Dein Code bewirkt doch genau das Gegenteil!
Du überprüfst, ob der Spieler beim Eingeben des Befehls in der ArrayList vorhanden ist - falls ja, fügst du diesen nochmals hinzu.
Und wenn dieser nicht vorhanden ist, entfernst du den Spieler aus der Liste. Um deinen gewünschten Effekt zu erzielen, musst du die Bedingungen genau umdrehen.

Außerdem, was soll die Initialisierung vom Player-Objekt mit dem Wert null, wenn du anschließend abfragst, ob ein Spieler den Befehl eingibt, dann neu initialisierst, und dann erst wieder abfragst, ob player null ist?

Übrigens, wahrscheinlich meinst du "stuff" und nicht "staff".

Code:
public boolean onCommand(CommandSender sender, Command cmd, String lbl, String[] args)
{
    	if(sender instanceof Player)
	{
		Player pl = (Player) sender;
		//Commands:
		//Command: /es
		if(cmd.getName().equalsIgnoreCase("es"))
		{
			if(pl.hasPermission("electricstaff.use")){
				if(args.length != 1)
				{
					if(!canfly.contains(pl.getName())){
						canfly.add(pl.getName());
						ItemStack item = new ItemStack(Material.BLAZE_ROD, 1);
						ItemMeta met =item.getItemMeta();
						met.setDisplayName("Electric Stuff");
						item.setItemMeta(met);
						pl.getInventory().addItem(item);
						pl.sendMessage("§1[Electric Stuff]§f" + this.getConfig().getString("messages.canfly"));
					}
					else
					{
						canfly.remove(pl.getName());
						pl.sendMessage("§1[Electric Stuff]§f" + this.getConfig().getString("messages.cantfly"));	
					}
				}
		}
	}

return true;
}
 
Oben