Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem]Bukkit plugin


Rekomendowane odpowiedzi

Opublikowano

Witam.

Ostatnio pisze plugin i chcę zrobić żeby gracz po kliknięciu prawym przyciskiem myszki dodawało go do drużyny. Niestety nie działa ta opcja mimo że Eclipse nie wyrzuca błędu, w konsoli podobnie. Tutaj macie tę klasę bardzo proszę o pomoc :)

public class Teams implements Listener {
	
	private Set<Player> redTeam = new HashSet<Player>();
	  private Set<Player> blueTeam = new HashSet<Player>();
	private Random random;
	  private Set<Player> allPlayers = new HashSet<Player>();

	  public Teams(Set<Player> red, Set<Player> blue){
			this.random = new Random();
			for (Player p : red) {
			      this.redTeam.add(p);
			      addToPlayerLists(p);
			    }
			    for (Player p : blue) {
			      this.blueTeam.add(p);
			      addToPlayerLists(p);
			    }
	  }
	  
	private void addToPlayerLists(Player p) {
	    this.allPlayers.add(p);
	}

	@EventHandler
	public void randomTeam(PlayerInteractEvent ev){
		Player p = ev.getPlayer();
		Action ac = ev.getAction();
		
		if(!p.isOp()){
			if(ac==Action.RIGHT_CLICK_AIR){
		
		if(p.getItemInHand().getType() == Material.STICK){
	
			if (this.blueTeam.size() <= this.redTeam.size()) {
		        this.blueTeam.add(p);
		        addToPlayerLists(p);
		        Main.getConfig.set("teams.Team_Blue.nick", p.getName());
		        p.sendMessage(ChatColor.BLUE + "Zostales dodany do druzyny niebieskich");
		      } else if (this.redTeam.size() <= this.blueTeam.size()) {
		        this.redTeam.add(p);
		        addToPlayerLists(p);
		        Main.getConfig.set("teams.Team_Red.nick", p.getName());
		        p.sendMessage(ChatColor.RED + "Zostales dodany do druzyny czerwonych");
		      }	
		}
		}
		else if(p.isOp()){
			p.sendMessage(ChatColor.BLACK + "Nie możesz dołączyć do gry, poniewaz masz OP'a");
		}
		}
	}
	

}

A tu macie jeszcze klasę Main (częściowo)

	public static Logger log;
	public void onEnable(){
log = this.getLogger();
		getLogger().info("Plugin zostal poprawnie uruchomiony" );
		getServer().getPluginManager().registerEvents(new Teams(null, null), this);
}

Dałem w nawiasie null null ponieważ wyskakiwał błąd w Eclipse :P

 

 

Liczę na szybką odpowiedź i żeby była ona trafna :D

 

 

Docenię lajkiem ;)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...