> For the complete documentation index, see [llms.txt](https://mythicalworld.gitbook.io/kubejs-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mythicalworld.gitbook.io/kubejs-docs/intro/vash-pervyi-skript.md).

# Ваш первый скрипт

#### Написание первого скрипта <a href="#bkmrk-c2-a0-0" id="bkmrk-c2-a0-0"></a>

Если вы запустили игру хотя бы один раз, вы найдете `kubejs/server_scripts/example.js`

```javascript
// priority: 0

settings.logAddedRecipes = true
settings.logRemovedRecipes = true
settings.logSkippedRecipes = false
settings.logErroringRecipes = true

console.info('Привет, мир! (Вы увидите эту строку каждый раз при перезагрузке ресурсов сервера)')

onEvent('recipes', event => {
	// Изменение рецептов тут
})

onEvent('item.tags', event => {
	// Получите коллекцию тегов #forge:cobblestone и добавьте в нее алмазную руду.
	// event.get('forge:cobblestone').add('minecraft:diamond_ore')

	// Получите коллекцию тегов #forge:cobblestone и удалите из нее Mossy Cobblestone.
	// event.get('forge:cobblestone').remove('minecraft:mossy_cobblestone')
})
```

Давайте разберемся:

* // priority: 0
  * Делает так, что если у вас есть несколько серверных скриптов, этот скрипт загружается первым
  * Если у вас только один server\_script, это не имеет никакого эффекта
* settings.logAddedRecipes = true\
  settings.logRemovedRecipes = true\
  settings.logSkippedRecipes = false\
  settings.logErroringRecipes = true
  * Задает настройки для того, какие сообщения будут регистрироваться
  * Вы можете удалить все эти четыре строки, если хотите, и это изменит только то, что помещается в журналы
* console.info('Привет, мир! (Вы увидите эту строку каждый раз при перезагрузке ресурсов сервера)')
  * Выводит сообщение в журнал
  * Эта строка бесполезна, кроме примера, и в конечном итоге должна быть удалена<br>
* onEvent('recipes', event => {
  * Это делает прослушиватель события для `recipes` событие, и будет запускать код внутри тогда и только тогда, когда `recipes` событие срабатывает
  * Это происходит при перезагрузке ресурсов сервера
    * Что происходит, когда мировая загрузка или `/reload` команда использована
* // Изменение рецептов тут
  * Комментарий&#x20;
* })
  * Указывает на окончание слушателя `recipes`
* onEvent('item.tags', event => {\
  &#x20;   // Получите коллекцию тегов #forge:cobblestone и добавьте в нее алмазную руду.\
  &#x20;   // event.get('forge:cobblestone').add('minecraft:diamond\_ore')

  &#x20;   // Получите коллекцию тегов #forge:cobblestone и удалите из нее Mossy Cobblestone.\
  &#x20;   // event.get('forge:cobblestone').remove('minecraft:mossy\_cobblestone')\
  })

  * То же самое, что и предыдущий, но для `item.tags` слушателя

<br>
