# Глобальные функции

## Скажи мне сегодняшнюю дату!

Возможно, Вам когда-то нужно было проверять дату при запуске сборки. Так вот, теперь Вы можете это сделать! Всё, что нужно - это `mods.sdmcrtplus.utils.Data`!

Данный класс отсылает нас к <mark style="color:blue;">**Data**</mark> в <mark style="color:blue;">**Java**</mark>.

Здесь есть 7 методов:

* `getSeconds()` - разрешает получить секунды от 0 до 59
* `getMinutes()` - позволяет получить минуты от 0 до 59
* `getHours()` - можно получить часы от 0 до 23
* `getDay()` - теперь доступно получение дня недели (<mark style="color:blue;">**0**</mark> - Воскресенье, <mark style="color:blue;">**1**</mark> - Понедельник, <mark style="color:blue;">**2**</mark> - Вторник, <mark style="color:blue;">**3**</mark> - Среда, <mark style="color:blue;">**4**</mark> - Четверг, <mark style="color:blue;">**5**</mark> - Пятница, <mark style="color:blue;">**6**</mark> - Суббота)
* `getMonth()` - позволяет получить месяц от 0 до 11
* `getYear()` - если хотите получить год
* `getTime()` - делает возможным получение точной даты в секундах с (January 1, 1970, 00:00:00 GMT) по текущую дату.

### Пример

```java
import mods.sdmcrtplus.utils.Data;
var d = new Data();
if (d.getSeconds() >= 40) println("Уже 40 секунд прошло!");
```

Воспроизведение сообщений Работает только с загрузчиком <mark style="color:blue;">**sdmcrtplus**</mark>.

Возможно, только ради этого Вы и скачали или скачаете данный мод.

Если хотите воспроизвести сообщение на экране игрока, да и не просто текстом, а и со звуком, тогда Вам нужно использовать `mods.sdmcrtplus.utils.functions.sixikLore.LoreBuilder`.

Текст сообщения пишется в <mark style="color:blue;">**lang**</mark> файле.

### Пример №1

```java
// loader sdmcrtplus
import mods.sdmcrtplus.utils.functions.sixikLore.LoreBuilder;
import mods.sdmcrtplus.utils.functions.sixikLore.LoreQuote;
import mods.sdmcrtplus.utils.functions.sixikLore.LoreSubtitles;
```

`addSubtitles` - добавляет текст\
`add` - добавляет дополнительное сообщение

<pre class="language-java"><code class="lang-java"><strong>//LoreBuilder.registerLore(new LoreQuote(&#x3C;Имя вашего сообщения>).addSubtitles(new LoreSubtitles(&#x3C;Время проигрывания сообщения>).add(&#x3C;Сколько проигрваается дополнительное сообщение>)))
</strong>LoreBuilder.registerLore(new LoreQuote("test_message").addSubtitles(new LoreSubtitles(20).add(8).add(8).add(8)));
</code></pre>

### Пример №2

```java
import crafttweaker.api.events.CTEventManager;
import crafttweaker.api.event.entity.player.ItemPickupEvent;
import mods.sdmcrtplus.utils.functions.sixikLore.LoreQuoteUtils;
CTEventManager.register<crafttweaker.api.event.entity.player.ItemPickupEvent>((event) => { val player = event.player;
    //LoreQuoteUtils.play(сообщение, игрок, задержка);
    LoreQuoteUtils.play(LoreQuoteUtils.getByName("test_message"), player, 80);
});
```

## Воспроизведение видео

Если Вы хотите включить какое-либо видео игроку, используйте класс `mods.sdmcrtplus.utils.functions.sixikLore.LoreQuoteUtils`.

Для начала Вам нужно переместить видео в папку <mark style="color:blue;">**video**</mark>, которая находится в папке с Minecraft

### Пример

```java
import crafttweaker.api.events.CTEventManager;
import crafttweaker.api.event.entity.player.ItemPickupEvent;
import mods.sdmcrtplus.utils.functions.sixikLore.LoreQuoteUtils;
import crafttweaker.api.entity.type.player.ServerPlayer;
import crafttweaker.api.entity.type.player.Player;
CTEventManager.register<crafttweaker.api.event.entity.player.ItemPickupEvent>((event) => { val player as Player = event.player;
    //LoreQuoteUtils.playVideo(игрок, имя видео, громкость);
    LoreQuoteUtils.playVideo(player as ServerPlayer, "video.mp4", 100);
});
```

## Отключение частей интерфейса

Хотели ли Вы когда-нибудь отключить части интерфейса игрока?

Хотбар? Показатели еды или хп?

Теперь, благодаря `mods.sdmcrtplus.client.ClientRestricted` это стало возможно!

### Пример

```java
import mods.sdmcrtplus.client.ClientRestricted;
ClientRestricted.setClientGUIRestricted(constant:overlay:hotbar);
ClientRestricted.setClientGUIRestricted(constant:overlay:hotbar, "one");
ClientRestricted.setClientGUIRestricted(constant:overlay:hotbar, { "close" : true });
/*
    ClientRestricted.setClientGUIRestricted(<overlay>)
    ClientRestricted.setClientGUIRestricted(<overlay>, <stage>)
    ClientRestricted.setClientGUIRestricted(<overlay>, <IData>)
*/
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.aegis-mine.ru/modifications/sozdanie-kontenta/sdm-crafttweaker-plus/globalnye-funkcii.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
