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

[Plugin] s_Vanish


thiew3

Rekomendowane odpowiedzi

Opublikowano

8pdhiUT.png

 

Witam, dzisiaj zaprezentuje mój pierwszy wydany publicznie plugin :)
Jest nim skromny plugin na tzw. Vanisha.
(Tak wiem ze Essentials go ma, lecz nie każdy używa)



1rp05MY.png

 

 

Jest to najprostszy plugin na Vanisha, który ma w sobie:
- 4 komendy

- 2 efekty

- config z wiadomościami

- powiadomienia Adminstracji o tym że ktoś włączył vanisha

- powiadomienia Adminstracji o tym że ktoś wyszedł z włączonym vanishem

fpupgB8.png

 

 

Spis komend:
» /v , /vanish - włącza lub wyłącza vanisha

» /vcheck , /vs - sprawdza stan Twojego vanisha

» /vlist - lista osób z  vanishem

» /vreload - reloaduje config z wiadomościami

 

KkNGxkh.png

 

 

Spis uprawnień:
/vanish - vanish.use

/vcheck - vanish.use

/vlist - vanish.list

/vreload - vanish.reload


yRLq95D.png

 

OWTLdYU.png

 

 


bJWyxJ4.png

jmiX8Px.png

https://mega.nz/#!6JdG3ZLL!joGEZ5LYvVHqd2nnJSWgr1s3ahj_LHrArUSOLdDnQL4
https://www.virustotal.com/pl/file/c7f6314d35148084114f5a8f0433845014cce1f56310036a8f97fab429fac586/analysis/1477521451/

sygna_frikos.png

Opublikowano

Najlepszy plugin na vanisha jaki widziałem.

tzn. Najbardziej rozbudowany :)

HTBCzoQ.png


Chcesz żebym zobaczył co nabazgrałeś?


dodaj @rzy4y do posta to zobacze :)


if player has name "rzy4y"


Execute command: /Give a like


Opublikowano

1.    Ustawiaj typy do zmiennych

 

   

FileConfiguration config;

File cfile;

 

 

 

2. Nie przechowujemy takich obiektow jak Player w listach, latwo o wyciek pamieci

 

 

List<Player> vanishs;

 

 

Lepiej zrobic tak:

 

 

List<UUID> vanishedPlayers;

 

 

I operowac na nim, wyciagajac na podstawie UUID

 

3. Boze, widzisz a nie grzmisz masz domyslne metody z bukkita ktore robia wszystko nad czym ty sie tutaj meczyles, addDefault, tworzenie pliku i folderu

 

 

 this.cfile = new File(this.getDataFolder(), "config.yml");
        final File f = new File(this.getDataFolder(), "config.yml");
        if (!f.exists()) {
            final StringBuilder str = new StringBuilder();
            final String vanishtag = "§8[§3§ls_Vanish§8] ";
            final String vanishon = "§aWlaczyles vanisha!";
            final String vanishona = " §awlaczyl vanisha!";
            final String vanishoff = "§cWylaczyles vanisha!";
            final String vanishoffa = " §cwylaczyl vanisha!";
            final String vanishperms = "§cBlad: §7Nie masz uprawnien! §c(vanish.use)";
            final String vanishreload = "§aPrzeladowano config!";
            final String vanishquit = " §cwyszedl z wlaczonym vanishem!";
            this.getConfig().set("messages.vanish-tag", (Object)vanishtag);
            this.getConfig().set("messages.vanish-on", (Object)vanishon);
            this.getConfig().set("messages.vanish-ona", (Object)vanishona);
            this.getConfig().set("messages.vanish-off", (Object)vanishoff);
            this.getConfig().set("messages.vanish-offa", (Object)vanishoffa);
            this.getConfig().set("messages.vanish-perms", (Object)vanishperms);
            this.getConfig().set("messages.vanish-reload", (Object)vanishreload);
            this.getConfig().set("messages.vanish-quit", (Object)vanishquit);
            this.saveConfig();
        }

NAWET KUZWA NIE CHCE WIEDZIEC PO CO CI TAM BUILDER
 
4.Nazwy metod piszemy z malych liter nie kopiuj kodu ktorego nie rozumeisz bo to bez sensu przyklad twojego kodu:
Tu masz z malej:

    @EventHandler
    public void onQuit(final PlayerQuitEvent e) {
        final Player p = e.getPlayer();
        if (this.vanishs.contains(p)) {
            this.vanishs.remove(p);
            e.getPlayer().removePotionEffect(PotionEffectType.GLOWING);
            for (final Player online : Bukkit.getOnlinePlayers()) {
                if (online.hasPermission("vanish.use")) {
                    online.sendMessage(String.valueOf(this.getConfig().getString("messages.vanish-tag")) + p.getDisplayName() + this.getConfig().getString("messages.vanish-quit"));
                }
            }
        }
    }

a tu juz nie..

    @EventHandler
    public void PickupItem(final PlayerPickupItemEvent e) {
        final String p = e.getPlayer().getDisplayName();
        if (this.vanishs.contains(p)) {
            e.setCancelled(true);
        }
    }

 
5.Nie mam zadnego pojecia co robi to przy onCommand, nie wiem po prostu zagieles mnie, wytlumacz mi to prosze... Moze ja o czyms nie wiem.

@EventHandler(priority = EventPriority.HIGHEST)
    public boolean onCommand(final CommandSender sender, final Command cmd, final String arg2, final String[] args) {

 
6.I jeszcze jedno, nazwa paczki ma byc w stylu, domen, emaila np: otekplay.pl/project to: pl.otekplay.project , i paczki piszemy z malych liter
 
 
 
Caly kod jest kopiowany i sklejka innych kodow.. no coz kazdy zaczyna popraw bledy moze wtedy ocenie.
Opublikowano

 

1.    Ustawiaj typy do zmiennych

 

   

FileConfiguration config;

File cfile;

 

 

 

2. Nie przechowujemy takich obiektow jak Player w listach, latwo o wyciek pamieci

 

 

List<Player> vanishs;

 

 

Lepiej zrobic tak:

 

 

List<UUID> vanishedPlayers;

 

 

I operowac na nim, wyciagajac na podstawie UUID

 

3. Boze, widzisz a nie grzmisz masz domyslne metody z bukkita ktore robia wszystko nad czym ty sie tutaj meczyles, addDefault, tworzenie pliku i folderu

 

 

 this.cfile = new File(this.getDataFolder(), "config.yml");
        final File f = new File(this.getDataFolder(), "config.yml");
        if (!f.exists()) {
            final StringBuilder str = new StringBuilder();
            final String vanishtag = "§8[§3§ls_Vanish§8] ";
            final String vanishon = "§aWlaczyles vanisha!";
            final String vanishona = " §awlaczyl vanisha!";
            final String vanishoff = "§cWylaczyles vanisha!";
            final String vanishoffa = " §cwylaczyl vanisha!";
            final String vanishperms = "§cBlad: §7Nie masz uprawnien! §c(vanish.use)";
            final String vanishreload = "§aPrzeladowano config!";
            final String vanishquit = " §cwyszedl z wlaczonym vanishem!";
            this.getConfig().set("messages.vanish-tag", (Object)vanishtag);
            this.getConfig().set("messages.vanish-on", (Object)vanishon);
            this.getConfig().set("messages.vanish-ona", (Object)vanishona);
            this.getConfig().set("messages.vanish-off", (Object)vanishoff);
            this.getConfig().set("messages.vanish-offa", (Object)vanishoffa);
            this.getConfig().set("messages.vanish-perms", (Object)vanishperms);
            this.getConfig().set("messages.vanish-reload", (Object)vanishreload);
            this.getConfig().set("messages.vanish-quit", (Object)vanishquit);
            this.saveConfig();
        }

NAWET KUZWA NIE CHCE WIEDZIEC PO CO CI TAM BUILDER
 
4.Nazwy metod piszemy z malych liter nie kopiuj kodu ktorego nie rozumeisz bo to bez sensu przyklad twojego kodu:
Tu masz z malej:

    @EventHandler
    public void onQuit(final PlayerQuitEvent e) {
        final Player p = e.getPlayer();
        if (this.vanishs.contains(p)) {
            this.vanishs.remove(p);
            e.getPlayer().removePotionEffect(PotionEffectType.GLOWING);
            for (final Player online : Bukkit.getOnlinePlayers()) {
                if (online.hasPermission("vanish.use")) {
                    online.sendMessage(String.valueOf(this.getConfig().getString("messages.vanish-tag")) + p.getDisplayName() + this.getConfig().getString("messages.vanish-quit"));
                }
            }
        }
    }

a tu juz nie..

    @EventHandler
    public void PickupItem(final PlayerPickupItemEvent e) {
        final String p = e.getPlayer().getDisplayName();
        if (this.vanishs.contains(p)) {
            e.setCancelled(true);
        }
    }

 
5.Nie mam zadnego pojecia co robi to przy onCommand, nie wiem po prostu zagieles mnie, wytlumacz mi to prosze... Moze ja o czyms nie wiem.

@EventHandler(priority = EventPriority.HIGHEST)
    public boolean onCommand(final CommandSender sender, final Command cmd, final String arg2, final String[] args) {

 
6.I jeszcze jedno, nazwa paczki ma byc w stylu, domen, emaila np: otekplay.pl/project to: pl.otekplay.project , i paczki piszemy z malych liter
 
 
 
Caly kod jest kopiowany i sklejka innych kodow.. no coz kazdy zaczyna popraw bledy moze wtedy ocenie.

 

2. + gdy wyjdziesz z serwera usuwasz się z listy ;)

Też popełniałem ten błąd i ogarnąłem to dopiero niedawno. 

Moja oficjalna strona! :)

http://socketbyte.pl/ 

Opublikowano

 

1.    Ustawiaj typy do zmiennych

 

   

FileConfiguration config;

File cfile;

 

 

 

2. Nie przechowujemy takich obiektow jak Player w listach, latwo o wyciek pamieci

 

 

List<Player> vanishs;

 

 

Lepiej zrobic tak:

 

 

List<UUID> vanishedPlayers;

 

 

I operowac na nim, wyciagajac na podstawie UUID

 

3. Boze, widzisz a nie grzmisz masz domyslne metody z bukkita ktore robia wszystko nad czym ty sie tutaj meczyles, addDefault, tworzenie pliku i folderu

 

 

 this.cfile = new File(this.getDataFolder(), "config.yml");
        final File f = new File(this.getDataFolder(), "config.yml");
        if (!f.exists()) {
            final StringBuilder str = new StringBuilder();
            final String vanishtag = "§8[§3§ls_Vanish§8] ";
            final String vanishon = "§aWlaczyles vanisha!";
            final String vanishona = " §awlaczyl vanisha!";
            final String vanishoff = "§cWylaczyles vanisha!";
            final String vanishoffa = " §cwylaczyl vanisha!";
            final String vanishperms = "§cBlad: §7Nie masz uprawnien! §c(vanish.use)";
            final String vanishreload = "§aPrzeladowano config!";
            final String vanishquit = " §cwyszedl z wlaczonym vanishem!";
            this.getConfig().set("messages.vanish-tag", (Object)vanishtag);
            this.getConfig().set("messages.vanish-on", (Object)vanishon);
            this.getConfig().set("messages.vanish-ona", (Object)vanishona);
            this.getConfig().set("messages.vanish-off", (Object)vanishoff);
            this.getConfig().set("messages.vanish-offa", (Object)vanishoffa);
            this.getConfig().set("messages.vanish-perms", (Object)vanishperms);
            this.getConfig().set("messages.vanish-reload", (Object)vanishreload);
            this.getConfig().set("messages.vanish-quit", (Object)vanishquit);
            this.saveConfig();
        }

NAWET KUZWA NIE CHCE WIEDZIEC PO CO CI TAM BUILDER
 
4.Nazwy metod piszemy z malych liter nie kopiuj kodu ktorego nie rozumeisz bo to bez sensu przyklad twojego kodu:
Tu masz z malej:

    @EventHandler
    public void onQuit(final PlayerQuitEvent e) {
        final Player p = e.getPlayer();
        if (this.vanishs.contains(p)) {
            this.vanishs.remove(p);
            e.getPlayer().removePotionEffect(PotionEffectType.GLOWING);
            for (final Player online : Bukkit.getOnlinePlayers()) {
                if (online.hasPermission("vanish.use")) {
                    online.sendMessage(String.valueOf(this.getConfig().getString("messages.vanish-tag")) + p.getDisplayName() + this.getConfig().getString("messages.vanish-quit"));
                }
            }
        }
    }

a tu juz nie..

    @EventHandler
    public void PickupItem(final PlayerPickupItemEvent e) {
        final String p = e.getPlayer().getDisplayName();
        if (this.vanishs.contains(p)) {
            e.setCancelled(true);
        }
    }

 
5.Nie mam zadnego pojecia co robi to przy onCommand, nie wiem po prostu zagieles mnie, wytlumacz mi to prosze... Moze ja o czyms nie wiem.

@EventHandler(priority = EventPriority.HIGHEST)
    public boolean onCommand(final CommandSender sender, final Command cmd, final String arg2, final String[] args) {

 
6.I jeszcze jedno, nazwa paczki ma byc w stylu, domen, emaila np: otekplay.pl/project to: pl.otekplay.project , i paczki piszemy z malych liter
 
 
 
Caly kod jest kopiowany i sklejka innych kodow.. no coz kazdy zaczyna popraw bledy moze wtedy ocenie.

 

 

 

 

1. Zrobione

 

2. Niby tak nicki graczy się bugują, UUID nie ma prawa.

Ale zostaje kwestia pewnej rzeczy, zauważyłem ją wczoraj:

jeżeli serwer mamy na 

 

online-mode=true

UUID gracza jest inny niż na 'false' , nie wiem może to u mnie tylko tak :O

 

3. Z configiem bawiłem się tutaj pierwszy raz, więc perfekcyjne to nie jest.

Co do buildera, wydaję mi się że po coś mi był wcześniej potrzebny i wrzuciłem go 'przypadkowo' do sekcji z configiem

 

4. Po pierwsze tych sekcji nie kopiowałem pisałem sam.. Po 2 nie rozumiem o co Ci zbytnio chodzi..

 

5. EventPriority był tylko po to bo mi się coś bugowało z Essentials i raz działał mój vanish, raz ten z Essentiala..

 

6. Tego też  zbyt nie rozumiem, po co tak?

 

 

 

Caly kod jest kopiowany i sklejka innych kodow.. no coz kazdy zaczyna popraw bledy moze wtedy ocenie.

Nie cały, jedyne co jest przepisane/skopiowane to sekcja z configiem, bo tym bawiłem się pierwszy raz. Reszta jest pisana przeze mnie i przy pisaniu pomagał mi mój znajomy, nie wiedziałem czegoś czy coś to mi pomógł to wytłumaczyć jak to wykonać (nie dostałem gotowca)

 

 

 

 

 

2. + gdy wyjdziesz z serwera usuwasz się z listy 
Też popełniałem ten błąd i ogarnąłem to dopiero niedawno. 

Jest to zrobione specjalnie, nie chce żeby gracz po ponownym dołączeniu miał vanisha

sygna_frikos.png

Opublikowano

 

 

1.    Ustawiaj typy do zmiennych

 

   

FileConfiguration config;

File cfile;

 

 

 

2. Nie przechowujemy takich obiektow jak Player w listach, latwo o wyciek pamieci

 

 

List<Player> vanishs;

 

 

Lepiej zrobic tak:

 

 

List<UUID> vanishedPlayers;

 

 

I operowac na nim, wyciagajac na podstawie UUID

 

3. Boze, widzisz a nie grzmisz masz domyslne metody z bukkita ktore robia wszystko nad czym ty sie tutaj meczyles, addDefault, tworzenie pliku i folderu

 

 

 this.cfile = new File(this.getDataFolder(), "config.yml");
        final File f = new File(this.getDataFolder(), "config.yml");
        if (!f.exists()) {
            final StringBuilder str = new StringBuilder();
            final String vanishtag = "§8[§3§ls_Vanish§8] ";
            final String vanishon = "§aWlaczyles vanisha!";
            final String vanishona = " §awlaczyl vanisha!";
            final String vanishoff = "§cWylaczyles vanisha!";
            final String vanishoffa = " §cwylaczyl vanisha!";
            final String vanishperms = "§cBlad: §7Nie masz uprawnien! §c(vanish.use)";
            final String vanishreload = "§aPrzeladowano config!";
            final String vanishquit = " §cwyszedl z wlaczonym vanishem!";
            this.getConfig().set("messages.vanish-tag", (Object)vanishtag);
            this.getConfig().set("messages.vanish-on", (Object)vanishon);
            this.getConfig().set("messages.vanish-ona", (Object)vanishona);
            this.getConfig().set("messages.vanish-off", (Object)vanishoff);
            this.getConfig().set("messages.vanish-offa", (Object)vanishoffa);
            this.getConfig().set("messages.vanish-perms", (Object)vanishperms);
            this.getConfig().set("messages.vanish-reload", (Object)vanishreload);
            this.getConfig().set("messages.vanish-quit", (Object)vanishquit);
            this.saveConfig();
        }

NAWET KUZWA NIE CHCE WIEDZIEC PO CO CI TAM BUILDER
 
4.Nazwy metod piszemy z malych liter nie kopiuj kodu ktorego nie rozumeisz bo to bez sensu przyklad twojego kodu:
Tu masz z malej:

    @EventHandler
    public void onQuit(final PlayerQuitEvent e) {
        final Player p = e.getPlayer();
        if (this.vanishs.contains(p)) {
            this.vanishs.remove(p);
            e.getPlayer().removePotionEffect(PotionEffectType.GLOWING);
            for (final Player online : Bukkit.getOnlinePlayers()) {
                if (online.hasPermission("vanish.use")) {
                    online.sendMessage(String.valueOf(this.getConfig().getString("messages.vanish-tag")) + p.getDisplayName() + this.getConfig().getString("messages.vanish-quit"));
                }
            }
        }
    }

a tu juz nie..

    @EventHandler
    public void PickupItem(final PlayerPickupItemEvent e) {
        final String p = e.getPlayer().getDisplayName();
        if (this.vanishs.contains(p)) {
            e.setCancelled(true);
        }
    }

 
5.Nie mam zadnego pojecia co robi to przy onCommand, nie wiem po prostu zagieles mnie, wytlumacz mi to prosze... Moze ja o czyms nie wiem.

@EventHandler(priority = EventPriority.HIGHEST)
    public boolean onCommand(final CommandSender sender, final Command cmd, final String arg2, final String[] args) {

 
6.I jeszcze jedno, nazwa paczki ma byc w stylu, domen, emaila np: otekplay.pl/project to: pl.otekplay.project , i paczki piszemy z malych liter
 
 
 
Caly kod jest kopiowany i sklejka innych kodow.. no coz kazdy zaczyna popraw bledy moze wtedy ocenie.

 

 

 

 

1. Zrobione

 

2. Niby tak nicki graczy się bugują, UUID nie ma prawa.

Ale zostaje kwestia pewnej rzeczy, zauważyłem ją wczoraj:

jeżeli serwer mamy na 

 

online-mode=true

UUID gracza jest inny niż na 'false' , nie wiem może to u mnie tylko tak :O

 

3. Z configiem bawiłem się tutaj pierwszy raz, więc perfekcyjne to nie jest.

Co do buildera, wydaję mi się że po coś mi był wcześniej potrzebny i wrzuciłem go 'przypadkowo' do sekcji z configiem

 

4. Po pierwsze tych sekcji nie kopiowałem pisałem sam.. Po 2 nie rozumiem o co Ci zbytnio chodzi..

 

5. EventPriority był tylko po to bo mi się coś bugowało z Essentials i raz działał mój vanish, raz ten z Essentiala..

 

6. Tego też  zbyt nie rozumiem, po co tak?

 

 

 

Caly kod jest kopiowany i sklejka innych kodow.. no coz kazdy zaczyna popraw bledy moze wtedy ocenie.

Nie cały, jedyne co jest przepisane/skopiowane to sekcja z configiem, bo tym bawiłem się pierwszy raz. Reszta jest pisana przeze mnie i przy pisaniu pomagał mi mój znajomy, nie wiedziałem czegoś czy coś to mi pomógł to wytłumaczyć jak to wykonać (nie dostałem gotowca)

2. + gdy wyjdziesz z serwera usuwasz się z listy 
Też popełniałem ten błąd i ogarnąłem to dopiero niedawno. 

Jest to zrobione specjalnie, nie chce żeby gracz po ponownym dołączeniu miał vanisha

 

2. Każdy tak ma, sama nazwa wskazuje - offline-mode. Więc nicki graczy nie są autoryzowane przez Mojang przez co na "false" są zupełnie inne UUID.

3. No to ją wywal, buildery też.

4. O to mu chodzi że to nie C#, i metody zaczynamy małą literą.

6. Bo takie są zasady Javy, a zasady nie są po to żeby je łamać. (Chyba że jesteś zbuntowanym gimbusem) Paczki powinny wyglądać: pl.domena.plugin, albo me.nick.plugin jeżeli nie masz oficjalnej strony.

 

Co do ostatniego - czemu? :P 

Moja oficjalna strona! :)

http://socketbyte.pl/ 

Opublikowano

Plugin jest jak ten z Essentials'a czy bardziej VanishNoPacket?

Z tego co widzę @up to plugin wydaje się być przeciętny.

Jest to zrobione specjalnie, nie chce żeby gracz po ponownym dołączeniu miał vanisha

Nie lepiej zrobić tak jak pisał @AdamGrzegorz ale dodać możliwość ustalenia na zasadzie true/false czy po wyjściu ma zostać usunięty vanish?

 

CWeKkdQ.png

Opublikowano

 

 

 

1.    Ustawiaj typy do zmiennych

 

   

FileConfiguration config;

File cfile;

 

 

 

2. Nie przechowujemy takich obiektow jak Player w listach, latwo o wyciek pamieci

 

 

List<Player> vanishs;

 

 

Lepiej zrobic tak:

 

 

List<UUID> vanishedPlayers;

 

 

I operowac na nim, wyciagajac na podstawie UUID

 

3. Boze, widzisz a nie grzmisz masz domyslne metody z bukkita ktore robia wszystko nad czym ty sie tutaj meczyles, addDefault, tworzenie pliku i folderu

 

 

 this.cfile = new File(this.getDataFolder(), "config.yml");
        final File f = new File(this.getDataFolder(), "config.yml");
        if (!f.exists()) {
            final StringBuilder str = new StringBuilder();
            final String vanishtag = "§8[§3§ls_Vanish§8] ";
            final String vanishon = "§aWlaczyles vanisha!";
            final String vanishona = " §awlaczyl vanisha!";
            final String vanishoff = "§cWylaczyles vanisha!";
            final String vanishoffa = " §cwylaczyl vanisha!";
            final String vanishperms = "§cBlad: §7Nie masz uprawnien! §c(vanish.use)";
            final String vanishreload = "§aPrzeladowano config!";
            final String vanishquit = " §cwyszedl z wlaczonym vanishem!";
            this.getConfig().set("messages.vanish-tag", (Object)vanishtag);
            this.getConfig().set("messages.vanish-on", (Object)vanishon);
            this.getConfig().set("messages.vanish-ona", (Object)vanishona);
            this.getConfig().set("messages.vanish-off", (Object)vanishoff);
            this.getConfig().set("messages.vanish-offa", (Object)vanishoffa);
            this.getConfig().set("messages.vanish-perms", (Object)vanishperms);
            this.getConfig().set("messages.vanish-reload", (Object)vanishreload);
            this.getConfig().set("messages.vanish-quit", (Object)vanishquit);
            this.saveConfig();
        }

NAWET KUZWA NIE CHCE WIEDZIEC PO CO CI TAM BUILDER
 
4.Nazwy metod piszemy z malych liter nie kopiuj kodu ktorego nie rozumeisz bo to bez sensu przyklad twojego kodu:
Tu masz z malej:

    @EventHandler
    public void onQuit(final PlayerQuitEvent e) {
        final Player p = e.getPlayer();
        if (this.vanishs.contains(p)) {
            this.vanishs.remove(p);
            e.getPlayer().removePotionEffect(PotionEffectType.GLOWING);
            for (final Player online : Bukkit.getOnlinePlayers()) {
                if (online.hasPermission("vanish.use")) {
                    online.sendMessage(String.valueOf(this.getConfig().getString("messages.vanish-tag")) + p.getDisplayName() + this.getConfig().getString("messages.vanish-quit"));
                }
            }
        }
    }

a tu juz nie..

    @EventHandler
    public void PickupItem(final PlayerPickupItemEvent e) {
        final String p = e.getPlayer().getDisplayName();
        if (this.vanishs.contains(p)) {
            e.setCancelled(true);
        }
    }

 
5.Nie mam zadnego pojecia co robi to przy onCommand, nie wiem po prostu zagieles mnie, wytlumacz mi to prosze... Moze ja o czyms nie wiem.

@EventHandler(priority = EventPriority.HIGHEST)
    public boolean onCommand(final CommandSender sender, final Command cmd, final String arg2, final String[] args) {

 
6.I jeszcze jedno, nazwa paczki ma byc w stylu, domen, emaila np: otekplay.pl/project to: pl.otekplay.project , i paczki piszemy z malych liter
 
 
 
Caly kod jest kopiowany i sklejka innych kodow.. no coz kazdy zaczyna popraw bledy moze wtedy ocenie.

 

 

 

 

1. Zrobione

 

2. Niby tak nicki graczy się bugują, UUID nie ma prawa.

Ale zostaje kwestia pewnej rzeczy, zauważyłem ją wczoraj:

jeżeli serwer mamy na 

 

online-mode=true

UUID gracza jest inny niż na 'false' , nie wiem może to u mnie tylko tak :O

 

3. Z configiem bawiłem się tutaj pierwszy raz, więc perfekcyjne to nie jest.

Co do buildera, wydaję mi się że po coś mi był wcześniej potrzebny i wrzuciłem go 'przypadkowo' do sekcji z configiem

 

4. Po pierwsze tych sekcji nie kopiowałem pisałem sam.. Po 2 nie rozumiem o co Ci zbytnio chodzi..

 

5. EventPriority był tylko po to bo mi się coś bugowało z Essentials i raz działał mój vanish, raz ten z Essentiala..

 

6. Tego też  zbyt nie rozumiem, po co tak?

 

 

 

Caly kod jest kopiowany i sklejka innych kodow.. no coz kazdy zaczyna popraw bledy moze wtedy ocenie.

Nie cały, jedyne co jest przepisane/skopiowane to sekcja z configiem, bo tym bawiłem się pierwszy raz. Reszta jest pisana przeze mnie i przy pisaniu pomagał mi mój znajomy, nie wiedziałem czegoś czy coś to mi pomógł to wytłumaczyć jak to wykonać (nie dostałem gotowca)

2. + gdy wyjdziesz z serwera usuwasz się z listy 
Też popełniałem ten błąd i ogarnąłem to dopiero niedawno. 

Jest to zrobione specjalnie, nie chce żeby gracz po ponownym dołączeniu miał vanisha

 

2. Każdy tak ma, sama nazwa wskazuje - offline-mode. Więc nicki graczy nie są autoryzowane przez Mojang przez co na "false" są zupełnie inne UUID.

3. No to ją wywal, buildery też.

4. O to mu chodzi że to nie C#, i metody zaczynamy małą literą.

6. Bo takie są zasady Javy, a zasady nie są po to żeby je łamać. (Chyba że jesteś zbuntowanym gimbusem) Paczki powinny wyglądać: pl.domena.plugin, albo me.nick.plugin jeżeli nie masz oficjalnej strony.

 

Co do ostatniego - czemu? :P 

 

to muszę się jeszcze troszke nauczyć ;/ ale jest problem że ktoś musi mi to wytłumaczyć bo sam nie umiem się tak bezpośrednio uczyć ;/

 

 

co do 4, niech każdy sobie nazywa jak chce, nikt nie powinien o to sapać.

 

CO do pluginu, nie pisz wszystkiego w jednej klasie, rozpisz to na pare klas :)

to jest mój 3 plugin ogólnie, więc się jeszcze uczę, wiem że jest wygodniej w kilku i łatwiej później coś ogarnać, dzięki za uwag :)

 

 

Plugin jest jak ten z Essentials'a czy bardziej VanishNoPacket?

Z tego co widzę @up to plugin wydaje się być przeciętny.

Jest to zrobione specjalnie, nie chce żeby gracz po ponownym dołączeniu miał vanisha

Nie lepiej zrobić tak jak pisał @AdamGrzegorz ale dodać możliwość ustalenia na zasadzie true/false czy po wyjściu ma zostać usunięty vanish?

troszkę inny niż Essentials, ale nie tak rozbudowany jak VNP 

 

mogę tak zrobić :) dzięki :)

sygna_frikos.png

Opublikowano

plugin nie działa... wywala błąd przy wpisaniu komendy /v błąd: 

 

[23:46:28 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'v' in plugin s_Vanish v1.0
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:1043) [mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:880) [mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:65) [mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
Caused by: java.lang.NoSuchFieldError: GLOWING
at Vanish.Main.onCommand(Main.java:181) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[mc.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
... 13 more

zapraszam na serwer metin Tunga ;] by @harnaś

Opublikowano
Caused by: java.lang.NoSuchFieldError: GLOWING

Wystarczy użyć angielskiego i już wiadomo, że masz wersje inną niż 1.10 :)

sygna_frikos.png

Opublikowano

@thiew3 chodzi ci o efekt piorunu? czy jak bo nwm

 

najlepiej to żeby bez efektu było bez zbędnych piorunów i tych innych

 

możesz dodać też że jeśli ktos jest na /v to ma niebieski nick nad głową a jeśli ktoś nie jest na /v to jakiś normalny nick albo zielony

zapraszam na serwer metin Tunga ;] by @harnaś

Opublikowano

@DarkTigger chodzi o efekt GLOWING na graczu :)
Czyli taki jak Haste, czy Speed albo Poison.

Co do efektów takich jak piorun to w wersji tej jest tylko ten co mają Villagery podczas udanego handlu :)

sygna_frikos.png

Opublikowano

@thiew3 Dziękuje! :)

 

 

@thiew3 mam jeszcze jedno pytanie tutaj jest efekt potki na nie widzialność czy taki jak w VanishNoPocket?

@thiew3 tylko lipa że podczas vanisha można wyciągać zabierać itemki itd...

zapraszam na serwer metin Tunga ;] by @harnaś

Opublikowano

Tak chciałbym sie zapytac,bbo niechce mi sie pobierac,na jaka wersje ten plugin?

1.10

 

@topic

 

Plugin słabo rozbudowany, trochę błędów w kodzie. Nie podoba mi się nazewnictwo paczek. Plugin 6/10, aczkolwiek duży plus za wersje.

Opublikowano

Zamiast używania if przy argumentach/komendach używaj else if - lepsza wydajność kodu, bo gdy warunek else if się wykona, kod nie leci dalej tak jak w przypadku if.

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano

@TheMajster

 

 

Ile razy mam Ci mowic, ze jesli udostepniasz plugin publicznie to masz sie trzymac publicznych zasad?

 

Jak idziesz w miasto to nie srasz na srodku miasta bo tak chcesz, nie bijesz nikogo, gdy urodziles sie przyjeles pewne zasady, nie przypisali Cie ID 52915921952195921 i tyle, nie mogles wybrac sobie imienia, dostales Imie i Nazwisko obydwa te czlony piszesz z duzych liter, a nazwisko otrzymales od rodzicow,  I tak bede sie czepail jesli twoja metoda bedze sie nayzwac DOBETLEJEM zamiast doBetlejem

Opublikowano

@TheMajster

 

 

Ile razy mam Ci mowic, ze jesli udostepniasz plugin publicznie to masz sie trzymac publicznych zasad?

 

Jak idziesz w miasto to nie srasz na srodku miasta bo tak chcesz, nie bijesz nikogo, gdy urodziles sie przyjeles pewne zasady, nie przypisali Cie ID 52915921952195921 i tyle, nie mogles wybrac sobie imienia, dostales Imie i Nazwisko obydwa te czlony piszesz z duzych liter, a nazwisko otrzymales od rodzicow,  I tak bede sie czepail jesli twoja metoda bedze sie nayzwac DOBETLEJEM zamiast doBetlejem

 

 

To jest zupełnie co innego Otku, jak by to coś jeszcze dawalo, te nazewnictwo, ale to nie daje nic, nie wpływa na wydajność itd. Więc niech każdy robi tak jak chce. :)

 

Ja mam takie zdanie na ten temat, a co do tego, to normalnie moge srać na środku miasta :)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...