Programuotojo atranka: Skirtumas tarp puslapio versijų
SNėra keitimo santraukos |
|||
37 eilutė: | 37 eilutė: | ||
* Kai pirmasis argumentas „'''reload'''“, turi būti perkraunamas konfigūracijos failas. | * 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. | * 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 ===== | ===== Konfigūracija ===== | ||
Įskiepio aplanke turi būti sukuriamas '''config.yml''' failas. | Į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: | Šiame faile turi būti nurodyta: |
22:07, 11 kovo 2024 versija
Š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ų.