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

[Szukam] Eventu <- Bukkit API


xWatx

Rekomendowane odpowiedzi

Opublikowano

Witam,

Szukam eventu takiego, ze jak gracz skacze lub wciska SHIFT to wtedy podrzuca go np.  5 kratek w gore i 5 do przodu. Chodzi o jave nie o bukkit api!

 

EDIT:

Jak mozna dodac event dla gracza np. sila na zawsze?

Opublikowano

Skakanie to PlayerMoveEvent i sprawdzasz czy zmienia się wartosć po osi y. Kucanie to masz metodę w klasie Player, isSneaking bodajże :)

I5 4690 3.5GHz | GeForce GTX 970 | Crucial Ballistix 8GB 1600MHz | SSD Transcend 370 128GB & HDD Seagate 5.4k 500GB | MSI B85-G43 | Corsair CX 500W | Zalman Z3 PLUS

Opublikowano

Skorzystaj z metody setVelocity() w klasie Player; PlayerToggleSneakEvent.

 

Btw.

"Chodzi o jave nie o bukkit api!"

Wut? Z API Bukkita korzysta sie w Javie ;o

Opublikowano

Witam, mam pytanie: Jak zrespawnic np. pajaka z strength V? Podacie kod na to? Aha i jak np. dekomplikuje plugin i tam w src sa rozne foldery. Takie jak Commands i tam sa klasy z komendami, Events i tam sa listenery itp. Jak takie foldery zrobic? Da sie je utworzyc w eclipse? Jak tak to jak?

Opublikowano

World world = Bukkit.getWorld("nazwa świata, domyslny to zwykle world");

Spider spider = (Spider) world.spawnEntity(...) IDE (np eclipse) )ci podpowie jak wypełnić, lub zerknij tutaj -> http://jd.bukkit.org/rb/doxygen/dd/daa/interfaceorg_1_1bukkit_1_1World.html#a51bf13b8246a0b2d1602fcf1fadc237d

spider.addPotionEffect(...) -> http://jd.bukkit.org/rb/doxygen/d4/d7b/interfaceorg_1_1bukkit_1_1entity_1_1LivingEntity.html#afe41c82f889d789daedb82c071a18412

 

co do "folderów" to się nazywa pakiet, i tworzysz podobnie jak klasę, prawym i tam masz new Class i new Package lub jakos podobnie, nie pamiętam jak to w eclipse wygląda ;P

1438614356923701010629.png

 

Opublikowano

@GotoFinal A jak dodam ten packet to musze do nich cos dodac aby zewnetrzne klasy rozpoznawaly metody z roznych pacektow/? Czy po prostu sie tworzy packety a w nich klasy i gotowe? Aha i mozesz podac tuta do "wrapperow"?

W eclipse nie ma czegos takiego jak "Packet". Jak klikne na Package i new to jest "JavaProtect, Project, Package, Class, Interface, Enum, Annotation, Source Folder, Java working set, Folder, File, Untitled text, JUnit Test Case, Other. Co mam wybrac aby utowrzyc folder? Source Folder czy co? Prosze o pomoc

Opublikowano

@GotoFinal

Nieudolny ten kod...

 

for(World w : Bukkit.getWorlds()){

for(Entity e : w.getEntity()){

if(e instanceof Spider){

Spider s = (Spider) e;

s.addPotionEffect(new PotionEffect(PotionEffectType.STRENGH, Integer.MAX_INT, 2));

}

}

}

 

^^ może nie działać, pisałem z głowy

b_560_95_2.png

Opublikowano

@GotoFinal

Nieudolny ten kod...

 

for(World w : Bukkit.getWorlds()){

for(Entity e : w.getEntity()){

if(e instanceof Spider){

Spider s = (Spider) e;

s.addPotionEffect(new PotionEffect(PotionEffectType.STRENGH, Integer.MAX_INT, 2));

}

}

}

 

^^ może nie działać, pisałem z głowy

wut? co ma twój kod do tego o co pytał autor?

chcaił ZESPAWNIĆ pająka z efektem potka.

I to nie był gotowiec, tylko nakierowanie, jak to wykonać.

 

 

JAk zrobic te foldery w Eclipse?

http://www.tutorialspoint.com/eclipse/eclipse_create_java_package.htm

Tu masz kilka przykładów.

­

1438614356923701010629.png

 

Opublikowano

wut? co ma twój kod do tego o co pytał autor?

chcaił ZESPAWNIĆ pająka z efektem potka.

I to nie był gotowiec, tylko nakierowanie, jak to wykonać.

 

 

http://www.tutorialspoint.com/eclipse/eclipse_create_java_package.htm

Tu masz kilka przykładów.

­

 

@GotoFinal

A rzeczywiście, "zrestawnić". Zwracam honor.

 

Do tematu (coby warna nie było):

Spawnowanie musi się odbyć na danym świecie (jeżeli to komenda to łatwo znaleźć świat).

 

Co do folderów, jeżeli to o te chodzi to podam obrazki z linku który @GotoFinal podesłał:

 

new_java_package.jpg 

Tam tworzysz, jest to "New -> Package" o ile pamiętam, prawym na Java Project, który już powinien być zrobiony.

 

new_java_package_pe.jpg

Tak to będzie wyglądać po wykonaniu.

Jeżeli nie o to chodzi to przybliż "foldery" :)

b_560_95_2.png

Opublikowano

@Polowicer i to bedzie tak samo jak tu?  Wiec tak tworze package a w nich klasy. Przypuscmy mam package Commands, a w nim klase command executor. I wystarczy, ze do klasy Main (klasa Main z innego package bedzie) zarejestruje komende  i to tyle, bedzie smigac plugin?

post-1329504-0-55581700-1422912902.jpg

Opublikowano

­

@Polowicer i to bedzie tak samo jak tu?  Wiec tak tworze package a w nich klasy. Przypuscmy mam package Commands, a w nim klase command executor. I wystarczy, ze do klasy Main (klasa Main z innego package bedzie) zarejestruje komende  i to tyle, bedzie smigac plugin?

Masz tam w linku jak tworzyć te pakieciki/paczuszki/packages

http://www.tutorialspoint.com/eclipse/eclipse_create_java_package.htm

 

Ale tak, można spokojnie używać wtedy klass z inych paczek, tylko że trzeba je importować, tak samo jak np importujesz org.bukkit.Bukkit, tam samo importujesz własne klasy. (IDE, czyli eclipse pewnie ci podpowiada lub nawet sam importuje)

 

Do tego warto dodać...

że te pakiety powinny być nazywane z małych liter, a nie tak jak jest na ss'ie ;)

Tak by sie nie myliły z klasami, bo klasy zawsze rozpoczynamy z wielkiej litery, a pakiety... cała nazwa z małych.

1438614356923701010629.png

 

Opublikowano

@GotoFinal

Nie pakiety, tylko paczki.

"Package" - paczka,

"Packet" - pakiet.

 

I nie z małej (cOM.gOOglE), tylko małymi literami (com.google).

 

Takie tylko drobne poprawki ode mnie.

Opublikowano

@GotoFinal

Nie pakiety, tylko paczki.

"Package" - paczka,

"Packet" - pakiet.

 

I nie z małej (cOM.gOOglE), tylko małymi literami (com.google).

 

Takie tylko drobne poprawki ode mnie.

Rozne wersje sa, obydwie poprawne. :)

I5 4690 3.5GHz | GeForce GTX 970 | Crucial Ballistix 8GB 1600MHz | SSD Transcend 370 128GB & HDD Seagate 5.4k 500GB | MSI B85-G43 | Corsair CX 500W | Zalman Z3 PLUS

Opublikowano

­

@GotoFinal
Nie pakiety, tylko paczki.
"Package" - paczka,
"Packet" - pakiet.

I nie z małej (cOM.gOOglE), tylko małymi literami (com.google).

Takie tylko drobne poprawki ode mnie.

tak jak wyżej, obie wersje "są w obiegu"
I obu użyłem, tak by od razu zaznaczyć że można się spotkać z wieloma nazwami.

A do tego napisałem o tym że nazwy mają być z małych liter, całe ;)

 

Zaznaczę ci nawet, byś nie męczył

 

 

­Masz tam w linku jak tworzyć te pakieciki/paczuszki/packages
http://www.tutorialspoint.com/eclipse/eclipse_create_java_package.htm

Ale tak, można spokojnie używać wtedy klass z inych paczek, tylko że trzeba je importować, tak samo jak np importujesz org.bukkit.Bukkit, tam samo importujesz własne klasy. (IDE, czyli eclipse pewnie ci podpowiada lub nawet sam importuje)

Do tego warto dodać...
że te pakiety powinny być nazywane z małych liter, a nie tak jak jest na ss'ie ;)
Tak by sie nie myliły z klasami, bo klasy zawsze rozpoczynamy z wielkiej litery, a pakiety... cała nazwa z małych.

 

Mam nadzieje że to rozwieje twoje wątpliwości :P

Zanim kogoś poprawisz, sprawdź czy na pewno jest co ;)

 

@GotoFinal A jak dodam ten packet to musze do nich cos dodac aby zewnetrzne klasy rozpoznawaly metody z roznych pacektow/? Czy po prostu sie tworzy packety a w nich klasy i gotowe? Aha i mozesz podac tuta do "wrapperow"?

W eclipse nie ma czegos takiego jak "Packet". Jak klikne na Package i new to jest "JavaProtect, Project, Package, Class, Interface, Enum, Annotation, Source Folder, Java working set, Folder, File, Untitled text, JUnit Test Case, Other. Co mam wybrac aby utowrzyc folder? Source Folder czy co? Prosze o pomoc

masz wybrać Package ;)

1438614356923701010629.png

 

Opublikowano

@GotoFinal

Napisałeś:

 

 

że te pakiety powinny być nazywane z małych liter, a nie tak jak jest na ss'ie ;)

a nie, małymi literami.

Jest różnica.

 

A korzystając z różnych nazw mogłeś go jedynie zmylić.

To że ktoś kiedyś użył "pakiet" zamiast "paczka" to nie znaczy, że jest to poprawnie.

Opublikowano

@GotoFinal

Napisałeś:

 

a nie, małymi literami.

Jest różnica.

 

A korzystając z różnych nazw mogłeś go jedynie zmylić.

To że ktoś kiedyś użył "pakiet" zamiast "paczka" to nie znaczy, że jest to poprawnie.

Dał przed tym słowo nazywane, czyli dotyczy nazwy całego package. Czytanie ze zrozumieniem.

Opublikowano

­


@GotoFinal
Napisałeś:
 
a nie, małymi literami.
Jest różnica.
 
A korzystając z różnych nazw mogłeś go jedynie zmylić.
To że ktoś kiedyś użył "pakiet" zamiast "paczka" to nie znaczy, że jest to poprawnie.

boże, mam zaznaczyć jeszcze raz, ale mocniej?

­Masz tam w linku jak tworzyć te pakieciki/paczuszki/packages
http://www.tutorialspoint.com/eclipse/eclipse_create_java_package.htm

Ale tak, można spokojnie używać wtedy klass z inych paczek, tylko że trzeba je importować, tak samo jak np importujesz org.bukkit.Bukkit, tam samo importujesz własne klasy. (IDE, czyli eclipse pewnie ci podpowiada lub nawet sam importuje)

Do tego warto dodać...
że te pakiety powinny być nazywane z małych liter, a nie tak jak jest na ss'ie ;)
Tak by sie nie myliły z klasami, bo klasy zawsze rozpoczynamy z wielkiej litery, a pakiety... cała nazwa z małych.

Powiedz mi, gdzie tu jest źle?
Jak trzeba to mogę jeszcze większe literki dać, jak potrzeba? ;)

 

A do tego w poprzednim miejscu było z "małYCH liteR", a nie małeJ literY, "jest różnica" ;) No chyba że ty to rozumiesz jako np "dgrSGES", kilka małych, kilka dużych, wtedy gratuluje.

 

 

Więc chyba tylko ty masz problem ze zrozumieniem... 

Więc może już to zakończmy i się nie ośmieszaj więcej ;)

Co najwyżej mogę zrozumieć przyczepianie się do "packet" bo jednak nie jest to "najpoprawniejsza" możliwość, ale i tak dość często spotykana, ale tak to proszę cię, nie ośmieszaj się więcej ;3

 

 

A wracając do tematu...

 

@1361622928-U485574.pngxWatx Mam nadzieje że już ci się udało stworzyć te pakiety?

I tak jeszcze dodam, co do ich nazywania, że zwykle nazywa się ją np domeną która posiadamy, zapewne nie masz żadnej, więc masz 2 wygodne możliwości:

email, np:

com.gmail.mojadres.nazwaprojektu

(kropki rozdzielają pakiety, tak jak foldery i / )

lub zaczynając od me.

me.pseudonim.nazwaprojektu

 oczywiście całość bez używania dużych liter (może taki zapis zrozumie @shooly bo już nie wiem jak mam pisać by zrozumiał)

Albo inaczej, specjalnie dla @shooly , powinno używać się tylko tych znaków:

qwertyuiopasdfghjklzxcvbnm1234567890_ z tym że nie da się użyć liczby na początku, więc jak trzeba, to poprzedza się ją podłogą (_):

me._4life.mincrafty

A dalsze paczki po prostu rozdzielają program, to już robisz dowolnie, możesz robić command/commands/listeners albo dzielić na zasadzie modułów: chat/mobs/pvp/points

1438614356923701010629.png

 

Opublikowano

Tak zrobiłem :D Tylko, ze na razie komenda nie chce mi dzialac: "Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventoryCustom cannot be cast to me.test.drop.listener.Inventory"

Opublikowano

Tak zrobiłem :D Tylko, ze na razie komenda nie chce mi dzialac: "Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventoryCustom cannot be cast to me.test.drop.listener.Inventory"

Pokaż kod to pomożemy.

Opublikowano

@1361622928-U485574.pngKamisama juz wszysciutko dziala, zle importowalem i te sprawy.

Emmm jak zrobic w configu, aby bylo takie cos? Wiem, ze bylo na necie, ale cos strony mi sie nie chca ladowac podpowie ktos?

 

Config.yml

Config:
    Drop:
      - Diament: 0.1
      - Zloto: 0.2
    WeekendDrop:
     - Diament: 0.5
     - Zloto: 0.7

Chodzi tylko zebym za kazdym razem nie musial pisac:

 

 

config.diament: 0.1
config.zloto: 0.2
config.weekenddrop.diament: 0.5
config.weekenddrop.zloto: 0.7
Opublikowano

 

@1361622928-U485574.pngKamisama juz wszysciutko dziala, zle importowalem i te sprawy.

Emmm jak zrobic w configu, aby bylo takie cos? Wiem, ze bylo na necie, ale cos strony mi sie nie chca ladowac podpowie ktos?

 

Config.yml

Config:
    Drop:
      - Diament: 0.1
      - Zloto: 0.2
    WeekendDrop:
     - Diament: 0.5
     - Zloto: 0.7

Chodzi tylko zebym za kazdym razem nie musial pisac:

config.diament: 0.1
config.zloto: 0.2
config.weekenddrop.diament: 0.5
config.weekenddrop.zloto: 0.7

Nie rozumiem? Przecież wystarczy podczas pisania pliku yaml, który możesz potem skopiować odpowiednią metodą używać z każdą sekcją 2 spacji.

Przykładowo:

config:
  Drop:
    Diament: 0.1
    Zloto: 0.2
  WeekendDrop:
    Diament: 0.5
    Zloto: 0.7

(To powyżej oczywiście w config.yml)

A potem podczas pobierania tego używasz tamtej drugiej opcji czyli:

Przykład:

getConfig().getDouble("config.Drop.Diament");

Powyższe pobranie zwróci Ci wartość przypisaną do

config:
  Drop:
    Diament: 0.1

Czyli 0.1

Mam nadzieje że o to Ci chodziło.

Co do tworzenia config.yml ->

W folderze src tworzysz nowy plik config.yml(możesz to zrobić z poziomu IDE, new -> file -> "config.yml").

Następnie robisz funkcje która sprawdza czy plik istnieje:

Przykład:

File f = new File(getDataFolder() + File.separator + "config.yml");
if (!f.exists()){
  getConfig().options().copyDefaults(true);
  saveDefaultConfig();
}

Samo stworzy Ci zrobiony przez Ciebie plik YAML z konfiguracją do folderu plugins/nazwapluginu

 

Ps. Ciekawe czy ktoś zaraz na Mnie najedzie, że jestem kolejnym pseudo koderem.

Ps.2 Dlaczego strukturę dla pobrania procentów dropów zrobiłeś na zasadzie listy, odczytanie tego na twoim poziomie umiejętności było by męką xD

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...