Skocz do zawartości
DemoN

DemoN-Drugs - Narkotyki na twoim serwerze!

Rekomendowane odpowiedzi

Użytkownik

DemoN-Drugs

Wersja: 1.0

Opis: Po wpisaniu komendy /drugs lub /dragi otwiera się menu w którym możemy zakupić aktualnie 3
rodzaje narkotów (Marihuana, Amfetamina oraz Syrop Kodeinowy), projekt nie był inspirowany żadnym postem/serwerem, został wymyślony przeze mnie, nie widziałem podobnych pluginów na forum dlatego postanowiłem go udostępnić. W pluginie stworzona jest obszerna konfiguracja, oczywiście jeśli są jakieś propozycje odnośnie tego co dodać do konfiguracji to można pisać pod postem.
Plugin będzie stale ulepszany o coraz lepsze narkotyki, swoje propozycje dotyczące pluginu można pisać pod postem.

Config: 

DL: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Skan: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Przydało by się wstawić kod na githuba :v

 

1. Do kolorów używa się ChatColor.translateAlternateColorCodes a nie replace z & na paragraf ;/

2. To zrób sobie najlepiej jakąś pętlą

inv.setItem(inv.getSize() - 1, s.build());
inv.setItem(inv.getSize() - 2, s.build());
inv.setItem(inv.getSize() - 3, s.build());
inv.setItem(inv.getSize() - 4, s.build());
inv.setItem(inv.getSize() - 5, s.build());
inv.setItem(inv.getSize() - 6, s.build());
inv.setItem(inv.getSize() - 7, s.build());
inv.setItem(inv.getSize() - 8, s.build());
inv.setItem(inv.getSize() - 9, s.build());
inv.setItem(inv.getSize() - 10, s.build());
inv.setItem(inv.getSize() - 11, s.build());
inv.setItem(inv.getSize() - 12, c.build());
inv.setItem(inv.getSize() - 13, s.build());
inv.setItem(inv.getSize() - 14, b.build());
inv.setItem(inv.getSize() - 15, s.build());
inv.setItem(inv.getSize() - 16, a.build());
inv.setItem(inv.getSize() - 17, s.build());
inv.setItem(inv.getSize() - 18, s.build());
inv.setItem(inv.getSize() - 19, s.build());
inv.setItem(inv.getSize() - 20, s.build());
inv.setItem(inv.getSize() - 21, s.build());
inv.setItem(inv.getSize() - 22, s.build());
inv.setItem(inv.getSize() - 23, s.build());
inv.setItem(inv.getSize() - 24, s.build());
inv.setItem(inv.getSize() - 25, s.build());
inv.setItem(inv.getSize() - 26, s.build());
inv.setItem(inv.getSize() - 27, s.build());

 

Edytowane przez Peridot

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
16 minut temu, Peridot napisał:

Przydało by się wstawić kod na githuba :v

 

1. Do kolorów używa się ChatColor.translateAlternateColorCodes a nie replace z & na paragraf ;/

2. To zrób sobie najlepiej jakąś pętlą

inv.setItem(inv.getSize() - 1, s.build());
inv.setItem(inv.getSize() - 2, s.build());
inv.setItem(inv.getSize() - 3, s.build());
inv.setItem(inv.getSize() - 4, s.build());
inv.setItem(inv.getSize() - 5, s.build());
inv.setItem(inv.getSize() - 6, s.build());
inv.setItem(inv.getSize() - 7, s.build());
inv.setItem(inv.getSize() - 8, s.build());
inv.setItem(inv.getSize() - 9, s.build());
inv.setItem(inv.getSize() - 10, s.build());
inv.setItem(inv.getSize() - 11, s.build());
inv.setItem(inv.getSize() - 12, c.build());
inv.setItem(inv.getSize() - 13, s.build());
inv.setItem(inv.getSize() - 14, b.build());
inv.setItem(inv.getSize() - 15, s.build());
inv.setItem(inv.getSize() - 16, a.build());
inv.setItem(inv.getSize() - 17, s.build());
inv.setItem(inv.getSize() - 18, s.build());
inv.setItem(inv.getSize() - 19, s.build());
inv.setItem(inv.getSize() - 20, s.build());
inv.setItem(inv.getSize() - 21, s.build());
inv.setItem(inv.getSize() - 22, s.build());
inv.setItem(inv.getSize() - 23, s.build());
inv.setItem(inv.getSize() - 24, s.build());
inv.setItem(inv.getSize() - 25, s.build());
inv.setItem(inv.getSize() - 26, s.build());
inv.setItem(inv.getSize() - 27, s.build());

 

Github dodany: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!
Co do pętli dobry sposób, a co do metody kolorów to myślę że powiększy to tylko wagę pluginu i zostane przy & na paragraf. Pozdrawiam

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
18 minut temu, DemoN napisał:

Github dodany: Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!
Co do pętli dobry sposób, a co do metody kolorów to myślę że powiększy to tylko wagę pluginu i zostane przy & na paragraf. Pozdrawiam

Kilka bajtów/kilobajtów nikogo nie zbawi :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
package pl.demonn.drugs.listeners;

 

package nazywa sie w liczbie pojedynczej

    public static String marihuana3;
    public static String marihuana4;
    public static String marihuana5;

zmienne nazywa sie po angielsku i zgodnie z camel case

 


        ItemStack i = p.getItemInHand();
        ItemStack lean = new ItemStack(Material.POTION, 1, (short)8262);
        ItemMeta leanmeta = lean.getItemMeta();
        leanmeta.setDisplayName(Util.fixChatColor("&5&lLEAN"));
        leanmeta.setLore(Arrays.asList(Util.fixChatColor("&8>> &a&nKliknij PPM aby zazyc!")));
        lean.setItemMeta(leanmeta);
        

takie cos powinienes ladowac do pamieci przy starcie pluginu

    public static String fixChatColor(final String msg) {
        return msg.replaceAll("&", "§").replaceAll(">>", "»");
    }

jak wyzej napisal @Peridot do kolorowanie uzywa sie metody translateAlternateColorCodes z klasy ChatColor

        inv.setItem(inv.getSize() - 1, s.build());
        inv.setItem(inv.getSize() - 2, s.build());
        inv.setItem(inv.getSize() - 3, s.build());
        inv.setItem(inv.getSize() - 4, s.build());
        inv.setItem(inv.getSize() - 5, s.build());
        inv.setItem(inv.getSize() - 6, s.build());
        inv.setItem(inv.getSize() - 7, s.build());
        inv.setItem(inv.getSize() - 8, s.build());
        inv.setItem(inv.getSize() - 9, s.build());
        inv.setItem(inv.getSize() - 10, s.build());
        inv.setItem(inv.getSize() - 11, s.build());
        inv.setItem(inv.getSize() - 12, c.build());
        inv.setItem(inv.getSize() - 13, s.build());
        inv.setItem(inv.getSize() - 14, b.build());
        inv.setItem(inv.getSize() - 15, s.build());
        inv.setItem(inv.getSize() - 16, a.build());
        inv.setItem(inv.getSize() - 17, s.build());
        inv.setItem(inv.getSize() - 18, s.build());
        inv.setItem(inv.getSize() - 19, s.build());
        inv.setItem(inv.getSize() - 20, s.build());
        inv.setItem(inv.getSize() - 21, s.build());
        inv.setItem(inv.getSize() - 22, s.build());
        inv.setItem(inv.getSize() - 23, s.build());
        inv.setItem(inv.getSize() - 24, s.build());
        inv.setItem(inv.getSize() - 25, s.build());
        inv.setItem(inv.getSize() - 26, s.build());
        inv.setItem(inv.getSize() - 27, s.build());

o tym tez ktos wspomnial - powinienes uzyc petli

 

System.out.println("[Drugs] Wylaczanie pluginu z powodu edytowania pliku plugin.yml");

jak cos wysylasz do konsoli to uzywasz loggera, a nie sout

 

public void onEnable() {}

to jest metoda nadpisujaca inna, czyli powinna byc tam adnotacja @Override

public static Main instance;

    public static Main getInstance() {
        return Main.instance;
    }

(XD)

Edytowane przez Sewer

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

e tam o szczegóły się czepiacie, ja to bym bardziej tu wspomniał o tym ze napisałeś ze projekt będziesz rozwijał, a nie widzę tu nigdzie fajnie rozbudowanego projektu, za każdym dodawaniem nowego narkotyku musisz edytować doslownie każda klasę.. 

@up camelcase jest 🤷‍♂

i nie "trzeba" tylko można, to już narzucanie code style'u.. i nie, nie powinno tylko może, kompilator i tak to normalnie potraktuje

@edit @Sewer @down myslalem ze chodzi ci tylko o statyczne fieldy=(

Edytowane przez yooniks

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik

Dziękuję wszystkim za uwagi dotyczące projektu, bardzo mi to pomaga. Prosiłbym również o uwagi pod każdą kolejną aktualizacją tak bym mógł uczyć się na błędach. Pozdrawiam

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Losowy awatar
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Maksymalnie dozwolone są tylko 75 emotikony.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.


  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×