Skocz do zawartości

  • W tym tygodniu pojawiły się aż 3 snapshoty. Nie zabrakło w nich wielu nowości - głównie zmian związanych z Wodną Aktualizacją, takich jak nowe byty czy też bloki.
    Snapshoty
    18w07a
    Dodano fantomy. Pojawiają się w świecie zwykłym i w Endzie. Atakują graczy, którzy nie spali od dłuższego czasu. Upuszczają skórę. Dodano żółwie. Pojawiają się na ciepłych plażach. Składają jaja na ich domowej plaży. Upuszczane przez nie skorupy można wykorzystać do stworzenia hełmów lub mikstur. Dodano możliwość biegania pod wodą. Dodano słupy bąbli. Na chwilę obecną nigdzie się nie generują. Pojawiają się po postawieniu bloku magmy pod wodą. Umożliwiają oddychanie pod wodą. Dodano możliwość zdjęcia kory z bloku drewna. Aby to zrobić należy kliknąć prawym przyciskiem myszy blok drewna trzymając w głównej ręce siekierę. Otrzymane w ten sposób bloki mają takie same właściwości jak zwykłe drewno. Dodano trójząb. Można nim rzucić używają prawego przycisku myszy lub uderzyć używając lewego przycisku myszy. Na chwilę obecną niemożliwy do uzyskania w trybie przetrwania. Jego siła zostanie później zmniejszona. Kałamarnice od teraz strzelają atramentem w samoobronie. Dodano krasnorosty morskie i morską trawę. Morska trawa pojawia się w oceanie. Krasnorosty morskie nie pojawiają się w głębokich oceanach. Krasnorosty morskie można przetopić w suche krasnorosty morskie, które można wykorzystać jako pożywienie lub paliwo do pieca. Przedmioty upuszczone w wodzie od teraz przemieszczają się do góry. Dodano pryzmarynowe schody i półpłytki. Pełna lista naprawionych błędów. 18w07b
    Od teraz tlen nie regeneruje się w pełni od razu po wyjściu z wody. Zmieniono nazwę kawałka skorupy żółwia na łuskę. Wysuszone bloki krasnorostów morskich od teraz się palą. Fizyka bloków krasnorostów morskich i morskiej trawy jest teraz bardziej podobna do fizyki wody. Poprawki błędów: Przywrócono możliwość craftowania. Pełna lista naprawionych błędów. 18w07c
    Poprawki błędów: Gra nie powinna zawieszać się po otwarciu ekwipunku.

    W tym odcinku zajmiemy się stworzeniem pliku głównego. Przed przeczytaniem tego poradnika warto też zapoznać się z poprzednią częścią, którą można znaleźć tutaj. Repozytorium z kodem można znaleźć tutaj.
    Główny kod naszego bota umieścimy w pliku server.js, który oczywiście musimy najpierw utworzyć w folderze głównym. Po zrobieniu tego możemy rozpocząć jego edycję.
    W pierwszej kolejności na początku pliku standardowo umieszczamy dyrektywę uruchamiającą strict mode.
    'use strict'; Importujemy moduł fs i path, które wykorzystamy do wczytania pliku config.json i package.json oraz modułów wewnętrznych.
    const fs = require('fs'); const path = require('path'); Następnie importujemy bibliotekę, którą wykorzystamy do stworzenia naszego bota - discord.js.
    const Discord = require('discord.js'); Ostatnią rzeczą, którą zrobimy, będzie zaimportowanie konfiguracji oraz pliku package.json - korzystając z funkcji JSON.parse przetworzymy zawartość pliku dostępnego pod ścieżką wygenerowaną przez path.join, odczytaną za pomocą funkcji fs.readFileSync (używamy funkcji synchronicznej ze względu na to, że plik ten wczytujemy jednorazowo).
    const config = JSON.parse(fs.readFileSync(path.join(__dirname, 'config.json'))); const packageInfo = JSON.parse(fs.readFileSync(path.join(__dirname, 'package.json'))); Zaimportowaliśmy już wszystkie gotowe moduły. Teraz utworzymy nową instancję klienta Discord.
    const client = new Discord.Client(); Następnie ustawimy funkcję wywoływaną po połączeniu się z API Discorda przez bota.
    client.on('ready', () => { }); Wewnątrz ustawiamy status naszego bota na !pomoc | v{wersja} za pomocą funkcji client.user.setActivity - wersję pobieramy z pliku package.json, który wcześniej zaimportowaliśmy.
    client.user.setActivity(`!pomoc | v${packageInfo.version}`); Następnie przygotowujemy informację o gotowości, który będzie się pojawiać w konsoli po udanym połączeniu się z API Discorda.
    console.log('Client is ready!'); Kod powinien teraz wyglądać w ten sposób:
    client.on('ready', () => { client.user.setActivity(`!pomoc | v${packageInfo.version}`); console.log('Client is ready!'); }); Teraz zajmiemy się ustawieniem funkcji wywoływaniu przez bota po tym, jak na jednym z dostępnych dla niego kanałów tekstowych zostanie wysłana nowa wiadomość.
    client.on('message', message => { }); Wewnątrz funkcji umieszczamy w pierwszej kolejności argumenty komendy. Aby je uzyskać usuniemy z zawartości wiadomości (message.content) niepotrzebne spacje (i część innych znaków specjalnych) za pomocą funkcji trim, a następnie rozdzielimy ją za pomocą wyrażenia regularnego \s+, odpowiadającego dowolnej ilości spacji.
    const args = message.content.trim().split(/\s+/); Pod tym umieścimy instrukcję switch, wykonującą podaną przez nas polecenia zależnie od wartości args[0].toLowerCase() - na razie pozostawimy ją pustą.
    switch(args[0].toLowerCase()) { } Nasz kod powinien teraz wyglądać tak:
    client.on('message', message => { const args = message.content.trim().split(/\s+/); switch(args[0].toLowerCase()) { } }); Na końcu pliku używając funkcji client.login spowodujemy połączenie się naszego bota z API Discorda.
    client.login(config.token); Plik główny naszego bota jest teraz gotowy!

    Minecraft 18w05a to kolejny snapshot nadchodzącej wersji 1.13. Tym razem dodano nowość, która na pewno spodoba się wszystkim twórcom map (i nie tylko) - dodano komendę /bossbar, umożliwiającą znacznie prostsze niż dotychczas tworzenie bossbarów.
    Lista zmian
    Dodano komendę /bossbar (więcej o niej w dalszej części artykułu). Dodano podstawowe podpowiedzi selektorów bytów w UI komend. Zaktualizowano tłumaczenia gry. Poprawki błędów: Krzesiwo czasami nieprawidłowo umieszczało ogień na bloku. Jazda świnią lub koniem z pelerynką powodowała jej nieprawidłowe zachowanie. Krzesiwo traciło wytrzymałość nawet, jeśli ogień nie został postawiony. W argumencie members/target/targets nazwy graczy nie były TAB-kompletowane. Paczki danych zawodnie ładowały funkcje. Pełna lista błędów. Komenda /bossbar
    /bossbar create <przestrzeń nazw>:<tag> "<tekst wyświetlany na bossbarze>" Tworzy nowy bossbar z podanym tekstem.
    /bossbar set <przestrzeń nazw>:<tag> name "<tekst wyświetlany na bossbarze>" Zmienia tekst wyświetlany na podanym bossbarze.
    /bossbar set <przestrzeń nazw>:<tag> color <kolor (np. white)> Zmienia kolor bossbaru.
    /bossbar set <przestrzeń nazw>:<tag> style <styl (np. progress)> Zmienia styl bossbaru.
    /bossbar set <przestrzeń nazw>:<tag> value <wartość (np. 0)> Ustawia wartość wyświetlaną na bossbarze.
    /bossbar set <przestrzeń nazw>:<tag> max <maksymalna wartość (np. 0)> Ustawia maksymalną wartość, możliwą do wyświetlenia na bossbarze.
    /bossbar set <przestrzeń nazw>:<tag> visible <widoczność (np. true)> Ustawia, czy bossbar ma być widoczny.
    /bossbar set <przestrzeń nazw>:<tag> players <gracze (np. @a)> Ustawia, dla których graczy bossbar ma być widoczny.
    /bossbar remove <przestrzeń nazw>:<tag> Usuwa podany bossbar.

    W tym poradniku zaprezentuję wam, jak poprawnie zainstalować serwer obsługujący mody - Forge i pluginy - Sponge.
    Zakładam, że masz już zainstalowaną Javę , jeśli jednak jej nie masz, możesz ją pobrać tutaj.
    Zakładam również, że serwer stawiasz na Windowsie (potem można przenieść)
    Pierwszym krokiem będzie zainstalowanie Forge`a, który znajdziesz pod tym adresem.  
    Pojawi się reklama, którą należy pominąć:  
    Uruchamiamy pobrany plik:  
    Zaznaczamy Install server:
    Tworzymy i wybieramy folder dla serwera:
    Klikamy Open, a następnie OK. Powinny się zacząć pobierać pliki serwera:
    Klikamy OK:
    Mamy już działający serwer z modami, lecz nie obsługuje on pluginów - aby to poprawić zainstalujemy jeszcze Sponge'a.
    Wchodzimy tutaj i klikamy:  
    Wybieramy wersję i pobieramy, najlepiej pobrać najnowszą.  
    Pobrany plik przenosimy do folderu mods. Teraz utworzymy plik, za pomocą którego będziemy uruchamiać serwer:
    Tworzymy nowy plik z rozszerzeniem .bat:
    Najlepiej go nazwać start lub tak, żeby przeglądając pliki za jakiś czas było wiadomo o co chodzi. Otwieramy plik w notatniku lub innym edytorze tekstu i wklejamy: java -Xmx1G -Xms1G -jar forge.jar nogui pause Jeśli będziesz wykorzystywać inną ilość RAMu niż 1 GB odpowiednio zmień tą wartość.
    Oczywiście zapisujemy.
    Należy jeszcze zmienić nazwę pliku forge-....jar na forge.jar.
    Serwer jest już gotowy, możemy go uruchamiać korzystając z start.bat
    Serwer wygenerował swoje pliki, należy teraz zaakceptować EULA w pliku eula.txt
    Serwer jest już gotowy, możemy go teraz uruchamiać korzystając z start.bat. W następnym poradniku omówię plugin na autoryzację.

    Discord to stworzony w 2015 roku komunikator tekstowo-głosowy, będący dość ciekawą alternatywą dla TeamSpeaka i Skype'a. Coraz częściej jest on wybierany przez administratorów serwerów jako główny środek komunikacji.
    W tym poradniku postaram się zaprezentować, jak stworzyć prostego bota dla Discorda, posiadającego 3 komendy: !pomoc (wysyła listę komend do użytkownika na PW), !status (wyświetla status serwera) i !gracz <gracz> (wyświetla informacje o podanym graczu na podstawie API Mojangu).
    Aby móc zrozumieć ten poradnik wymagana jest znajomość JavaScript i podstawowa znajomość NodeJS. Do stworzenia naszego bota wykorzystamy bibliotekę discord.js. W tej części poradniku przygotujemy nasze środowisko pracy, stworzymy bota, dodamy go na nasz serwer i stworzymy dwa podstawowe pliki: package.json i config.json.
    W pierwszej kolejności otwieramy stronę discordapp.com/developers/applications/me/create. Podajemy nazwę naszego bota w polu App Name i zatwierdzamy przyciskiem Create App (naciskamy go 2 razy).

    Powinna się nam teraz otworzyć strona z konfiguracją naszej aplikacji. Aby móc z niej w pełni korzystać musimy jeszcze utworzyć dla niej konto bota. Aby to zrobić naciskamy Create a Bot User i zatwierdzamy przyciskiem Yes, do it.

    Kolejną rzeczą, którą powinniśmy zrobić, jest dodanie bota na nasz serwer. Aby to zrobić otwieramy konfigurację naszej aplikacji, znajdujemy sekcję App Details, kopiujemy zawartość pola Client ID do URLa podanego poniżej i otwieramy go.
    https://discordapp.com/oauth2/authorize?client_id=<id klienta>&scope=bot&permissions=0 Powinna się nam ukazać taka strona:

    Wybieramy serwer na który chcemy dodać naszego bota i zatwierdzamy przyciskiem Autoryzuj.

    Następnie potwierdzamy, że nie jesteśmy botem. Bot powinien zostać wtedy dodany na serwer.

    Teraz zajmiemy się stworzeniem kodu bota. Osobiście do programowania wykorzystuję edytor Atom, ale oczywiście możemy skorzystać z dowolnego innego. Tworzymy folder pierwszybot i otwieramy go w edytorze. Następnie tworzymy tam dwa pliki: config.json i package.json. W pliku config.json będziemy przechowywać token naszego bota. Nie powinniśmy się nim z nikim dzielić.
    Aby znaleźć token naszego bota ponownie otwieramy ustawienia naszej aplikacji. Znajdujemy tam sekcję App Bot User, odsłaniamy zawartość pola Token i umieszczamy ją w naszym pliku config.json w miejscu tekstu TOKEN_BOTA.
    {     "token": "TOKEN_BOTA" } Gdy już to zrobimy zamykamy plik config.json i otwieramy plik package.json. W tym tutorialu umieszczę tutaj tylko najważniejsze informacje - przy tworzeniu poważniejszej aplikacji w NodeJS warto oczywiście uzupełnić ich więcej (tutaj można znaleźć ich listę).
    {     "name": "pierwszybot",     "version": "1.0.0",     "private": true,     "dependencies": {} } Ostatnią rzeczą, którą zrobimy w tej części tego poradnika będzie instalacja biblioteki discord.js. Aby to zrobić musimy otworzyć konsolę w folderze pierwszybot i wykonać polecenie
    npm install discord.js Teraz mamy już gotowe nasze środowisko pracy. W kolejnym odcinku zajmiemy się stworzeniem głównego pliku naszego bota.
    Cały kod utworzony w tej części poradnika można znaleźć tutaj.

    Mojang opublikował dzisiaj dosyć ciekawą i ważną informację, dotyczącą dwóch nadchodzących aktualizacji Minecrafta - 1.13 (Techniczna Aktualizacja) i 1.14 (Wodna Aktualizacja). Dotychczasowo planowane było wprowadzenie w pierwszej kolejności aktualizacji 1.13 dla edycji Java, a następnie wprowadzenie Wodnej Aktualizacji na wszystkie platformy - do edycji Java w formie aktualizacji 1.14.
    Jak wynika z opublikowanego dzisiaj artykułu, wprowadzenie aktualizacji 1.13 zostanie odroczone i zostanie ona połączona z aktualizacją 1.14 - przez co jednocześnie zostaną wprowadzone zmiany techniczne - czyli m. in. nowy format światów, nowy parser komend, paczki danych i nowy system generowania światów - a także zmiany związane z wodną aktualizacją - czyli m. in. dodanie raf koralowych, krasnorostów morskich, nowych rodzajów ryb, nowych podwodnych struktur, nowej fizyki wody i wielu innych!
    Większość elementów Technicznej Aktualizacji jest już dostępna w najnowszym snapshocie, dlatego w zbliżających się snapshotach można oczekiwać nowości związanych z Wodną Aktualizacją. Niestety, ale oznacza to także, że aktualizacja 1.13 zostanie wprowadzona znacznie później.

    Minecraft 18w03a i 18w03b to kolejne snapshoty nadchodzącej wersji 1.13. Tym razem ponownie składały się one główne ze zmian technicznych i poprawek błędów.
    Minecraft 18w03a
    Zaktualizowano model konia. Zaktualizowano tłumaczenia. Zoptymalizowano parsowanie i wykonywanie komend oraz ładowanie paczek danych. Dodano nowe komendy do profilera (/debug). Dodano alternatywną wersję komendy wywołującej efekty o zmniejszonych możliwościach - /particle <name> <pos>. Poprawki błędów: Opcje językowe były puste. Gra zawieszała się przy niestandardowej konfiguracji debugowania. Ustawienie w nazwie spersonalizowanego przedmiotu wartości italic na false nie powodowało wyłączenia kursywy. Występowały problemy z wydajnością komendy /execute. Pasek życia Smoka Endu nie wyświetlał jego prawidłowej nazwy. Komenda /summon sugerowała minecraft:player i minecraft:fishing_bobber.  Komenda /execute rotated as powodowała nieoczekiwany błąd. Gra nie ładowała paczek danych umieszczonych w archiwach .zip. Komenda /teleport ... facing ... nie działała prawidłowo. Reguła gry reducedDebugInfo wymagała ponownie załadowania świata. Pełna lista błędów.
    Minecraft 18w03b
    Poprawki błędów: Użycie komendy /data get do uzyskania elementu tablicy ciągów znaków zawsze zwracało informację, że tag nie istnieje. Użycie =, >, <, >= lub =< zawsze powodowało błąd składni w komendzie /execute if/unless score.

    Minecraft 18w02a to drugi wydany w 2018 roku snapshot nadchodzącej wersji 1.13. Tym razem - tak jak w poprzednich snapshotach - zmiany mają głównie techniczny. Tak jak w poprzednim snapshocie nie brakuje także poprawek błędów.
    Lista zmian
    Dodano tag bloku minecraft:enderman_holdable. Zmieniono format plików z tłumaczeniem z .lang na .json. Poprawiono wygląd błędów pojawiających się po nieprawidłowo wykonanej komendzie. Teleportacja do rzeczy znajdujących się w innych światach jest teraz możliwa. Komenda /teleport została uproszczona. Dodano nowe subkomendy do /execute, aby dać większą kontrolę nad komendami. Komendy na serwerach są teraz wykonywane ze spawnu świata zwykłego. Poprawki błędów: Nazwa niektórych bytów nie były przetłumaczone. Gra zawieszała się po wykonaniu komendy związanej z blokami w momencie gdy gracz stał naprzeciw bytu. Komenda /execute as/at nie powodowała zmiany światu, w którym była wykonywana. Serwer zawieszał się przy załadowaniu ramki na przedmiot w której znajdowała się mapa, której żaden z graczy nie miał w ekwipunku. Gra zawieszała się, jeśli jakiś przedmiot miał nazwę niebędącą prawidłowym JSONem. Raporty błędów podawały komponenty tekstowe jako nazwy bytów zamiast tekstu. Wiadomości informujące o połączeniu i rozłączeniu się gracza podawały nazwę gracza w formie komponentu tekstowego zamiast tekstu. Przy pustym komponencie tekstowym występował błąd NullPointerException. Ustawienie właściwości italic na false w niestandardowych nazwach przedmiotów nie powodowało wyświetlania tekstu bez kursywy. Wersja świata w menu trybu jednoosobowego nie wyświetlała się poprawnie. Pełna lista błędów.

    Minecraft 18w01a to pierwszy snapshot, który pojawił się w 2018 roku. Skupiono się w nim głównie na stronie technicznej gry i poprawieniu błędów.
    Lista zmian:
    Dodano parametr facing do komendy /teleport. Dodano funkcję set_name do tabeli łupu. Dodano tag funkcyjny minecraft:load, uruchamiany przy ładowaniu. Dodano pory dnia noon i midnight do komendy /time set. Od teraz w raportach błędów jest wyświetlana lista używanych paczek danych. Techniczne: Zmieniono wszystkie niestandardowe nazwy (bloków, przedmiotów, mobów) na możliwe do przetłumaczeniu komponenty tekstowe. Techniczne: Uwidoczniono generatory danych, dzięki czemu możliwe jest uzyskanie danych na temat wszystkich bloków/przedmiotów/komend itp. bez otwierania gry. Poprawki błędów: Zablokowanie przekaźnika przez komparator nie działało prawidłowo. Moby mogły kontrolować wagoniki, którymi się przemieszczały. TAB-lista ignorowała początkowe nazwy wyświetlane graczy. Kolory drużyn na scoreboardzie używały formatowania za pomocą § zamiast komponentów tekstowych. Gra zawieszała się, jeśli gracz zminimalizował okno gry w trakcie rozłączania się z serwerem. Funkcje, postępy i tablice łupu pozwalały na użycie plików o rozszerzeniach innych niż .mcfunction i .json. Bloki komend mogły użyć komendy /publish. Nie można było otworzyć skrzyń umieszczonych pod blokim liści, jasnogłazem, latarnią morską, lodem lub zbitym lodem. Naciśnięcie dowolnego klawisza w ekwipunku trybu kreatywnego powodowało przewinięcie listy na samą górę. Nie można było użyć miski w piecu jako paliwa. Pełna lista błędów.

    Kilka dni temu Mojang zapowiedział dodanie kolejnego wodnego moba — żółwia. Pojawi się on w wersji 1.14 — Aquatic Update. Mają one tworzyć swoje gniazda wzdłuż linii wybrzeży wielu różnorakich biomów, a ich młode mają przemieszczać się po dnie morskim. Jak na razie pracownicy Mojanga opublikowali tylko jedną wizualizację przedstawiającą wygląd żółwi, który może być inny, niż finalny.

×