Ръководство за начинаещи cyberlis

Съдържание

Стартиране на проект за приставки

Първо трябва да подготвите всичко, за да създадете приставка

  • Поставете pploader.jar в директорията/plugins /
  • Поставете jython.jar в директорията/lib /

След това нека създадем папка за нашия плъгин. Трябва да го създадете в директорията/plugins/Името на папката трябва да завършва с .py.dir Нека създадем например папката sampleplugin.py.dir След това в папката sampleplugin.py.dir трябва да бъдат създадени два файла

  • plugin.py (Това е основният файл на приставката. Main.py също е разрешен. Всички други файлове ще бъдат игнорирани)
  • plugin.yml (Файл с всички метаданни на приставката. Неговото име, основен клас, версия, кома и т.н.)

Приставката няма да работи без тези два файла.

Първи стъпки за изграждане на вашата приставка

Попълнете своя plugin.yml така изглежда така:

Попълнете своя plugin.py така изглежда така:

Внимание: Правилното отстъп е много важно в този файл. Не използвайте Tab за отстъп. Използвайте 4 интервала. Всеки раздел трябва да е на едно и също ниво! Във всички функции на класа (например def onEnable), първият аргумент винаги трябва да бъде self! Много е важно основният клас да наследява от PythonPlugin. Също така името му трябва да съответства на основния параметър от plugin.yml

Всичко. Приставката е готова. Сега можете да стартирате сървъра. Нашият плъгин ще пише в конзолата, когато стартира

примерна приставка е активирана

onEnable () и onDisable ()

Тези функции се извикват, когато приставката е активирана/деактивирана. По подразбиране приставката ще бъде включена при стартиране на сървъра и можете да конфигурирате съобщението, което е написано в конзолата при стартиране на приставката. onEnable () е първото нещо, което се прави в приставката.

Слушатели на събития (куки)

Слушателите на събития или куките всъщност ще бъдат най-голямата част от вашите приставки. Всичко, което не би се случило с играчите на сървъра, може да бъде уловено чрез тях. Играчът е сложил блок или играчът е убил някакво чудовище, или нещо друго - всичко това се хваща през куката (събития). Преди да създадете такава кука, трябва да я регистрирате от страната на приставката. Добро място за регистриране на куки е мястото, където вашият плъгин се свързва със сървъра (onEnable). Когато регистрирате събитие (кука), сървърът вече ще знае, че когато се случи събитието, той ще уведоми приставката ви за това. Доста стандартен модел за регистриране на събития.

Първата стъпка е да импортирате необходимите класове. Добавете в самото начало на нашия файл plugin.yml

Сега е моментът да напишете клас за слушател на събития. За всяко събитие ще има манипулатор. Поставете следния код след свързване на класовете. Преди нашия клас, клас SampleClass (PythonPlugin):


За да регистрираме самото събитие, ни трябва Plugin Manager. Добавете следния ред към onEnable на нашия основен клас плъгин.

Следващата стъпка е да регистрираме нашия клас за слушатели на събития. Всички куки, които са в клас SimpleListener (PythonListener) ще бъдат автоматично регистрирани. За да направите това, добавете следните редове

Първият ред създава нашия слушател на събития. Вторият го регистрира в Bukkit. Свършен. Сега, когато играч влезе в сървъра, ще му бъде изпратено съобщение в чата Добре дошли в rccraft сървъра

Е, целият код изцяло:

Сега знаете как да използвате събития, но какво, ако трябва да се справите с команди, изпратени от плейъра? За целта използвайте функция в основния клас '' 'onCommand' ''. Този код се извиква, когато играч напише команда в чата, започвайки с символа "/". Например въвеждането на "/ направи нещо" ще извика кода '' 'onCommand' ''. В този случай нищо няма да се случи при извикване. трябва да програмирате околната среда.

Опитайте се да не използвате команди, които вече са взети от други плъгини или от самия bukkit. Например give е една от тези команди.

Методът '' 'onCommand' '' винаги трябва да връща True или False. Ако командата е изпълнена правилно, обикновено връща True. Ако в командата или нейните параметри са допуснати грешки, False се връща. Bukkit от своя страна, ако '' 'onCommand' '' върне False, отпечатайте 'use: property' от вашия plugin.yml файл.

За описанието на '' 'onCommand' '' винаги трябва да посочите 4 параметъра.

  • '' 'sender' '' - кой е изпратил командата (може би конзолата)
  • '' 'cmd' '' - командата, въведена от потребителя (в plugin.yml могат да бъдат изброени няколко команди)