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