BukkitWiki

Welcome to the BukkitWiki!

This Wiki is home to Bukkit's documentation and regulations surrounding the Bukkit Project and it's services. Want to help out? We would love to have you! Signup to get started!

READ MORE

BukkitWiki
Advertisement
TODOIcon Tłumaczenie wymagane!
Ta strona jest nie dokończona i może z tego względu zawierać niepełne informacje. W międzyczasie możesz zajrzeć na IRC lub do JavaDocs. Najprawdopodobniej w angielskiej wersji artykułu znajdziesz wszystkie potrzebne informacje.
TODOIcon


W wersji Minecraft 1.1 do Bukkit API został wprowadzony nowy system zdarzeń. Jest on prostszy, szybszy i jednym słowem, lepszy. Kontynuuj czytanie aby dowiedzieć się więcej!

Wideo tutorial[]

Jeśli wolisz obejrzeć wersję audiowizualną tego poradnika, kliknij tutaj.

Podstawy[]

Aby uprościć ten rozdział, zamierzamy pracować jedynie z PlayerLoginEvent(Wydarzenie przy logowaniu gracza). Rozpocznijmy ten poradnik stworzeniem metody.

Tworzenie metody[]

Jak wcześniej, potrzebna jest metoda aby nasłuchiwać wydarzenia.:

public void przyLogowaniuGracza(PlayerLoginEvent event) {
    // Tutaj wpisz swój kod...
}

Przed wywołaniem tej metody przez Bukkita, kiedy PlayerLoginEvent uaktywnia się, musimy to zanotować.

EventHandler[]

Klasa "EventHandler" jest adnotacją, która znajduje się powyżej metody. To wygląda następująco:

@EventHandler // EventPriority.NORMAL domyślnie

To oznacza twoją funkcję jako EventHandler z priorytetem wydarzenia EventPriority NORMAL.

Priorytety[]

W Bukkicie jest 6 priorytetów. Są to:

  • HIGHEST
  • HIGH
  • NORMAL
  • LOW
  • LOWEST
  • MONITOR

Ale są one wywoływane w następujący sposób:

  1. LOWEST
  2. LOW
  3. NORMAL
  4. HIGH
  5. HIGHEST
  6. MONITOR


EventHandler może wziąć priorytet wydarzeń EventPriority do wybranego priorytetu funkcji. To wygląda tak:

@EventHandler(priority = EventPriority.HIGHEST) // Ustawia twoje wydarzenie jako najwyższe, czyli najważniejsze
@EventHandler(priority = EventPriority.LOW) // Ustawia twoje wydarzenie jako najniższe, czyli małoważne

Tutaj jest tak, jakby wyglądało to w twojej klasie:

@EventHandler
public void przyLogowaniuGracza(PlayerLoginEvent event) {
    // twój kod tutaj
}

Dodawanie detektora[]

Ustawienia metody EventHandler[]

Priorytety zdarzeń[]

Rejestrowanie zdarzeń[]

Przykładowy detektor[]

Rejestrowanie zdarzeń w pluginie[]

Rejestrowanie zdarzeń w pluginie jako detektor[]

Rejestrowanie zdarzeń w Twoim detektorze[]

Wyrejestrowywanie zdarzeń lub detekorów[]

Wyrejestruj wybrane zdarzenie[]

Wyrejestruj wszystkie zdarzenia[]

Tworzenie własnych zdarzeń[]

Przykład własnego zdarzenia[]

@EventHandler
            public void WejscieGracza(PlayerJoinEvent evt){
                    Player p = evt.getPlayer(); //Nadajesz programowi kto jest wykonawcą.
                   
                    evt.setJoinMessage(ChatColor.DARK_AQUA+ "Przyszedl: " + ChatColor.GREEN + p.getName()); //Wiadomosc Przy wejsciu gracza.
            }

Przywoływanie własnego zdarzenia[]

Nasłuchiwanie własnych zdarzeń[]

Language   EnglishбеларускаяDeutschespañolsuomifrançaisitaliano한국어Nederlandsnorskpolskiportuguêsрусскийlietuviųčeština
Advertisement