Skip to content

Commit

Permalink
❔2 more FAQs added, no more antbot ad in the end of faqs, bots will n…
Browse files Browse the repository at this point in the history
…o longer call faqs
  • Loading branch information
SuperAnt220 committed Oct 18, 2024
1 parent afca1e6 commit 34fee70
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## {md} Что такое сущность взаимодействия (interaction entity) и как ей пользоваться?
Сущность `interaction` (далее — `интеракция`) — техническая сущность, добавленая в версии 1.19.4. Она полностью невидима, неуязвима и её хитбоксу можно менять размер (её хитбокс можно увидеть с помощью `f3+b`). Она позволяет считывать нажатие ЛКМ и ПКМ по ней, но имеет минус того, что не даёт взаимодействовать с чем либо за этой сущностью.

### Как работать с интеракцией
С помощью ачивок можно считывать нажатие ЛКМ/ПКМ по сущности — триггер `player_interacted_with_entity` считывает ПКМ, а `player_hurt_entity` — ЛКМ.

С помощью `execute on` можно переводить исполнителя команды с интеракции на последнего игрока, кто кликнул по ней:
```ansi
# От лица последнего игрока, кто ПКМнул по определённой интеракции, написать в чат "hi"
execute as @e[type=interaction,tag=some_tag] on target run say hi
# Тоже самое, но для ЛКМ
execute as @e[type=interaction,tag=some_tag] on attacker run say hi
```
Информация о последнем игроке, ЛКМнувшим по интеракции, записывается в нбт тег `attack`, внутри которого находится тег с UUID кликнувшего игрока и время, когда оно было кликнуто, например — `{attack:{player:[I;-1195679934,1522158402,-1755134412,-1621914861],timestamp:348608L}`, а информация о ПКМнувшем игроке, в свою очередь, записывается в нбт тег `interaction` в таком же формате.
`execute on attacker|target` работает как раз засчёт наличия этих нбт тегов, поэтому если вы хотите, чтоб после клика по интеракции `execute on` срабатывал 1 раз, то вам также следует сразу же убрать эти теги у сущности с помощью `data remove`.

Высота и ширина хитбокса сущности записана в нбт тегах `height` и `width` (по умолчанию — `{width:1.0f,height:1.0f}`, что делает её размер хитбокса 1х1 блок).

Интеракция также имеет нбт тег `response` (по умолчанию — `{response:0b}`), который при значении `1b` включает анимацию руки и звук удара по сущности при ЛКМ и также анимацию взмаха руки при ПКМ.
11 changes: 11 additions & 0 deletions assets/faqs/item_model/item_model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## {item_modifier} Компонент `item_model`
В 1.21.2 был добавлен компонент `item_model`, который значительно упрощает изменение модели определённого предмета без использования кастом модел даты (смотрите `?cmd`).

Работает он очень просто - в него нужно вписать путь к модели предмета в ресурспаке, и путь начинается с папки `assets/minecraft/models/item`. Например, если нужно выдать палку с моделью стержня энда, это можно сделать так:
```ansi
give @s stick[item_model="end_rod"]
```
А если у нас есть кастомная модель в ресурспаке, и лежит она, например, по пути `assets/namespace/models/item/custom/fire_wand.json`, то команда выдачи будет выглядеть так:
```ansi
give @s stick[item_model="namespace:custom/fire_wand"]
```
6 changes: 3 additions & 3 deletions cogs/faqs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ async def faqs_error(self, ctx, error):

@commands.Cog.listener("on_message")
async def main(self, msg):
if msg.author == self.bot.user:
if msg.author.bot:
return
if msg.guild != None and msg.guild.id == DMS_LOGS_GUILD_ID:
return
Expand Down Expand Up @@ -101,13 +101,13 @@ async def main(self, msg):
answers = content.split("\n---separator---\n")
for answer in answers:
if len(answers) == 1:
answer += "\n-# Источник: [AntBot](<https://github.com/FuncFusion/antbot>)"
#answer += "\n-# Источник: [AntBot](<https://github.com/FuncFusion/antbot>)"
await msg.reply(answer, files=files, allowed_mentions=no_ping)
elif answers.index(answer) == 0:
await msg.reply(answer, allowed_mentions=no_ping)
elif answer != answers[-1]:
await msg.channel.send(answer, allowed_mentions=no_ping)
else:
answer += "\n-# Источник: [AntBot](<https://github.com/FuncFusion/antbot>)"
#answer += "\n-# Источник: [AntBot](<https://github.com/FuncFusion/antbot>)"
await msg.channel.send(answer, files=files, allowed_mentions=no_ping)

4 changes: 3 additions & 1 deletion cogs/faqs/faqs.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,7 @@
"ПКМ детект": ["right click detect", "rc detect", "rc", "пкм", "пкм детект в дп", "детект пкм", "детект правой кнопки мыши", "дп пкм", "правая кнопка мыши детект", "кс вуеусе", "датапак пкм детект", "методы определения пкм", "райт клик"],
"pack.mcmeta фильтры": ["пак мсмета фильтры","фильтры пак мсмета","mcmeta filters","pack.mcmeta filters","мсмета фильтры","фильтры мсметы","фильтры","filters"],
"pack.mcmeta оверлеи": ["pack.mcmeta overlays","mcmeta overlays","pack.mcmeta оверлеи","mcmeta оверлеи","оверлеи пак мсмета","overlays","оверлеи","пакмсмета оверлеи"],
"cardinal direction align": ["выровнять по сторонам света","стороны света","выровнять по кардинальным направлениям","кардинальные направления","align cardinal directions","align cardinal","align directions","directions align","directions align to cardinals","округление поворота к сторонам света","rounding rotation to cardinal directions","rounding rotation to cardinal","rounding rotation to directions","rotation align","rotation align to cardinals"]
"cardinal direction align": ["выровнять по сторонам света","стороны света","выровнять по кардинальным направлениям","кардинальные направления","align cardinal directions","align cardinal","align directions","directions align","directions align to cardinals","округление поворота к сторонам света","rounding rotation to cardinal directions","rounding rotation to cardinal","rounding rotation to directions","rotation align","rotation align to cardinals"],
"interaction сущность": ["interaction","interaction entity","интеракшн","интеракшн сущность","сущность интеракшн","интеракция","сущность интеракция","интеракция сущность","пкм детект интеракшн","пкм детект интеракция","лкм пкм детект сущность","entity interaction", "right left click detection entity","сущность взаимодействия","взаимодействие сущность","интерактивная сущность"],
"item_model": ["айтем модел","айтем модел компонент","компонент айтем модел","item model","item model component","компонент модели предмета","модель предмета компонент","component item model"]
}

0 comments on commit 34fee70

Please sign in to comment.