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

Własny plugin #1 - Formatowanie chatu!


xMruczek

Rekomendowane odpowiedzi

Opublikowano

| DZIĘKUJE ZA PRZENIESIENIE PRZEZ MODERATORA DO TUTORIALI :)


|


\


\


\


\


\


/


/


/


/


/


/


/


|


|


|


Cześć!


 


Poniekąd zamiast pisać,  dla MPCFORUM gotowe pluginy,


postanowiłem że napisze kilka poradników jak pisać proste, oraz średnie wtyczki.


Robię to głównie po to by pokazać, że pisanie w Javie nie jest jakoś ogromnie trudne.


Wolę by osoby posiadające serwery posiadały jak najwięcej plugin napisanych przez sb, a nie skryptów.


Nie będzie tu tłumaczyć najprostszych rzeczy, to co ja daje to gotowiec, i sposób użycia a nie opisanie co za co odpowiada.


 


[Nie będę tutaj pokazywać, jak zainstalować, albo ściągnąć Eclipse albo Netbeansa


takich poradników jest od groma w internecie!.]


 


#1 - Formatowanie chatu!


[Zamiast pisać, własny układ chatu w Skript możecie to prosto napisać w Javie!]


[Nie prezentuje podstaw, typu Tworzenie nowego projektu.]


 


Ps. Wszysztko po "/" oznacza jak przykład użycia.


 


- 1. Tworzymy nowy package. (np. pl.xmruczek.xmre_chat)


-2. Tworzymy nowy plik .class (Nazywamy np.Main, będzie to klasa główna)


 


Teraz zaczniemy zapełniać klasę główną.



package {NAZWA PACKAGE}; // package pl.xmruczek.xmre_chat

import org.bukkit.plugin.java.JavaPlugin;

public class {NAZWA KLASY GŁÓWNEJ} extends JavaPlugin // public class xmre_chat
{
public void onEnable()
{
system.out.print("Wtyczka wlaczona!");
}
public void onDisable()
{
system.out.print("Wtyczka wylaczona");
}
}

-3. Tworzymy nowy package, w package głównym(np.pl.xmruczek.xmre_chat.listeners)


-4. W nowo stworzonym package listeners w package głównym, tworzymy nową classe(np.ChatEventListener)



package {NAZWA PACKAGE LISTENERS}; //pl.xmruczek.xmre_chat.listeners

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.plugin.java.JavaPlugin;

import {package.klasa główna}; // pl.xmruczek.xmre_chat

public class {NAZWA AKTUALNEJ KLASY} extends JavaPlugin implements Listener //public class ChatEventListener
{
{NAZWA GŁÓWNEJ KLASY} plugin; // xmre_chat plugin
public ChatEventListener(xmre_chat plugin)
{
this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@EventHandler
public void chatformat(AsyncPlayerChatEvent e)
{
Player p = e.getPlayer();
if (p.hasPermission("xmre.Admin"))
{
e.setFormat(ChatColor.RED + p.getDisplayName() + ChatColor.DARK_GRAY + ": " + ChatColor.GRAY + " " + ChatColor.GRAY + e.getMessage());
}else{
if (p.hasPermission("xmre.Moderator"))
{
e.setFormat(ChatColor.GREEN + p.getDisplayName() + ChatColor.DARK_GRAY + ":" + ChatColor.GRAY + " " + ChatColor.GRAY + e.getMessage());
}else{
if (p.hasPermission("xmre.Helper"))
{
e.setFormat(ChatColor.DARK_AQUA + p.getDisplayName() + ChatColor.DARK_GRAY + ":" + ChatColor.GRAY + " " + ChatColor.GRAY + e.getMessage());
}else{
e.setFormat(ChatColor.GRAY + p.getDisplayName() + ChatColor.DARK_GRAY + ":" + ChatColor.GRAY + " " + ChatColor.GRAY + e.getMessage());
}
}
}
}
}



e.getMessage() // Odpowiada za pobieranie wiadomości jaką wysyła gracz.
e.setFormat() // Odpowiada za ustawianie foramtu wyswietlania na chacie.
p.getDisplayName() // Odpowiada za pobieranie nazwy gracza.
Player p = e.getPlayer() // Odpowiada za pobieranie i wykonywanie czynności dla danego gracza.
p.hasPermission() // Odpowiada za to czy gracz posiada uprawnenia.

-4. Dodajemy wczytywane nowej klasy do klasy głównej



package pl.xmruczek.xmre_chat;

import org.bukkit.plugin.java.JavaPlugin;

import {NAZWA PACKAGE}.{PACKAGE Z LISTENER}.{NAZWA KLASY LISTENERA}; // pl.xmruczek.xmre_chat.listeners.ChatEventListener;

public class {NAZWA KLASY GŁÓWNEJ} extends JavaPlugin
{
public void onEnable()
{
new {NAZWA KLASY LISTENERA Z PACKAGE LISTENERS}(this); //ChatEventListener
}
public void onDisable()
{
}
}

-5. Tworzymy plugin.yml



name: {NAZWA PLUGINU WYSWIETLANA} // xmre_chat
version: 1.0 // wersja pluginu
author: xmruczek // autor pluginu
main: {NAZWA PACZKI}.{NAZWA KLASY GŁÓWNEJ} // współrzedne dla głównej klasy pluginy, pl.xmruczek.xmre_chat.xmre_chat
description: tralalala // opis pluginu

Te poradniki będą bardziej dla osób które znają chociaż ułamek podstaw, z filmów których w internecie jest od groma.


FILMIK PODSTAW (Autorstwa feaq16):


http://www.youtube.com/watch?v=Xca7X34c7H8


 


 


Liczę na +


10732745374541468291.png

Opublikowano

Przydatny, dzięki. Żartowałem, nie chce dostać punktów. Tak naprawdę to poradnik jest świetnie zaopatrzony w grafike i kolory, do tego jest tut video co dla Cb jest wielkim +. Widać, że umiesz pisać tuty więc czekam na więcej lecz to jest już świetne ;-) Taki jeden twój tut rozdzieliłbym na 2 części ale ty to połączyłeś w jedno, gratuluje.

avatar_14518339374nlip.jpg


 


 


,,Vape is good, vape is my life"

Opublikowano

@ref

W ferie pojawi się poradnik co do pluginu na drop z kamienia, oraz manipulacja eq i itemami.(Dodawanie opisów, + nazwy) i tworznie własnego menu w oknie ekwipunku! Dodatkowo dodam sztuczki z tabliczkami :p

10732745374541468291.png

Opublikowano

Fajnie wytłumaczone, co niektórym się przyda, chociaż jak ktoś zna dobrze angielski, to wystarczy mu dokumentacja ;)

 

Ale oczywiście, muszę się do czegoś przyczepić :P

 system.out.print("Wtyczka wlaczona!");

Ja wolę używać loggera i czytałem gdzieś na forum bukkit z rok / dwa temu (jak się uczyłem ), że lepiej stosować loggera, nie wiem czy to ma jakieś znaczące różnice, oprócz tego, że dodaje ci [info] ^^^. Tak czy inaczej, powodzenia i rób więcej poradników.

//gif w sygnie

Opublikowano

@up

 

Tak naprawde nie powinno się pisać że wtyczka włączona bo bukkit sam to zrobi ;3 Co do tutów to jak najbardziej ;d

10732745374541468291.png

Opublikowano

 

Essentials chat i tak lepszy ;D

 

 

Troche pokombinujesz i sam stworzysz takie coś :)

10732745374541468291.png

  • 3 tygodnie później...
Opublikowano

co tam dam tego lajka bo sie przydaje jak bym nie umial tego pisac to ten tut bylby pierwszym linkiem na ktory bym wszedl [chyba xD ]

4168299700_1396511215.gif
  • 2 tygodnie później...

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...