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 z kodem do pluginu Bukkit


Rekomendowane odpowiedzi

Opublikowano

Witam,

Usiłuję napisać plugin do serwera minecraft, lecz mam pewien problem, oto kod:

    		if(cmd.getName().equalsIgnoreCase("komenda")){
    			if(args.length == 0){
    				String playername = args[0];
    				if(Bukkit.getPlayer(playername) !=null){
    					Player username = Bukkit.getPlayer(playername);
    				}
    			}
    			if(sender instanceof Player){
    				Player p = (Player) sender;
    				p.sendMessage("§c» §7Tylko konsola ma dostep do tej komendy.");
    			}
    			else {
    				String playername = args[0];
					if(Bukkit.getPlayer(playername) !=null){
    					Player username = Bukkit.getPlayer(playername);
	    				for (Player gracz : Bukkit.getServer().getOnlinePlayers()) {
							if (username.getInventory().getHelmet() != null && username.getInventory().getHelmet().getType() == Material.LEATHER_HELMET) {
	                                username.getInventory().setHelmet(getColorArmor(Material.LEATHER_HELMET, Color.BLUE));
	                        }
							if (username.getInventory().getChestplate() != null && username.getInventory().getChestplate().getType() == Material.LEATHER_CHESTPLATE) {
	                        	username.getInventory().setChestplate(getColorArmor(Material.LEATHER_CHESTPLATE, Color.BLUE));
	                        }
	                       
	                        if (username.getInventory().getLeggings() != null && username.getInventory().getLeggings().getType() == Material.LEATHER_LEGGINGS) {
	                        	username.getInventory().setLeggings(getColorArmor(Material.LEATHER_LEGGINGS, Color.BLUE));
	                        }
	                       
	                        if (username.getInventory().getBoots() != null && username.getInventory().getBoots().getType() == Material.LEATHER_BOOTS) {
	                        	username.getInventory().setBoots(getColorArmor(Material.LEATHER_BOOTS, Color.BLUE));
	                        }
	                        username.sendMessage("[Debug] BLUE");
	    				}
					}
	    				try {
							Thread.sleep(500);
						} catch (InterruptedException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
	    				if(Bukkit.getPlayer(playername) !=null){
	    					Player username = Bukkit.getPlayer(playername);
		    				for (Player gracz : Bukkit.getServer().getOnlinePlayers()) {
								if (username.getInventory().getHelmet() != null && username.getInventory().getHelmet().getType() == Material.LEATHER_HELMET) {
		                            username.getInventory().setHelmet(getColorArmor(Material.LEATHER_HELMET, Color.RED));
		                        }
								if (username.getInventory().getChestplate() != null && username.getInventory().getChestplate().getType() == Material.LEATHER_CHESTPLATE) {
		                        	username.getInventory().setChestplate(getColorArmor(Material.LEATHER_CHESTPLATE, Color.RED));
		                        }
								if (username.getInventory().getLeggings() != null && username.getInventory().getLeggings().getType() == Material.LEATHER_LEGGINGS) {
		                        	username.getInventory().setLeggings(getColorArmor(Material.LEATHER_LEGGINGS, Color.RED));
		                        }
		                        if (username.getInventory().getBoots() != null && username.getInventory().getBoots().getType() == Material.LEATHER_BOOTS) {
		                        	username.getInventory().setBoots(getColorArmor(Material.LEATHER_BOOTS, Color.RED));
		                        }
		                        username.sendMessage("[Debug] RED");
		    				}
						}
					}
    			}

Pastebin: http://pastebin.com/khxA6BmC
Problem jest w tym że armor nie zamienia się na niebieski, lecz po odczekaniu tych 500ms zamienia się odr razu na czerwony, a ja chcę aby po wpisaniu komendy zamieniał się na niebieski i po 500ms na czerwony.
Nie wiem co źle zrobiłem, siedzę już nad tym długi czas i nadal nie wiem, będę bardzo wdzięczny za pomoc, daję like.

Wstawił bym sobie sygnaturkę, ale nie pozwala mi na to forum, ponieważ gdy próbuję to zrobić, dostaję słynny komunikat od cloudflare "Getway timed out". :/

Opublikowano

nie używaj Thread.sleep w komendach, zatrzymujesz wtedy caly server... 

I sformatuj ten kod jakoś normlanie, każde ide ma opcja formatowania kodu. bo tego sie czytać nie da

1438614356923701010629.png

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...