Programuotojo atranka

Šiame puslapyje pateikta informacija dėl programuotojo atrankos.


Dėl detalios informacijos ir proceso kreiptis per „Discord“ - @m0dii.

Užduotis Keisti

Užduoties aprašymas:

Sukurti „Minecraft“ serverio įskiepį (angl. „plugin“), naudojant „Java“ ir „Bukkit API“ pagal nurodytus reikalavimus.

SQLite (arba MySQL) Keisti

Panaudokite SQLite (arba MySQL) duomenų bazę.

Sukurkite lentelę player_data:

id               int          auto_increment primary key;
player_name      varchar(100)                not null;
player_uuid      varchar(36)                 not null;
logout_timestamp timestamp                   not null;
EventListener Keisti

Sukurkite EventListener, kuris stebėtų žaidėjų prisijungimus ir atsijungimus ir blokų griovimus.

Kai žaidėjas prisijungia prie serverio, išsiųskite jam sveikinimo pranešimą.

Žaidėjui atsijungus, įrašykite įrašą į aukščiau aprašytą lentelę, kada paskutinį kartą žaidėjas atsijungė.

Išgriovus DIRT bloką su tam tikru įrankiu tūri būti atskitiktinis šansas, nurodytas konfigūracijos faile, kad iškris deimantas.

Komanda Keisti

Sukurkite komandą pavadinimu /applicationplugin.

Komandą gali naudoti tik žaidėjai (naudojant konsolei - turi būti pateiktas atskiras pranešimas).

Komandą priėmą argumentus:

  • Kai pirmasis argumentas „hello“, žaidėjui turi būti parašomas raudonas tekstas „world“.
  • Kai pirmasis argumentas „reload“, turi būti perkraunamas konfigūracijos failas.
  • Kai pirmasis argumentas „lastlogout“ ir yra antrasis argumentas, turi būti tikrama, ar pagal antrąjį argumentą yra toks žaidėjas, jei taip - iš duomenų bazės turi būti paimtas paskutinis įrašas, kada žaidėjas atsijungė ir jį parodyti.


Panaudoti abstrakciją, sukurti AbstractCommand, kuri turėtų pagalbinius metodus ir kurią paveldėtų jūsų sukurtą komandos klasė.

Konfigūracija Keisti

Įskiepio aplanke turi būti sukuriamas config.yml failas. Failą turi eiti perkrauti naudojant komandą, kad būtų atnaujintos reikšmės.

Šiame faile turi būti nurodyta:

  • Pasisveikinimo žinutė, kuri bus naudojama žaidėjui prisijungus.
  • Prisijungimo nuoroda prie duomenų bazės (JDBC).
Papildomi reikalavimai Keisti

Naudoti „Gradle“ kaip build-tool.

Naudoti Java 17 versiją.

Naudoti Paper API - https://docs.papermc.io/paper/dev/project-setup.

Naudoti „Git“ versijavimo įrankį - https://github.com/.

Sukurti ką nors originalaus, papildomo prie įskiepio, panaudojant ENUM ir interface Java klases.

Vertinimo kriterijai Keisti
  • Funkcionalumas: ar įskiepis atitinka aprašyta funcionalumą.
  • Kodo kokybė: ar kodas švarus, tvarkingas, naudojamasi gerųjų praktikų, atitinka OOP ir SOLID reikalavimus.
  • API panaudojimas: ar API naudojamas teisingai.
  • Reikalavimai: ar buvo laikomasi nurodytų reikalavimų.