Programuotojo atranka

Iš MCSlime.LT.
Pereiti į navigaciją Jump to search

Šiame puslapyje pateikta informacija dėl programuotojo atrankos.


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

Užduotis

Užduoties aprašymas:

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

SQLite (arba MySQL)

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

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

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

Į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

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/.

Vertinimo kriterijai
  • 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ų.