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

Tworzenie pluginów dla Bukkit


piotrek54PL

Rekomendowane odpowiedzi

Opublikowano

 

Zobacz czy coś się pojawia w konsoli, i upewnij się że zarejestrowałeś komendę w głównym pliku i dodałeś to:

sender.sendMessage("Siemango !");

Tak samo dałem i nic...

A w konsoli nic nie wywala, wszystko poprawnie...

 

Co może powodować taki błąd, że się nic nie wyświetla?

  • Odpowiedzi 496
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Tak samo dałem i nic...

A w konsoli nic nie wywala, wszystko poprawnie...

 

Co może powodować taki błąd, że się nic nie wyświetla?

Może być tylko 1 powód: Zrobiłeś coś źle. Podaj może kod ? Bo w nieskończoność gdybać nie mogę ;]

Opublikowano

sory że kolejny post ale mam super pomysł (Piotrze jak odzyskam swój komputer to zmienimy formę komunikacji na skype, ok?).

A więc jak zmienić nazwę itemu?

Opublikowano

sory że kolejny post ale mam super pomysł (Piotrze jak odzyskam swój komputer to zmienimy formę komunikacji na skype, ok?).

A więc jak zmienić nazwę itemu?

1. ok

2.

ItemMeta m = itemstack.getItemMeta();
m.setDisplayName("Nowa nazwa");
itemstack.setItemMeta(m);
Opublikowano

Teraz coś trudniejszego jak pobrać graczy 5 kratek od jakiejś lokali?

Miało być trudniejsze ...

 

int radius = 30;
List<Entity> entities = location.getWorld().getEntities();
for(Entity e : entities) {
    if(e.getLocation().distance(location) <= radius) 
    {
        
    }
}

radius - zasięg

location - lokalizacja

Opublikowano

Miało być trudniejsze ...

 

int radius = 30;
List<Entity> entities = location.getWorld().getEntities();
for(Entity e : entities) {
    if(e.getLocation().distance(location) <= radius) 
    {
        
    }
}

radius - zasięg

location - lokalizacja

kurczę, to może kuldałn (nie znam pisowni) oraz hashmap z boolean.

 

Głowa, google, eclipse.

podaj link do swojego google bo ja mam chyba gorsze :D

 

 

@edit

 

Lol z 309 postów 42 moje :D

Opublikowano

Piotrze, miałbym prośbę być dodał ogólny słownik pojęć, którymi perujesz począwszy od środowiska, przez metody, klasy, pola, rodzaje pół (+ opisz też protected ;)) po instancje ;) taki właśnie osobny temacik jak to co masz "+1" :) to na 100% pomoże w odszukaniu (zwłaszcza jeśli będzie alfabetycznie :D) konkretnych pojęć, niż jeśli będzie to rozrzucone po kilku tematach ;)

Opublikowano

Chciałem tu napisać jedynie @Refresh, ale korzystając z okazji się o coś zapytam...

 

Jeżeli chciałbym zrobić zastępowanie słów... to umiem w kodzie, ale to mnie nie satysfakcjonuje, ponieważ każdy Admin serwera może chcieć, aby inne słowa były zastępowane na inne... rozwiązanie jest oczywiście proste: plik. Jednak właśnie... jakiś plik, ale NIE CONFIG! Tylko po prostu plik. Do tego pytanie, jak zapisać w tym configu wiele razy, że np. są 3 słowa, oraz czwarte na które każde z tych 3 jest zamieniane. Oraz jak się zabezpieczyć (w 1 pętli w pluginie!) przed tym,ze będą różne ilości słów które będą zamieniane na to jedno konkretne... No i poprawny odczyt. Trzeba Umieć to odczytać i wykorzystać.

 

A więc reasumując:

1. Jak stworzyć nowy plik, który nie jest plikiem konfiguracyjnym oraz jak dodać do niego jakieś defaultowe wartości? Btw to wiem, ze tutaj trzeba wychwycić wątek poprzez instrukcję

try {
 
} catch () {
 
}

ale nic więcej...

 

2. W jaki sposób w pliku przechowywać dane?

 

3. Jak poprawnie odczytywać z pliku dae i je stosować w pętli w pluginie.

 

P. S.: Myślę, że chociaż ja mogę się pochwalić, że mój problem jest trudniejszy B-)

Opublikowano

@up

1. Dlaczego chcesz stworzyć osobny PLIK, a nie osobny PLIK KONFIGURACYJNY?

2. Instrukcja try/catch służy do przechwycania wyjątków.

3. Używając obiektu klasy FileConfiguration?

 

if (customConfigFile == null) {
            customConfigFile = new File(getDataFolder(), "cconfig.yml");
        }
        customConfig = YamlConfiguration.loadConfiguration(customConfigFile);
Do tego potrzebujesz zmienne poza metodą prywatne w klasie i kilka accessorów i mutatorów.
Opublikowano

@Up

1. w sumie masz rację, źle sięwyraziłem, chodziło mi o plik, który nie jest tym defaultowym configiem ;)

2. yyy... mój fail xD

3. czyli to będzie tak jak w normalnym configu?

4. przełożysz mi mutatory i accesory na mniej specjalistyczny? :)

5. I dalej nie wiem jak ułożyć dane w configu :p

Opublikowano

Dostajesz się do zmiennej customConfig? Która jest przecież obiektem FileConfiguration.

 

   public FileConfiguration getCustomConfig() {
        if (customConfig == null) {
            //Tutaj ładujesz config jeśli nie istnieje, w sumie wywołujesz metodę z kodem, który podałem w poprzednim poście
        }
        return customConfig;
    }

Pamiętaj, żeby w onDisable taki config zapisać.

Opublikowano

swears:
- slowo;slowo;slowo;zamiennik

Pobierasz jako tablicę i może hashmap?

HashMap<String,String> swears = new HashMap<>();
i pozniej robisz metodę która pobiera cały set i rzuca do swears. Kluczowe funkcje: split(), size
Opublikowano

mógłbyś mi wyjaśnić co to jest ten cały HashMap? Bo tego nie ogarniam... no i split() znam, ale size co robi? I co masz na myśli pod pojęciem "cały set"?

HashMap to Lista, która może zawierać 2 zmienne.

cały set - całą listę

size() sprawdza wielkość hashmapy. (Ilość wierszy)

Opublikowano

wybacz, ale dalej nie rozumiem HashMapy... albo chodzi CI o zmienne różnych typów czego Lista nie umożliwia, albo to działa dokładnie jak lista, bo i ona pozwala przechowywać kilka zmiennych... mam rację, prawda? więc teoretycznie mogę nie stosować HashMapy w ogóle a brać się za Listy... jeśli jestem w błędzie to popraw mnie, bo jak mówię... obecnie nie widzę różnicy między HashMapą a zwykłą Listą

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...