Skocz do zawartości

  • Minecon Earth już za nami! Tym razem wydarzenie miało formę interaktywnego internetowego show, w którym każdy mógł wziąć udział. W tym wpisie podsumujemy najważniejsze ogłoszone w jego trakcie nowości i zmiany.
    Wodna aktualizacja
    Dotychczas oceany w Minecrafcie nie były zbyt rozbudowanie — występowały w nich tylko 3 moby (oraz ryby) i 1 struktura. Wodna aktualizacja (The Aquatic Update), czyli wersja 1.14, ma znacznie poszerzyć liczbę mobów i struktur w oceanach.
    Dodane mają zostać między innymi rafy koralowe, krasnorosty morskie, znacznie więcej rodzajów ryb, eksplorowalne wraki, nowa fizyka wody i wiele więcej! Dodatkowo zostanie dodana całkowicie nowa broń do walki pod wodą — trójząb. Będzie można nim rzucać we wrogów, a także walczyć nim w walce bezpośredniej.
    Oprócz tego zostanie także dodane kilka ulepszeń dla nowej broni:  Lojalność — ulepszenie sprawiające, że broń będzie wracała do gracza po rzucie, a także Nadziewanie i Lot aerodynamiczny, których działania twórcy gry nie zdradzili (ale można je wywnioskować po nazwach ).

    Darmowa zawartość w Marketplace
    W ramach promocji aktualnie przez ograniczony czas w Marketplate dostępna jest darmowa zawartość: zestaw skinów Minecon Earth, mapa Abstraction: Minecon Earth, mapa Purple Party Parrot Palace, mapa Truffletop Town, zestaw skinów Mineplex Friends oraz mapa Enderman's Forest. Warto skorzystać z tej okazji.

    Nowy serwer partnerski
    Do grona serwerów partnerskich dołączył serwer The Hive. Na serwerze wkrótce dostępna będzie dość ciekawa minigra — Death Run, w której gracz ściga się z innymi graczami przez mapę z przeszkodami, pułapkami i wieloma innymi utrudnieniami.

    Super Duper Graphics i Nintendo Switch
    Super Duper Graphics — czyli płatna paczka, urozmaicająca grafikę w Minecrafcie o elementy znane z shaderów, ma zostać wydana nie w tym roku, a dopiero w następnym, ze względu na problemy związane z jej tworzeniem. Przesunięta została także premiera nowego Minecrafta ze wsparciem dla gry międzyplatformowej dla konsoli Nintendo Switch. Ma on zostać wydany dopiero w 2018 roku.

    Nowy mob w Minecrafcie
    W trakcie Minecon Earth „uczestnicy” mieli możliwość zagłosowania, który z 4 czterech zaproponowanych przez twórców gry mobów powinien zostać dodany do Minecrafta. Większość z nich zagłosowała na moba B, który będzie dosyć przełomowy, albowiem będzie pierwszym latającym agresywnym mobem występującym w świecie zwykłym. Będzie się on pojawiał na dużych wysokościach i w dużych grupach atakował graczy, którzy od dłuższego czasu się nie przespali.

    Nie ma jak łóżko we własnym domu — ciepłe, miękkie, daje odpoczynek i dobry sen, noc zamienia w dzień. Dostępne w szesnastu kolorach! Żeby takie stworzyć, potrzebujesz naszego bloku tygodnia — wełny.

    Wełna została dodana do gry bardzo dawno temu — w czerwcu 2009 roku, w wersji nazwanej później "Classic". Początkowo nazywała się Cloth (ang. płótno, tkanina), co wyjaśnia, dlaczego tworzymy z niej również obrazy — w końcu w realnym świecie nikt obrazów na wełnie nie maluje. Co więcej, w tamtych czasach zbroja skórzana była tworzona przy pomocy tkaniny i była to zbroja materiałowa.

    Dziś mamy wełnę, dostępną w szesnastu kolorach. Najprostszą metodą zdobycia wełny jest zabicie owcy — istnieje szansa, że wypadnie nam bloczek wełny po jej śmierci. Znacznie lepszym pomysłem jest użycie nożyczek, dzięki którym z każdej owcy możemy uzyskać od 1 do 3 bloków wełny, a co więcej, owca ogolona może zjeść trawę z bloku i znowu stanie się zarośnięta.

    Poza powyższymi metodami, jeżeli akurat nie mamy dostępu do owiec, możemy skorzystać z alternatywnej drogi do pozyskania wełny — możemy ją stworzyć z 4 nitek ułożonych w kształt kwadratu w oknie craftingu, zakupić za szmaragdy u odpowiedniego wieśniaka, lub ukraść z generowanych struktur, takich jak pustynne świątynie, lampy w wioskach itp.

    Z wełny możemy stworzyć nie tylko łóżka, ale również banery, dywany, lub wspomniane wcześniej obrazy. Jeszcze niedawno wełna była bardzo lubiana przez budowniczych, którzy ponad jej łatwopalność i podatność na eksplozje stawiali jej szeroką dostępną paletę kolorów, lecz niedawno dodany do gry barwiony beton zaczął dynamicznie wypierać wełnę. Jeżeli po wymianie zacznie nam wełna zalegać, to w wersji Javowej możemy jej użyć jako paliwa do pieca, aby z każdych dwóch bloków przepalić jeden przedmiot.

    Jako ciekawostkę na koniec powiem, że owce są takie wełniste przez ludzi. Dzikie owce, tysiące lat temu były bardziej włochate niż wełniste, lecz ludzie, dobierając tylko te najbardziej wełniste jednostki sprawili, że tak się rozwinęły — dzięki czemu ludzkość uzyskuje ponad 2 miliony ton wełny rocznie. Dziękujmy owcom!

    Pewnie wielu użytkowników zadaje sobie to pytanie. Skrypt można skrócić na wiele różnych sposobów, od argumentów w komendzie po mniejszą liczbę warunków.
    Przykład odnośnie argumentów:
    command /komenda:
        trigger:
            send "Aby sprawdzić komendy, wpisz /komenda1" to player
    command /komenda1:
        trigger:
            send "komenda 1" to player
    Plugin Skript pozwala na skrócenie tego kodu.
    command /komenda [<number>]:
        trigger:
            if number-argument isn't set: #Jeśli argument nie jest wpisany wykonuje się komenda /komenda
                send "Aby sprawdzić komendy, wpisz /komenda 1" to player
                send "Aby sprawdzić rangi dostępne na serwerze, wpisz /komenda 2" to player
            if number-argument = 1: #Jeśli argument wynosi 1
                send "komenda 1" to player
    Zamiast używać kilku tych samych warunków jak w tym przypadku:
    on eat:
        if event-item is bread: #jeśli gracz zjadł chleb
            add 1 to {_var::bread::%player%}
    on eat: #powtórzenie warunku
        if event-item is apple: #jeśli gracz zjadl jabłko
            add 1 to {_var::apple::%player%}
    Możemy to skrócić do ledwo pięciu linijek
    on eat:
        if event-item is bread: #jeśli gracz zje chleb
            add 1 to {_var::bread::%player%}
        if event-item is apple: #jeśli gracz zje jabłko
            add 1 to {_var::apple::%player%}
    Jeśli nadal Ci mało, możemy skrócić to do trzech linijek używając angielskiego spójnika "OR". Skrypt będzie wtedy wyglądał tak:
    on eat:
        if event-item is apple or bread:
            add 1 to {var::%event-item%::%player%}
    "Ludzie uczą się na błędach" ten cytat tu się przyda, w pluginie Skript możemy ciągle wymyślać sposoby na skrócenie kodu, z pomocą przychodzi nam dokumentacja (https://docs.skunity.com)
    Na koniec tego wpisu przedstawię jeszcze jeden sposób skrócenia skryptu. 
    Wiele osób podczas odliczania czasu w skrypcie powtarza "Start za x sekund" zazwyczaj nie wiedzą, że można użyć pętli.
    loop 10 times: # Wykonaj 10 razy.
        send "Start za %loop-number% sekund" to player # w tym przypadku %loop-number% to Liczba z pętli.
        if loop-number = 0:
            set {start::gry::*} to true

    Do niedawna, jeżeli chcieliśmy sprawdzić zmiany bloku w danym miejscu, musieliśmy tworzyć redstone'owe mechanizmy, które zajmowały kilka kratek i nie zawsze działały tak, jak chcieliśmy. Na szczęście, od wersji 1.11 mamy w grze dostępny jeden blok, który zajmuje się wykrywaniem zmian — Detektor.

    Detektor, podobnie do tłoku, musi być ustawiony w odpowiednim kierunku, aby obserwować zmiany danego bloku — blok ten wskazany jest przez twarz narysowaną na jednym z boków detektora. Oprócz tego, na górze detektora jest również narysowana strzałka wskazująca blok obserwowany. Jeżeli postawimy dwa detektory zwrócone twarzą do siebie, to zaczną one bardzo szybko, na zmianę nadawać sygnał redstone'owy, więc jest to nowa forma zegara redstone zajmującego zaledwie dwa klocki.
    W edycji Javowej detektor zachowuje się inaczej niż w wersji Bedrock, czyli wspólnej działającej na telefonach i windows 10. W obu wypadkach detektor rozpozna, że tłok się poruszył, a także w obu wersjach nie zwrócą uwagi na odegranie nuty przez noteblocka. Tylko w wersji mobilnej blok zareaguje na włożenie kwiatka do doniczki, za to tylko w klasycznej zostanie zauważone włożenie butelki do statywu na mikstury.
    Kiedy Detektor coś wykrywa, wysyła silny sygnał redstonowy przez okres dwóch ticków. Doskonale nadaje się do wyczucia, że wyrosło drzewo, woda zalewa jakieś tereny, czy nawet fakt zjadania kolejnego kawałka ciasta. Oprócz tego możemy wykrywać również, że skrzynia została otwarta lub zamknięta, piec zaczyna przepalać, wyrośnięcie kaktusa lub trzciny cukrowej, a nawet podniesienie bloku przez endermana lub odpalenie TNT. Ba — można nawet zaobserwować fakt położenia się kogoś w naszym łóżku! To właśnie wszechstronne zastosowanie tego bloku i jego unikatowość sprawiła, że Mojang zdecydował się ogłosić go blokiem tygodnia.
    A wy jakie jeszcze znaleźliście zastosowania dla Detektora?

    Dobra. Doszło do rozważenia pewnej propozycji oraz w końcu wiemy, jak to (ostatecznie) wygląda!

    Zielone to nowości
    Pomarańczowe to wygląd
    Fioletowe to zapowiedzi, cytaty, etc.
     
    BaeFell stwierdziła, że prawdopodobnie dodane zostaną następujące adnotacje do poleceń: loopable (możliwy do zapętlenia) przy typach, usable as argument (również przy typach) oraz cancelable (przy wydarzeniach)*
    Z dużym prawdopodobieństwem, jeśli zajdzie taka potrzeba, dodatki do SkQuery (jako zakładka) zostaną zastąpione lub rozbudowane w oparciu o istniejące polecenia z innych dodatków jak i funkcje*
    Zaszło wiele zmian w kodzie, w zabezpieczeniach, w systemach logowania. Ogólnie niewidoczne gołym okiem optymalizacje i poprawki.
    Dużo zmian w wyszukiwaniu!
    Pojawi się sekcja API dla developerów
    Dostaliśmy info, że dokumentacja przechodziła przez wiele konceptów, wyciekały jakieś zdjęcia, których prawdziwość nie była potwierdzana czy obalana; aktualne (przedstawione niżej) zdjęcie jest oficjalne i potwierdzone przez BaeFell
    KLIK
    Bae zastanowi się nad dodaniem motywów kolorystycznych
    Bae nie dała nam jasnej daty, aczkolwiek napisała, że Docs 2 zbliża się wielkimi krokami, zostało kilka małych rzeczy do dociągnięcia.
     
    Wraz z wydaniem pojawi się tu jeden, wielki, ostatni wpis podsumowujący wszystko; w międzyczasie zgłaszajcie propozycje, wyrażajcie opinie, a ja przekażę je bezpośrednio naszej admince!
    Dziękuję za przeczytanie artykułu i zapraszam wszystkich do dyskusji!
    *  Oznacza, że propozycja wypłynęła bezpośrednio ode mnie

    Na pewno wielu z was zauważyło, że wasz serwer oparty o silnik bukkit, spigot, lub pokrewny tworzy tajemniczy plik bukkit.yml. Większość początkujących administratorów serwerów ignoruje go, a jest on całkiem przydatnym narzędziem. Postaram się przybliżyć wam możliwości konfiguracji za pomocą tego pliku opcja po opcji.

    Świeżo wygenerowany bukkit.yml przez silnik spigot 1.12.2 wygląda następująco.

    Settings: — sekcja ta służy do określania podstawowych ustawień serwera.

    allow-end — opcja ta służy do określenia czy end ma być dostępny na serwerze. Przyjmuje dwie wartości — true (end będzie włączony) lub false (end będzie wyłączony).
    Domyślna wartość: true

    warn-on-overload — opcja ta służy do określenia, czy w wypadku przeciążenia maszyny serwer ma pokazywać wiadomości "Can't keep up! [...]". Przyjmuje dwie wartości — true (będzie pokazywać informację) lub false (nie będzie pokazywać informacji).
    Domyślna wartość: true

    permissions-file — opcja ta służy do określenia nazwy pliku z permisjami w przypadku, w którym do zarządzania uprawnieniami graczy używamy wbudowanej w silnik możliwości, jednakże nie jest to system najprostszy w użyciu i w moim odczuciu znacznie lepszym pomysłem jest użycie pluginu do tego. Przyjmuje ciąg znaków jako swoje wartości.
    Domyślna wartość: permissions.yml

    update-folder — opcja ta służy do określenia nazwy katalogu, do którego będziemy wrzucać pluginy, które mają zostać zaktualizowane przy najbliższym restarcie serwera. Katalog ten musi znajdować się w katalogu plugins/, gdyż ścieżki bezwzględne nie są obsługiwane. Działa to na takiej zasadzie, że jeżeli chcemy, aby nowa wersja pluginu bądź nowy plugin zostały wgrane na serwer po jego restarcie, to pliki .jar tychże pluginów wrzucamy do podanego katalogu i po restarcie serwer przenosi je do katalogu plugins/ i dopiero po tym fakcie zaczyna ich ładowanie, a jeżeli w katalogu plugins/ już znajduje się plugin o nazwie takiej jak plugin w katalogu podanym w tej opcji — podmienia go. Opcja przyjmuje ciąg znaków jako swoje wartości.
    Domyślna wartość: update

    ping-packet-limit — opcja ta aktualnie nie ma żadnego zastosowania, relikt po starej funkcji. Przyjmuje liczby całkowite jako swoje wartości.
    Domyślna wartość: 100

    use-exact-login-location — opcja ta służy do określenia czy po zalogowaniu się gracza do świata ma zostać on wypchnięty z bloku, w którym stoi, jeżeli jest to blok solidny (czyli nie jest cieczą ani powietrzem). Przyjmuje dwie wartości — true (gracz nie zostanie przesunięty) lub false (gracz zostanie przesunięty).
    Domyślna wartość: false

    plugin-profiling — opcja ta służy do określenia, czy ma działać komenda /timings. Pozwala ona na sprawdzenie wielu informacji na temat czasu działania pluginów w pojedynczym ticku serwera. Przyjmuje dwie wartości — true (komenda działa) lub false (komenda nie działa).
    Domyślna wartość: false

    connection-throttle — opcja ta służy do określenia czasu, po którym gracz może po raz kolejny spróbować połączyć się do serwera. Czas podaje się w milisekundach. Przyjmuje liczby całkowite jako swoje wartości.
    Domyślna wartość: 4000

    query-plugins — opcja ta służy do określenia czy serwer ma zwracać listę pluginów przy zapytaniach przez query. Przyjmuje dwie wartości — true (serwer będzie zwracał listę pluginów) lub false (serwer nie będzie zwracał listy pluginów).
    Domyślna wartość: true

    deprecated-verbose — opcja ta służy do określenia czy serwer ma wypisywać w konsoli ostrzeżenia, gdy plugin próbuje użyć przestarzałej metody silnika. Przyjmuje trzy wartości — true (serwer będzie wypisywał wszystkie ostrzeżenia tego typu), false (serwer nie będzie wypisywał ostrzeżeń tego typu), lub default (serwer będzie wypisywał ostrzeżenia tego typu pod warunkiem, że twórca pluginu nie oznaczył prób użycia metody jako nieważnej).
    Domyślna wartość: default

    shutdown-message — opcja ta służy do określenia wiadomości, która pojawi się na ekranie rozłączenia od serwera w wypadku zatrzymania serwera. Przyjmuje ciągi znaków jako swoje wartości.
    Domyślna wartość: Server closed

    spawn-limits: — sekcja ta służy do określenia limitów na spawnowanie mobów na światach.

    monsters — opcja ta służy do określenia maksymalnej ilości żywych w danym momencie agresywnych mobów na świecie zespawnowanych w normalny sposób (pojawienie się). Przyjmuje liczby całkowite jako swoje wartości.
    Domyślna wartość: 70

    animals — opcja ta służy do określenia maksymalnej ilości żywych w danym momencie zwierząt lądowych na świecie zespawnowanych w normalny sposób (pojawienie się). Przyjmuje liczby całkowite jako swoje wartości.
    Domyślna wartość: 15

    water-animals — opcja ta służy do określenia maksymalnej ilości żywych w danym momencie zwierząt wodnych na świecie zespawnowanych w normalny sposób (pojawienie się). Przyjmuje liczby całkowite jako swoje wartości.
    Domyślna wartość: 5

    ambient — opcja ta służy do określenia maksymalnej ilości żywych w danym momencie mobów tła (nietoperze) na świecie zespawnowanych w normalny sposób (pojawienie się). Przyjmuje liczby całkowite jako swoje wartości.
    Domyślna wartość: 15

    chunk-gc: — sekcja ta służy do określenia ustawień systemu usuwania niepotrzebnych chunków z pamięci.

    period-in-ticks — opcja ta służy do określenia odstępu liczonego w tickach pomiędzy sprawdzeniem, czy w pamięci serwera nie został jakiś nieużywany chunk. Przyjmuje liczby całkowite jako swoje wartości.
    Domyślna wartość: 600

    load-threshold — opcja ta służy do określenia liczby załadowanych nowych chunków do pamięci serwera pomiędzy dwoma sprawdzeniami nieużywanych chunków. Przyjmuje liczby całkowite jako swoje wartości.
    Domyślna wartość: 0

    ticks-per: — sekcja ta służy do określenia odstępów w tickach pomiędzy określonymi działaniami.

    animal-spawns — opcja ta służy do określenia odstępu liczonego w tickach pomiędzy spawnowaniem kolejnych zwierząt. Przyjmuje liczby całkowite jako swoje wartości. Ustawienie 0 powoduje wyłączenie spawnu zwierząt.
    Domyślna wartość: 400

    monster-spawns — opcja ta służy do określenia odstępu liczonego w tickach pomiędzy spawnowaniem kolejnych mobów agresywnych. Przyjmuje liczby całkowite jako swoje wartości. Ustawienie 0 powoduje wyłączenie spawnu mobów agresywnych.
    Domyślna wartość: 1

    autosave — opcja ta służy do określenia odstępu liczonego w tickach pomiędzy zmuszeniami serwera do zapisania zmian na dysku. Przyjmuje liczby całkowite jako swoje wartości. Ustawienie 0 powoduje wyłączenie wymuszonego autozapisu.
    Domyślna wartość: 0

    aliases: — sekcja ta została przeniesiona do pliku commands.yml, który omówimy innym razem.

    Kiedy zakładamy serwer, często zastanawiamy się nad dobrą nazwą dla niego — warto, żeby była łatwa do zapamiętania i kojarzyła się z grą. Różne hostingi oferują nam do serwera również domenę z reklamową końcówką, np. w przypadku hostingu lvlup są to domeny .hostmc.pl. Takie końcówki sprawiają, że w oczach wielu graczy serwer wygląda nieprofesjonalnie, dlatego warto by było zainwestować we własną, pełnoprawną domenę, lecz w takiej sytuacji pojawia się pytanie — jak przekierować taką domenę na nasz serwer?

    W celach instruktażowych posłużę się serwerem z hostingu lvlup oraz domeną wykupioną na hostingu ovh.pl, który aktualnie jest najopłacalniejszym dostawcą domen .pl (około 12 złotych za pierwszy rok, oraz 50zł za każdy kolejny).
    Przykładowy serwer minecrafta ma adres n1.lvlup.pro:10110.

    Aby podłączyć domenę do naszego serwera, posłużymy się wpisem typu SRV. W wypadku panelu OVH musimy przejść do Strefy DNS naszej domeny. Możemy tam ujrzeć taki widok:

    Następnie musimy wybrać opcję "Dodaj wpis". Po jej wybraniu zobaczymy następujące okienko:

    Wybieramy tutaj SRV i udostępniamy wg wzoru:

    Tak przygotowany wpis sprawi, że nas serwer będzie dostępny pod adresem mc.skript.pl.
    W polu Subdomena widzimy jednak dodatkowo tajemnicze _minecraft._tcp. Jest to specjalne oznaczenie, z którego korzysta nasza gra, aby prawidłowo zinterpretować przekierowanie na serwer naszej gry.
    W następnej linii widzimy TTL, od angielskiego Time To Live. Jest to specjalna wartość, która określa jak często odświeża się nasze przekierowanie. Na ogół lepiej zostawić tutaj wartość domyślną.
    Kolejna linia to priorytet. Do naszych zastosowań nie ma to znaczenia, bo oznacza on pierwszeństwo serwerów do których przekierowujemy, gdy jest ich więcej. Im mniejsza wartość tym lepiej, więc warto zostawić tam po prostu zero.
    Waga jest drugą składową priorytetu — więc również średnio nas obchodzi. W sytuacji gdy serwerów mamy kilka, ale niektóre mają ten sam priorytet, waga określa ich pierwszeństwo. Im wyższa waga, tym większy priorytet uzyska to przekierowanie.
    Kolejna opcja to port. Port to wartość, która pojawia się po dwukropku w przytoczonym adresie. Serwery minecraft domyślnie działają na porcie 25565, lecz hostingi mają wiele serwerów na jednej maszynie. W konsekwencji nasz serwer ma inny port i musimy go zdefiniować jeszcze raz.
    Ostatnia pozycja to adres docelowy. Podajemy tam domenę maszyny na której działa nasz serwer — w tym przypadku jest to n1.lvlup.pro. Krytycznie ważne jest, żeby na koniec adresu dodać kropkę — w przeciwnym wypadku wpis nie zadziała tak, jak powinien. Jeżeli korzystamy z hostingu, który nie udostępnia adresu z domeną, lub hostujemy swój serwer na maszynie dedykowanej lub VPS i nie mamy do niej przypiętej domeny, to jak ją przypiąć dowiemy się w nieco późniejszej części artykułu.

    Po wypełnieniu formularza powinniśmy zobaczyć mniej więcej to co tutaj:

    Gotowe! Nasze przekierowanie po odczekaniu wypisanego czasu powinno działać już z każdego zakątka świata.

    Jeżeli jednak maszyna naszego serwera nie posiada swojej domeny, to musimy mu tę domenę przypiąć. Serwer może mieć dwa typy adresów numerycznych - IPv4, np. 104.25.128.8, lub IPv6, np. 2001:41d0:a:3b16::1. W takiej sytuacji musimy stworzyć dodatkowe przekierowanie, odpowiednio typu A dla adresu IPv4 lub AAAA dla adresu IPv6.

    W obu wypadkach musimy wrócić do początku artykułu, do strefy DNS naszej domeny i wybrać opcję Dodaj wpis. Następnie wybieramy typ wpisu odpowiedni dla adresu naszej maszyny.

    W przypadku wpisu A powinniśmy zobaczyć następujące okienko:

    a w przypadku wpisu AAAA bardzo podobnie:

    które po wypełnieniu wg widocznego wzoru powinno sprawić, że teraz maszyna naszego serwera jest dostępna pod domeną serwer.skript.pl, której powinniśmy we wpisie SRV użyć w miejscu przykładowej domeny n1.lvlup.pro.

     
     
    MinecraftDev - czyli IntelliJ IDEA na klockowych sterydach.
     
     
    Ta, sterydy - temat od zawsze kontrowersyjny. Ma swoich zwolenników, jak i zatwardziałych przeciwników. Osoby popierające je tłumaczą to tym, że osiągają lepsze wyniki, natomiast przeciwnicy - że wyniszczają organizm. Na szczęście nie o tym mowa, słowa sterydy użyłem tutaj jako przenośni, dla czegoś, co może nam stanowczo ułatwić pracę nad naszymi pluginami do Minecrafta.
    Pewnie teraz w głowie rodzą Ci się takie zdania:
    A cóż to jest?  Czy to nowy motyw do mojego ukochanego Eclipse, po którym doznam mocniejszego wytrysku niż na filmikach ze Sashą Grey?  Hurr durr, może nowe IDE (i tak Eclipse lepsze, hurr durr) Wiem! To program zamieniający kod moich skryptów na pluginy! Teraz będę lepszym programistą niż Dinnerbone! Czyżby nowy wynalazek amerykańskich naukowców z okazji pogańskiego święta, zwanym inaczej Halloween? Otóż nie - przegrałeś tę rundę. Jest nim plugin do IDE firmy Jetbrains - IntelliJ IDEA. Tak, jeśli używasz Eclipse możesz wyjść - serio, takiego Czytelnika to ja nie chcę. Jak się zwie? Zobacz na tytuł, ale gdybyś był ślepy, to mówię teraz - MinecraftDev. Psst... jeżeli chcesz wejść na stronę projektu tej wtyczki, starczy że wciśniesz oficjalne logo tematu, tam na górze.

    Dobra, to może trochę o wtyczce:
    głównymi twórcami wtyczki są Kyle 'DemonWav' Wood i Minecrell dodatek jest napisany w języku Kotlin wymaga do działania przynajmniej Javy 8 obsługuje takie platformy i biblioteki jak: Bukkit (łącznie z forkami, tj. Spigot i Paper) Sponge Minecraft Forge LiteLoader MCP Mixins BungeeCord (bez forków) Canary (z forkiem, tj. Neptune) jak autorzy piszą na swojej stronie:  The plugin should be compatible with Intellij IDEA Ultimate or Community Edition from 2016.1 or newer. See Help > About menu in the IDE to learn the build version you are using. W chwili pisania tego wpisu, pluginu używałem na wersji IntelliJ IDEA Ultimate 2017.2.5
    szkaluje Eclipse, za co należy się dożywotni respekt
    W dodatku rozszerzenie jest cały czas rozwijane. Dobra, teraz kluczowe pytanie - jak to zainstalować? Proste, dodatek jest dostępny w oficjalnych repozytoriach Jetbrains, więc wystarczy postępować zgodnie z oficjalnymi instrukcjami.
    Jak już zainstalowałeś ten zacny ficzer (i go uruchomiłeś), to spróbuj utworzyć nowy projekt. Twoim oczom powinno ukazać się właśnie takie oto okienko:

    Jak pewnie widzisz, wśród możliwych typów projektów w Twoim środowisku, znajduje się znana Tobie ikonka Minecrafta, z napisem Minecraft. Wybierz ją, i postąp jak na obrazku wyżej, zaznaczając interesujące Ciebie środowiska.

    Potem uzupełniamy jak nasz package będzie wyglądał.

    Teraz podajemy to, co znajdzie się w plugin.yml

    I gotowe! Od teraz możemy pisać nasze pluginy (zintegrowane z Mavenem), w dodatku możemy korzystać z innych funkcjonalności biblioteki, które umożliwią nam szybką orientację po Minecraftowym środowisku, w jakim piszemy. Niestety tutaj trzeba przetestować to w praktycę - screenshot'y nie ukazują wszystkich rozwiązań
     
    Tyle.

    MaRPG - wschodzący kwiat z niedostatkiem słońca
    MaRPG to innowacyjny serwer, który, mam nadzieję, zrewolucjonizuje, a przynajmniej ciut odmieni (miejmy nadzieję, że na lepsze!) polską scenę serwerów oferujących rozgrywkę w dobrze nam znanym świecie zbudowanym z sześcianów”. Tak o swoim projekcie wypowiedział się sam jego główny organizator i pomysłodawca w wywiadzie przeprowadzonym na potrzebę tego artykułu. Jak najbardziej się z nim zgadzam i jestem MaRPG zafascynowany. Podziwiam wkład pracy, który Studenciak włożył, i będzie musiał jeszcze włożyć w MaRPG.
    Czym jest MaRPG?
    Na MaRPG możemy wcielić się w jedną z czterech postaci - Wojownika, Barbarzyńcę, Maga oraz Zabójcę. Każdą z nich różnicuje m.in. historia, którą poznajemy wraz z rozwojem naszej rozgrywki. W MaRPG stawiam na interakcję między graczami - każda z postaci może korzystać głównie z dedykowanych dla niej elementów ekwipunku, przez co gracze nierzadko zmuszeni będą, do wymieniania ich między sobą. Na MaRPG na uwagę zasługują w szczególności:
    Dbałość o każdy szczegół (poważnie, pod tym względem jestem strasznym pedantem) Innowacyjna koncepcja i świeże spojrzenie na każdy aspekt rozgrywki (o czym świadczy np. całkowite zastąpienie komend przez interaktywne elementy graficznego interfejsu  nawet wiadomości prywatne! Impossibru?)” I tu znowu posłużyłem się cytatem. Nic dodać, nic ująć, idealnym dowodem na stopień dopracowania projektu jest poniższy zrzut ekranu.

    Ekwipunek z menu chatu, jak widać, wszystko jest wykonane bardzo starannie.
    Studenciak, autor projektu na swój projekt poświęca bardzo dużo czasu,  podczas wywiadu, który z nim przeprowadziłem, stwierdził, że na pracę nad projektem spędza nawet kilka godzin dziennie. Na pytanie, „Czy czujesz się zmęczony?”, odpowiedział on następująco: „Nie ukrywam, że tak mordercza praca, choć przynosi ogromną satysfakcję, na dłuższą metę naprawdę męczy. Gdybym miał zacząć tworzyć MaRPG od samego początku, szczerze mówiąc, nie zdecydowałbym się na to”. Ja widzę w nim zapał i energię do pracy nad projektem, pozostaje tylko pogratulować takich wyników.
    MaRPG za darmo i bez p2w!
    Możliwość gry na MaRPG jest bezpłatna. Co więcej, naszym celem jest umożliwienie gry jak największej liczbie osób - stąd też odejście od koncepcji serwera tzw. premium, czy też konieczności pobierania jakichkolwiek modyfikacji. Nie ma nic przyjemniejszego, jak „wklepać” prosty adres „marpg.pl” i po prostu grać! Tak duża (miejmy nadzieję!) liczba graczy musi być obsługiwana przez naprawdę wydajną maszynę. Zapewnienie takiej nie byłoby możliwe bez hostingu lvlup.pro, któremu wiele zawdzięczam i bez którego najprawdopodobniej nie czytałbyś teraz tego tekstu. Z tego względu na MaRPG dostępne będą mikropłatności. Hej, też jestem graczem i wiem, jak takie mikropłatności są kojarzone! Nie chcę faworyzować żadnych graczy, dlatego dostępny do zakupienia content będzie w pełni zgodny z Minecraftową EULĄ - wydanie polskich złotówek pozwoli zyskać naszej postaci unikatowy wygląd - skin postaci budzący respekt? Załatwione! Towarzysz - papuga, który razem ze mną będzie przemierzał przez Krainę Karhan? Nie ma sprawy! Możliwe będzie również zwiększenie ilości zdobywanego doświadczenia... dla całego serwera! W ten sposób łatwo wkupić można się w łaski innych graczy”.
    Kiedy wielka premiera? Czy serwer będzie aktualizowany?
    Hucznie zapowiadana już spory czas temu „wielka premiera” stale odsuwa się w czasie, siejąc zwątpienie, panikę i strach w sercach naszych zagorzałych fanów. Z tego powodu także i teraz boję się deklarować konkretny termin - jesteśmy blisko wydania pierwszej, testowej wersji, która w historii zapisze się pod nazwą „MaRPG - Vapor Edition” - pierwotnie jej celem było jedynie sprawdzenie wydajności głównego, napisanego przeze mnie na MaRPG pluginu, MaCoreCommodore, jednak funkcjonalność wzrosła do tego stopnia, że możliwa będzie już rozgrywka z przyzwoitymi, jak na tak wczesną fazę, możliwościami - bo PRAWDZIWE MaRPG dopiero „kiedyś” nadejdzie. Jest to również odpowiedź na drugie z pytań. MaRPG to nie zwykły serwer, lecz mój zwariowany styl życia!” 
    Pomóż w pracy nad MaRPG!
    Jeżeli uważasz, że możesz pomóc przy projekcie zajrzyj na stronę projektu - marpg.pl, gdzie znajdziesz miejsce poświęcone rekrutacji do MaTeam - ekipy pracującej nad MaRPG. Możesz wejść też na discorda MaRPG.
    Na koniec chciałbym pokazać wam kilka zrzutów ekranu, które nie były jeszcze pokazane jak, i te, które już zostały opublikowane. Zapraszam, też do obejrzenia filmu z przedstawieniem umiejętności teleportacji.

    Różne warianty skinów jednej z postaci, barbarzyńcy, uzależnione od rangi i płci.

    Menu ulepszania przedmiotu

    Wszystkie cytaty pochodzą z rozmowy ze studenciakiem, dziękuję za udzielenie wywiadu ,'D
    Podziękowania dla Forfex za wykonanie grafiki serii - zajrzyjcie na jego facebook`a!
×