Skocz do zawartości


Zdjęcie

Plugin java.jar


  • Zaloguj się, aby dodać odpowiedź
27 odpowiedzi w tym temacie

#1 tyro

tyro

    Generał

  • Head Admin
  • PipPipPipPipPipPipPipPipPipPip
  • 5 593 postów

Napisano 09 marca 2012 - 06:05

zna się któryś na programowaniu w java? maven, eclipse i takie tam???
potrzebuję pilnie speca do przekompilowania plugina. mam źródła.
  • 0

#2 Furai

Furai

    Porucznik

  • Moderator
  • PipPipPipPipPipPip
  • 872 postów
  • Ską…d:"skomputera"

Napisano 09 marca 2012 - 09:45

Ja z młodszym może specami nie jesteśmy, ale chyba nie ma większych problemów z przekompilowaniem plugina. Możesz jednemu z nas to podrzucić. Lepiej młodszemu, bo ja teraz nie mam niczego do javy na kompie.
  • 0
"My senses are so powerful that I can hear the blood pumped through your veins."

#3 JSokol

JSokol

    Plutonowy

  • Member
  • PipPipPip
  • 166 postów

Napisano 09 marca 2012 - 10:49

Możesz przesłać mi na PW, możesz też na gadu: 9360269.
Mam Netbeansa, mam Eclipse, no i co najważniejsze, mam konsolę! :D
  • 0

#4 tyro

tyro

    Generał

  • Head Admin
  • PipPipPipPipPipPipPipPipPipPip
  • 5 593 postów

Napisano 10 marca 2012 - 12:17

tym razem poradziłem sobie sam, jestem miszczu. :D

ale dzięki, będę wiedział na przyszłość do kogo się zgłosić, może się zdarzyć, że będę potrzebował pomocy.
tym razem to było proste, wystarczyło zmienić jedno true na false i skasować dwie cyfry 1.
czasem są pluginy, które nie uruchamiają się, bo się zestarzały i trzeba je zwyczajnie przekompilować na nowej wersji serwera.
  • 0

#5 Owi

Owi

    Administrator

  • Head Admin
  • PipPipPipPipPipPipPipPipPipPip
  • 6 326 postów
  • Ską…d:Białystok

Napisano 10 marca 2012 - 03:16

tam true czy false...

kogo by to tam obchodziło :D
  • 0
Dołączona grafika

..."Umiesz liczyć - licz na siebie"...
Head Admin @ Tawerna-cs.org

#6 tyro

tyro

    Generał

  • Head Admin
  • PipPipPipPipPipPipPipPipPipPip
  • 5 593 postów

Napisano 12 marca 2012 - 10:13

@Sokol i Furai
a czy dalibyście radę napisać coś w javie?

np. coś na wzór tego w załączniku.

trzeba dodać do projektu bibliotekę zewnętrzną craftbukkit.jar, pobraną stąd, najnowszą beta - http://dl.bukkit.org...ds/craftbukkit/
oraz javadoc podłączone stąd -> http://jd.bukkit.org/apidocs/

i exportować do jar.

to w załaczniku można by przekompilować w oparciu o te najnowsze biblioteki.

ja patrzyłem ale zgłasza jakieś błędy javy, a ja tego nie czaję.

dlaczego pytam o napisanie czegoś ? bo Skral zgłaszał wielokrotnie pomysł, który moim zdaniem jest ciekawy, ale nie ma tego nigdzie, a pisanie o pomoc na forum Bukkit nie ma sensu.
chodzi o ogniska - campfire.

Załączony plik  2012-03-12_09.26.16.png   215,69 KB   19 Ilość pobrań

plugin robiłby to co tamten mobrepellent - odstraszał moby.
- jeśli zrobi się dokładnie tak jak na screenie, log + stone slabs, i podpali, i dopóki te warunki będą spełnione, to moby nie będą podchodziły na odległość, powiedzmy 16 bloków. ogień to tez blok i mozna sprawdzić jego obecność w tym wszystkim.

byłby to fajny dodatek do naszego świata Pandora, zapada noc, rozpalasz ognisko i masz spokój, dopóki ogień się pali.

- inną rzeczą zgłaszaną przez Skrala jest odczuwanie zimna w biomie zimowym.
kiedy jesteś w biomie - to da się sprawdzić, zaczynasz czuć większy głód, a twoje zdrowie -pasek życia- zaczyna schodzić. chyba, że jesteś blisko lavy, blisko ognia (ogniska), lub masz skórzane ciuchy na sobie.
- na pustyni, jeśli jestes w słońcu, zaczyna ci być gorąco i pasek ci schodzi, musisz iść w cień.
takie rzeczy dodałyby trochę smaczku RPG do gry.

wiem, że to duże wyzwanie i że pewnie nic z tego nie będzie, ale....
żebym trochę kumał tą javę, to sam bym spróbował, ale nic nie wiem...
  • 0

#7 tyro

tyro

    Generał

  • Head Admin
  • PipPipPipPipPipPipPipPipPipPip
  • 5 593 postów

Napisano 12 marca 2012 - 10:33

po napisaniu posta, znalazłem dawno zapomniany plugin, który uzdrawiał przy ognisku, ale nie mam żadnych danych tylko zrodła.
  • 0

#8 Furai

Furai

    Porucznik

  • Moderator
  • PipPipPipPipPipPip
  • 872 postów
  • Ską…d:"skomputera"

Napisano 12 marca 2012 - 09:33

Przyznaję się bez bicia, nie znam się na javie aż tyle. Same przekompilowanie czegoś ze źródła to nie byłby raczej problem, ale napisanie pluginu to raczej wyzwanie przerastające mnie. :) Może kiedyś, gdzieś, jak zgłębię tajniki tegoż języka na tyle by czuć się w nim swobodnie.
  • 0
"My senses are so powerful that I can hear the blood pumped through your veins."

#9 JSokol

JSokol

    Plutonowy

  • Member
  • PipPipPip
  • 166 postów

Napisano 12 marca 2012 - 10:29

Szczerze? Wszystko jest do napisania, wystarczy pewnie zapoznać się z dokumentacją udostępnianą przez twórców MC pod pisanie pluginów i można się bawić, tyle że największy problem jest u mnie z czasem... Studia, praca, studia, praca, praca, sen, studia, praca, sen, praca, sen, studia, praca, sen <--- tak to mniej więcej wygląda :P gdzie sen oscyluje w okolicach max 6 godzin :P Gdyby doba była chociaż ciut dłuższa... :/

Jak mi się przypomnisz w piątek, najlepiej mailowo, albo na gadu (gadu podałem, a mail to jsokol@banid.pl) to postaram się chociaż rozeznać w terenie czy przyjaźnie jest opisana dokumentacja, bo to może być klucz do szybkiego i sprawnego napisania takiego pluginu. Póki co niestety nie chcę się w to zagłębiać, bo jakbym już zaczął czytać, to pewnie by mnie późna noc zastała, a i tak z wszystkimi terminami w plecy jestem :( Puść mi przypominacza w piątek (choćby z rana) to postaram się chociaż rozpoznać grunt pod nogami.

Pozdr
  • 0

#10 tyro

tyro

    Generał

  • Head Admin
  • PipPipPipPipPipPipPipPipPipPip
  • 5 593 postów

Napisano 16 marca 2012 - 07:21

hej, hej Sokoły!

bumpy dumpy
  • 0

#11 ShataN

ShataN

    Kapitan

  • Vip
  • PipPipPipPipPipPipPip
  • 1 334 postów
  • Skype:mr__diablo
  • Ską…d:Białystok

Napisano 16 marca 2012 - 07:50

Może ja też się pobawię :>
http://wiki.bukkit.o...rtal:Developers
http://wiki.bukkit.org/Plugin_Tutorial
  • 0

#12 tyro

tyro

    Generał

  • Head Admin
  • PipPipPipPipPipPipPipPipPipPip
  • 5 593 postów

Napisano 16 marca 2012 - 01:34

tak, tam właśnie trzeba szukać pomocy do tych pluginów.

http://bukkit.org/

to jest forum gdzie one wszystkie są.

ja niestety nie jarze tej javy, kiedyś sie bawiłem C i C++ ale to było dawno...
  • 0

#13 ShataN

ShataN

    Kapitan

  • Vip
  • PipPipPipPipPipPipPip
  • 1 334 postów
  • Skype:mr__diablo
  • Ską…d:Białystok

Napisano 16 marca 2012 - 08:53

Tyro jak możesz to odezwij się do mnie na gadu. Część pluginu napisałem chyba. Ale teraz potrzebuje trochę pomocy, bo neva w minecrafta nie grałem :)
  • 0

#14 JSokol

JSokol

    Plutonowy

  • Member
  • PipPipPip
  • 166 postów

Napisano 17 marca 2012 - 08:34

No i gitarka ShataN ;]
Myślałem że wczoraj znajdę chwil parę, ale roboty było co nie miara, więc piątek jednak okazał się nie być "luźniejszym dniem" :P
  • 0

#15 tyro

tyro

    Generał

  • Head Admin
  • PipPipPipPipPipPipPipPipPipPip
  • 5 593 postów

Napisano 17 marca 2012 - 11:08

wymigałeś się, ale może cię jeszcze przymuszę do zrobienia czegoś :D

Przedyskutowaliśmy to wczoraj z Shatanem. Coś mniej więcej się z tego wyłania. Miałoby to działać następująco:

- gracz buduje ognisko składające się z 4 steps (44), opału w środku - log (17) lub wood (5), oraz skrzyni (54) poniżej, podpala opał, pojawia się blok ognia (51), po czym wpisuje komendę /campfire, lub /ognisko i uzyskuje ochronę przed mobami. (patrz screens poniżej). Po co ta skrzynia? pierwotnie miało być tak, że gracz miał kłaść nowy opał po każdym razie jak się wypali, ale w ten sposób, musiałby cały czas stać przy tym ognisku. Wpadłem więc na pomysł, żeby dać skrzynię, do której można załadować więcej opału i ogień będzie się palił dopóki będzie opał w skrzyni.

Szczegółowo do może działać następująco:

- plugin nie robi nic, dopóki gracz nie wpisze komendy. Po wpisaniu komendy, plugin znajduje pozycję gracza, po czym sprawdza czy miejsce na które wskazuje celownik to jest jeden z elementów ogniska i począwszy od tego sprawdza czy sąsiednie bloki tworzą zdefiniowaną strukturę ogniska, lub bardziej zaawansowany sposób, gdzie plugin wyszukuje np. blok ognia w promieniu kilku bloków od gracza i od tego poczynające sprawdza strukturę ogniska.
-- jeżeli znajdzie ognisko, to załącza ochronę,
-- jeżeli nie znajdzie to wyświetli info - najpierw rozpal ognisko, czy coś takiego, po czym się wyłącza.

(można to zrobić bez komendy, ale wtedy plugin musiałby skanować mapę wokół każdego gracza non stop - co obciąża niepotrzebnie serwer.)

- plugin sprawdza obecność bloku ognia w strukturze ogniska.
--jeżeli ogień zanika, to plugin sprawdza czy w ognisku jest opał - czy blok loga nadal tam jest, a ogień zwyczajnie zgasł np. od deszczu.
-- wtedy załącza się procedura braku ognia.
-- jeśli nie ma opału, bo się wypalił, to plugin sprawdzi czy w skrzyni poniżej znajduje się opał
---jeśli jest to odejmuje jedną sztukę, spawnuje blok opału w ognisku oraz zapala go. Całość odbywa się w sposób niezauważalny - ogień pali się ciągle, dopóki jest opał w skrzyni.
---jeśli w skrzyni nie ma opału, to załącza się procedura braku ognia.

- procedura braku ognia - plugin wyświetli info - 'brak ognia lub opału' i czeka określony czas np. 10s na reakcję gracza, który w tym czasie może, albo zapalić log jeśli jest w ognisku, położyć nowy log do ogniska i uzupełnić/lub nie zapas opału w skrzyni.
--jeżeli w tym czasie ogień się pojawi, to plugin kontynuuje działanie i ochronę
--jeżeli czas upłynie i nie będzie ognia, to plugin wyłącza ochronę i przestaje cokolwiek robić.

dwie sprawy :
-czas oczekiwania nie może być zbyt długi, bo będą oszukiwać i kłaść pojedyncze bloki opału, bo wtedy mniej się go spali.
-czas palenia się można pozostawić mechanizmowi gry, lub zdefiniować w konfigu. np: log 30s, wood 15s. Prościej byłoby pozostawić to grze, ale w przypadku, gdy na serwerze jest wyłaczone rozprzestrzenianie ognia, to wtedy opał się nigdy nie spali, będzie się palił wiecznie.
Jeżeli zdefiniujemy czas (nie wiem jak to zadziała, czy opał się nie spali wcześniej jeśli gra tak zdecyduje) to wtedy możemy zrobić tak, że jeżeli opał jest w skrzyni, to czas palenia będzie dłuższy o te 10s (czas oczekiwania na reakcję gracza) niż wtedy, gdy podkładamy ręcznie. wówczas nic nie da przeciąganie dokładania. dalej....

-ochrona- musi się składać z kilku elementów, żeby była skuteczna
--na obszarze wokół ogniska -chunk z ogniskiem tylko, lub również sąsiednie- wyłaczone spawnowanie mobów
--gracz powinien mieć włączone ignorowanie go przez moby-tak jak to jest w trybie Creative
--gracz powinien mieć włączoną przyspieszoną regenerację zdrowia. Normalnie jest co 1 serce co 8s, wiec tutaj możemy zrobić 1 serce co 4 s.
--gracz musi się znajdować w pobliżu ogniska- zdefiniowana odległość, myslę, że max 8bloków, jezeli odejdzie zbyt daleko to plugin rozpocznie proceduję wyłączania ogniska i ochrony
- wyświetli komunikat 'pilnuj ogniska' czy coś takiego i po określonym czasie np. 30s, wyłączy ogień-usunie blok, wyłączy ochronę gracza, zaprzestanie robić cokolwiek.

za każdym razem ponowne włączenie ogniska musi się odbywać jak na początku.

to mniej więcej tyle. napisałem, żeby zostało i nie zapomniało, jakby się ten projekt przedłużał znacznie, z powodu braku czasu na realizację.

Załączone pliki


  • 0

#16 endo

endo

    Porucznik

  • Moderator
  • PipPipPipPipPipPip
  • 1 142 postów

Napisano 17 marca 2012 - 11:23

I like it! :D
  • 0
Dołączona grafika

Dream As You'll Live Forever. Live As You'll Die Today.

Dołączona grafika

#17 ShataN

ShataN

    Kapitan

  • Vip
  • PipPipPipPipPipPipPip
  • 1 334 postów
  • Skype:mr__diablo
  • Ską…d:Białystok

Napisano 18 marca 2012 - 11:43

Potrzebuje jakiegoś pluginu, który zbiera listę graczy w otoczeniu, bo sam na razie nie wiem jak to zrobić.
  • 0

#18 tyro

tyro

    Generał

  • Head Admin
  • PipPipPipPipPipPipPipPipPipPip
  • 5 593 postów

Napisano 18 marca 2012 - 01:30

"listę graczy w otoczeniu"?
masz na mysli, listę graczy na mapie, na serwerze, czy pozycję gracza?
  • 0

#19 ShataN

ShataN

    Kapitan

  • Vip
  • PipPipPipPipPipPipPip
  • 1 334 postów
  • Skype:mr__diablo
  • Ską…d:Białystok

Napisano 18 marca 2012 - 04:27

Chodzi mi o to, aby sprawdzić blok 16x16 na obecność graczy i nie chcę operować też na całym chunku z kolei. Wiem jak można to zrobić normalnie - po prostu badać każdy ruch gracza, ale to nie jest w żaden sposób wydajne.
I tak będę musiał co sekundę sprawdzać czy gracz jest w zasięgu campfire, aby go leczyć, a w ciągu sekundy gracz może przemieścić się o kilka bloków co dawałoby kilka sprawdzeń więcej. Co więcej zawsze mogę nawet sprawdzać co dwie sekundy np :)
  • 0

#20 tyro

tyro

    Generał

  • Head Admin
  • PipPipPipPipPipPipPipPipPipPip
  • 5 593 postów

Napisano 18 marca 2012 - 06:24

hm..
na pewno pluginy typu WorldBorder ( https://github.com/B...lan/WorldBorder ) - ustawia granicę świata i nie puszcza graczy poza oraz WorldGuard ( https://github.com/sk89q/worldguard/ ) , cuboidy zabezpieczenia, mają funkcje monitorowania pozycji gracza względem założonych obszarów.
Regeneracja zdrowia odbywa się pół serca na 4 s, więc sprawdzanie co 2 sek (~50ticków serwera) w zupełności wystarczy.
  • 0




Użytkownicy przeglądający ten temat: 1