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

Problem z Pluginem


MaxTheFuck

Rekomendowane odpowiedzi

Opublikowano

Witam!

mam problem ze swoim pluginem w eclispe i konsoli nie pokazuje zadnego błędu lecz

gdy kod z klasy Main przeniose do klasy np.RandomTP to nie dziala a gdy bedzie on sie znajdowal w klasie Main to dziala

daje tera kod na pastebin:

https://pastebin.com/KT62MFMY

https://pastebin.com/ezQ2kH7d

 

Ktos pomoze?

10/20/100/150/200/300/400/500/600/700

Opublikowano

logi poprosimy, wynik kompilacji, jakiś szerszy opis, bo ja w kodzie nic nie widzę.

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano

Nie wiem czego nie rozumiesz kolego. Napisałem Ci, żebyś podał szerszy opis i logi kompilacji... Niestety nie mogę napisać tego identycznymi słowami, bo dostanę warna. A to co mi wysłąłeś na PW możesz podać tutaj.

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano
1 godzinę temu, MarcinWieczorek napisał:

logi poprosimy, wynik kompilacji, jakiś szerszy opis, bo ja w kodzie nic nie widzę.

Tuż tu nawet logów nie potrzeba. xD

Dwa razy extends JavaPlugin

public class RandomTP extends JavaPlugin implements Listener

public class Main extends JavaPlugin{

 

784091427630431250239.png

Regulamin sygnatur

Opublikowano
29 minut temu, MaxTheFuck napisał:

@Oldis

 

Ok naprawiłem lecz mam błąd z klasą RandomTP

 

tu jest błąd i kod klasY:

http://scr.hu/0we7q/fwut2
 

https://pastebin.com/8BCcXmCM

 

Chce by generowało mi do configa w tym stylu:

config:

 random_tp_on_firstjoin: true

 

 

Ojj, nie ładnie kraść plugin. Zwalone 1:1

 

//W tej klasie masz instancje?

Jeśli nie zrób: Main.getInstance().getConfig().getBoolean("ble")

Ps. Nie twórz za każdym razem ItemStacka, plz!

Opublikowano
2 godziny temu, MaxTheFuck napisał:

@Oldis

 

Ok naprawiłem lecz mam błąd z klasą RandomTP

 

tu jest błąd i kod klasY:

http://scr.hu/0we7q/fwut2
 

https://pastebin.com/8BCcXmCM

 

Chce by generowało mi do configa w tym stylu:

config:

 random_tp_on_firstjoin: true

 

 

 

Obstawiam, że ,,this" odnosi się do instancji pluginu, której w tej klasie nie posiadasz (Ponieważ zrobiłeś to w osobnej klasie). Musisz sie odwołać do klasy głównej (Która posiada extends JavaPlugin).

Ponadto nie należy wyciągać ciągle wszystkiego z configu, zrób klasę Config i załaduj te zmienne przy starcie, a później odwołuj się do klasy Config.

784091427630431250239.png

Regulamin sygnatur

Opublikowano
8 godzin temu, ScoreBoard napisał:

Ojj, nie ładnie kraść plugin. Zwalone 1:1

 

//W tej klasie masz instancje?

Jeśli nie zrób: Main.getInstance().getConfig().getBoolean("ble")

Ps. Nie twórz za każdym razem ItemStacka, plz!

A niby czemu?

Jedynie co tu ma zle to to:

            e.getPlayer().getInventory().addItem(new ItemStack[] { stonepickaxe });
            e.getPlayer().getInventory().addItem(new ItemStack[] { cookedbeef });
            e.getPlayer().getInventory().addItem(new ItemStack[] { torch });
            e.getPlayer().getInventory().addItem(new ItemStack[] { sapling });
            e.getPlayer().getInventory().addItem(new ItemStack[] { enderchest });
            e.getPlayer().getInventory().addItem(new ItemStack[] { boat });

oraz to słowo kluczowe "this".

+ wtf, cos ty mu tu napisal

Cytat

//W tej klasie masz instancje?

Jeśli nie zrób: Main.getInstance().getConfig().getBoolean("ble")

Cytat

Ojj, nie ładnie kraść plugin. Zwalone 1:1

każdy od czegoś musi zacząć wiec nie krytykuj, ty zacząłeś kraść i dalej nie skończyłeś.

 

 

@topic

8 godzin temu, MaxTheFuck napisał:

@Oldis

 

Ok naprawiłem lecz mam błąd z klasą RandomTP

 

tu jest błąd i kod klasY:

http://scr.hu/0we7q/fwut2
 

https://pastebin.com/8BCcXmCM

 

Chce by generowało mi do configa w tym stylu:

config:

 random_tp_on_firstjoin: true

 

 

klasa RandomTP nie jest rozszerzona o JavaPlugin, wiec czego sie spodziewales.

 

Musisz stworzyć instancję.
W klasie głownej dajesz to pod "class Main extends JavaPlugin...{"
 

private static Main instance;

w onEnable() to:

instance = this;

i robisz sobię metode w klasie main:

public static Main getInst(){
	return instance;
}

i potem w klasie RandomTP zamiast "this" dajesz "Main.getInst()"

 

// tak swoją drogą to możesz skrócić kod:

            e.getPlayer().getInventory().addItem(new ItemStack[] { stonepickaxe });
            e.getPlayer().getInventory().addItem(new ItemStack[] { cookedbeef });
            e.getPlayer().getInventory().addItem(new ItemStack[] { torch });
            e.getPlayer().getInventory().addItem(new ItemStack[] { sapling });
            e.getPlayer().getInventory().addItem(new ItemStack[] { enderchest });
            e.getPlayer().getInventory().addItem(new ItemStack[] { boat });

:

            e.getPlayer().getInventory().addItem(new ItemStack[] { stonepickaxe, cookedbeef, torch, sapling, enderchest, boat });

 

i jeszcze ten piekny kod z dekomplikatora ehh

                final double x = rand.nextDouble() * 5000.0 - 3000.0;
                final double z = rand.nextDouble() * 5000.0 - 3000.0;
                final Location loc2 = new Location(e.getPlayer().getWorld(), x, (double)e.getPlayer().getWorld().getHighestBlockYAt((int)x, (int)z), z);

nie musisz juz castowac int oraz double bo jest jasne czym jest zmienna.

    @EventHandler
    public void onCraft(final CraftItemEvent e) {
        if (e.getInventory().getType().equals((Object)InventoryType.WORKBENCH) && e.getSlotType().toString().equalsIgnoreCase("RESULT") && e.getCurrentItem().getType().name().equalsIgnoreCase("JUKEBOX")) {
            e.setCancelled(true);
        }
    }
   
    @EventHandler
    public void onCraft1(final CraftItemEvent e) {
        if (e.getInventory().getType().equals((Object)InventoryType.WORKBENCH) && e.getSlotType().toString().equalsIgnoreCase("RESULT") && e.getCurrentItem().getType().name().equalsIgnoreCase("BEACON")) {
            e.setCancelled(true);
        }
    }

ahh ten piekny kod z kguildsow, nawet nie wiesz ze to ci blokuje crafting bejkona..

Ten kod jest BRZYDKI, mozna to zrobic latwiej, ladniej, wygodniej.

        if (e.getInventory().getType().equals((Object)InventoryType.WORKBENCH) && e.getSlotType().toString().equalsIgnoreCase("RESULT") && e.getCurrentItem().getType().name().equalsIgnoreCase("JUKEBOX")) {

nie musisz castowac Object.

 

Aktualnie interesuję się javą, powoli ogarniam java swing i awt, czasem bawię się HTML.

Opublikowano

W returnie nie Main.inst tylko inst 

Następnie ctrl+S

 

//W onEnable masz źle, na dodatek dwa razy. Ma być: inst = this;

I usuń private static Main instance;

 

Opublikowano
13 minut temu, MaxTheFuck napisał:

usun wszystko to co on ci napisal.

 

zrob to co ci napisalem i jak juz masz ten swoj blad:

1 godzinę temu, MaxTheFuck napisał:

@ˈyøøniks

Dalej błąd poprawiłem wszystko co jest napisane i mam tylko błąd w tym ;/

http://scr.hu/0we7q/u4kl1
 

tam gdzie masz podkreslone to zrob tak:

if (Main.getInst().getConfig().getBoolean("config.random_tp_on_firstjoin") && !e.getPlayer().hasPlayedBefore(){
//...

 

i prosze.. nie rob pluginow skoro nie znasz najmniejszych podstaw

@edit

holy shit

serio jestes tak glupi? 3 razy dac w oneable instance = this?

przestaje wierzyc w niektorych ludzi.

az mi szkoda tlumaczyc, po prostu zamknij ten temat i idz sie poduczyc.

10 minut temu, ScoreBoard napisał:

W returnie nie Main.inst tylko inst 

Następnie ctrl+S

 

//W onEnable masz źle, na dodatek dwa razy. Ma być: inst = this;

I usuń private static Main instance;

 

od kiedy wszystko nazywamy skrótami?

 

Aktualnie interesuję się javą, powoli ogarniam java swing i awt, czasem bawię się HTML.

Opublikowano
11 minut temu, ˈyøøniks napisał:

usun wszystko to co on ci napisal.

 

zrob to co ci napisalem i jak juz masz ten swoj blad:

tam gdzie masz podkreslone to zrob tak:


if (Main.getInst().getConfig().getBoolean("config.random_tp_on_firstjoin") && !e.getPlayer().hasPlayedBefore(){
//...

 

i prosze.. nie rob pluginow skoro nie znasz najmniejszych podstaw

@edit

holy shit

serio jestes tak glupi? 3 razy dac w oneable instance = this?

przestaje wierzyc w niektorych ludzi.

az mi szkoda tlumaczyc, po prostu zamknij ten temat i idz sie poduczyc.

od kiedy wszystko nazywamy skrótami?

Instancja może inaczej się nazywać, skróty nic nie znaczą, jak zrobię metodę getPlugin i zwrócę plugin to będzie to samo.

Również metoda getKotlet i return kotlet; ma takie same działanie.

Opublikowano
1 minutę temu, ScoreBoard napisał:

Instancja może inaczej się nazywać, skróty nic nie znaczą, jak zrobię metodę getPlugin i zwrócę plugin to będzie to samo.

Również metoda getKotlet i return kotlet; ma takie same działanie.

https://javastart.pl/static/ksiazki/clean-code-robert-c-martin/

radze poczytac zasady clean code.

Cytat

pisać kod tak, aby rozumieć co się w nim dzieje jeśli otworzymy projekt po połowie roku.

 

 

Aktualnie interesuję się javą, powoli ogarniam java swing i awt, czasem bawię się HTML.

Opublikowano
45 minut temu, MaxTheFuck napisał:

@

ˈyøøniks

 

faktycznie pomogłeś w uj dzięki temu co napisałeś mam więcej błędów niż wcześniej :))

http://scr.hu/0we7q/ijkxf
 

Ojej, jak mi cie szkoda :ccccccccccccccccccccc

 

tak sie dzieje jak masz zerowe pojęcie o javie i bukkitapi (pluginach), a próbujesz coś robić.

 

Nawet nie bede ci juz pomagal bo pewnie dales to:

46 minut temu, MaxTheFuck napisał:

@

ˈyøøniks

 

faktycznie pomogłeś w uj dzięki temu co napisałeś mam więcej błędów niż wcześniej :))

http://scr.hu/0we7q/ijkxf
 

w onenable lub w jakąś metode.

Podsumowywując cały temat:

 - idź naucz sie chociaż najmniejszych podstaw i tutaj wróć, bo raczej nikt nie ma zamiaru ci pomagać skoro ty i tak źle to zrobisz i piszesz coś typu "no dzięki, przez ciebie mam wiecej błedów" - a ktoś próbował pomóc i wytłumaczył dobrze, ale twoje umiejętności to tylko ctrl c, ctrl v

 

Aktualnie interesuję się javą, powoli ogarniam java swing i awt, czasem bawię się HTML.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...