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

[Pytanie] HashMap zmienna BUKKIT


Rekomendowane odpowiedzi

Opublikowano

Witam. W tym temacie prosze was o napisanie mi DOKLADNIE kodu na (oczywiscie bukkit plugin) na komendy:

/zmienna <tresc> - dodaje gracza do hashmapy i przypisuje wartosc (zmienna) w hashmapie graczu, ktory wpisal ta komende

/nick <nick_gracza> - wyswietla wartosc (zmienna), ktora ustawil sobie gracz

Prosze o napisanie mi takiego kodu, abym mogl go przeanalizowac. Ucze sie od niedawna.

Prosze o odpowiedz!

 

Opublikowano

Po co ten kod? Wytłumaczę ci.

 

Hashmapa to tak jakby lista czegoś, do którego przypisana jest inna wartość.

Przykład:

public static HashMap<Player, String> map = new HashMap<>(); 

W tym przypadku do jakiegoś gracza, przypisany jest jakiś tekst, czyli String.

public static void add()
{
    map.put(jakisgracz, "tekst");
}

Teraz, po użyciu następującej metody, do hashmapy zostanie dodana wartość gracza, i zostanie do tego gracza przypisana wartość tekstowa "tekst".

 

Potem możesz ją odczytać:

map.get(jakisgracz); 

Oczywiście wpisujemy tam jakiegoś gracza, bo tak ustawiliśmy (HashMap<PLAYER, string>)

Zwróci to tekst "tekst". :)

 

Mam nadzieje że rozumiesz, nie jestem dobrym nauczycielem..

Jak będziesz chciał, to ci mogę powiedzieć trochę o tablicach (rozszerzonych mapach), czyli np. 

Table<Player, String, String>

Ale to już trochę trudniejsze :D

ps: jak mi blezur da warna to pierdolne ;c

 

­

Moja oficjalna strona! :)

http://socketbyte.pl/ 

Opublikowano

dobrze, tylko jest on bledny:

public class Commands implements CommandExecutor{
private Map<Player, String> skinlist = new HashMap<Player, String>();
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String l, String[] args) {
        if(cmd.getName().equalsIgnoreCase("test")){
            if(sender instanceof Player){
                Player player = (Player) sender;
                if(args.length == 0){
                    player.sendMessage(ChatColor.DARK_RED + "Poprawne uzycie: " + ChatColor.RED + "/test <gracz>");
                       }
                if(args.length >= 1){
                     skinlist.put(player.getName(), args[0]);
 
Dziekuje za odpowiedz, do zamkniecia
Opublikowano

Źle używasz put.

skinlist.put(player.getName(), args[0]);

Zamiast tego to:

  skinlist.put(player, args[0]);

lub, jeśli gracz z komendy ma być kluczem to:

skinlist.put(player.getServer().getPlayer(args[0]), player.getName());

Jeśli masz jakiś problem z Plugin'em/Skryptem do MineCraft'a to pisz na PW/Skype/GG, lub inny komunikator podany w profilu. Pomagam za darmo.

Pracuję na zlecenia. Do stałej pracy bardzo ciężko mnie namówić. ^^

 

Przepiszę Skrypt na Plugin! W większości przypadków za darmo.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...