Свой сервер

Бинго в Майнкрафте

Карточка 5 × 5 из предметов выживания: кто первым соберёт пять в ряд, в столбец или по диагонали — победил. Датапак для Minecraft 1.21.11 — 26.3 сам отмечает найденное и объявляет «Бинго!».

Бинго

Датапак · 1.21.11 — 26.3
Клеток
25
Линий
12
Сид
2026

Начать игру для всех (права оператора)

/function bingo:start

Карточка в чате — любой игрок

/trigger bingo
Скачать датапак
Что внутри архива — 10 файлов

data/minecraft/tags/function/load.json

Тег load: игра зовёт эти функции при загрузке мира и после /reload.

{
  "values": [
    "bingo:load"
  ]
}

data/minecraft/tags/function/tick.json

Тег tick: эти функции идут каждый тик — 20 раз в секунду.

{
  "values": [
    "bingo:tick"
  ]
}

data/bingo/function/load.mcfunction

При загрузке мира: счёт найденного сбоку экрана и проверка раз в секунду.

scoreboard objectives add bingo_game dummy
scoreboard objectives add bingo_found dummy "Найдено"
scoreboard objectives add bingo trigger "Карточка бинго"
scoreboard objectives setdisplay sidebar bingo_found
schedule function bingo:second 1s

data/bingo/function/tick.mcfunction

Каждый тик: /trigger bingo показывает карточку.

scoreboard players enable @a bingo
execute as @a[scores={bingo=1..}] run function bingo:card

data/bingo/function/second.mcfunction

Раз в секунду — проверка у каждого игрока.

execute as @a[gamemode=!spectator] run function bingo:check
schedule function bingo:second 1s

data/bingo/function/check.mcfunction

Новые предметы с карточки и пять в линию.

execute if entity @s[tag=!bingo_1] if items entity @s container.* minecraft:iron_bars run function bingo:got {n:1,name:"Железные прутья"}
execute if entity @s[tag=!bingo_2] if items entity @s container.* minecraft:composter run function bingo:got {n:2,name:"Компостница"}
execute if entity @s[tag=!bingo_3] if items entity @s container.* minecraft:gunpowder run function bingo:got {n:3,name:"Порох"}
execute if entity @s[tag=!bingo_4] if items entity @s container.* minecraft:cake run function bingo:got {n:4,name:"Торт"}
execute if entity @s[tag=!bingo_5] if items entity @s container.* minecraft:paper run function bingo:got {n:5,name:"Бумага"}
execute if entity @s[tag=!bingo_6] if items entity @s container.* minecraft:rail run function bingo:got {n:6,name:"Рельсы"}
execute if entity @s[tag=!bingo_7] if items entity @s container.* minecraft:melon_slice run function bingo:got {n:7,name:"Ломтик арбуза"}
execute if entity @s[tag=!bingo_8] if items entity @s container.* minecraft:beef run function bingo:got {n:8,name:"Сырая говядина"}
execute if entity @s[tag=!bingo_9] if items entity @s container.* minecraft:barrel run function bingo:got {n:9,name:"Бочка"}
execute if entity @s[tag=!bingo_10] if items entity @s container.* minecraft:stone_hoe run function bingo:got {n:10,name:"Каменная мотыга"}
execute if entity @s[tag=!bingo_11] if items entity @s container.* minecraft:chicken run function bingo:got {n:11,name:"Сырая курица"}
execute if entity @s[tag=!bingo_12] if items entity @s container.* minecraft:bread run function bingo:got {n:12,name:"Хлеб"}
execute if entity @s[tag=!bingo_13] if items entity @s container.* minecraft:bookshelf run function bingo:got {n:13,name:"Книжная полка"}
execute if entity @s[tag=!bingo_14] if items entity @s container.* minecraft:pumpkin_pie run function bingo:got {n:14,name:"Тыквенный пирог"}
execute if entity @s[tag=!bingo_15] if items entity @s container.* minecraft:chest run function bingo:got {n:15,name:"Сундук"}
execute if entity @s[tag=!bingo_16] if items entity @s container.* minecraft:egg run function bingo:got {n:16,name:"Яйцо"}
execute if entity @s[tag=!bingo_17] if items entity @s container.* minecraft:piston run function bingo:got {n:17,name:"Поршень"}
execute if entity @s[tag=!bingo_18] if items entity @s container.* minecraft:book run function bingo:got {n:18,name:"Книга"}
execute if entity @s[tag=!bingo_19] if items entity @s container.* minecraft:brick run function bingo:got {n:19,name:"Кирпич"}
execute if entity @s[tag=!bingo_20] if items entity @s container.* minecraft:oak_planks run function bingo:got {n:20,name:"Дубовые доски"}
execute if entity @s[tag=!bingo_21] if items entity @s container.* minecraft:smooth_stone run function bingo:got {n:21,name:"Гладкий камень"}
execute if entity @s[tag=!bingo_22] if items entity @s container.* minecraft:gold_ingot run function bingo:got {n:22,name:"Золотой слиток"}
execute if entity @s[tag=!bingo_23] if items entity @s container.* minecraft:wheat_seeds run function bingo:got {n:23,name:"Семена пшеницы"}
execute if entity @s[tag=!bingo_24] if items entity @s container.* minecraft:lantern run function bingo:got {n:24,name:"Фонарь"}
execute if entity @s[tag=!bingo_25] if items entity @s container.* minecraft:lava_bucket run function bingo:got {n:25,name:"Ведро лавы"}
execute if entity @s[tag=!bingo_done,tag=bingo_1,tag=bingo_2,tag=bingo_3,tag=bingo_4,tag=bingo_5] run function bingo:win
execute if entity @s[tag=!bingo_done,tag=bingo_6,tag=bingo_7,tag=bingo_8,tag=bingo_9,tag=bingo_10] run function bingo:win
execute if entity @s[tag=!bingo_done,tag=bingo_11,tag=bingo_12,tag=bingo_13,tag=bingo_14,tag=bingo_15] run function bingo:win
execute if entity @s[tag=!bingo_done,tag=bingo_16,tag=bingo_17,tag=bingo_18,tag=bingo_19,tag=bingo_20] run function bingo:win
execute if entity @s[tag=!bingo_done,tag=bingo_21,tag=bingo_22,tag=bingo_23,tag=bingo_24,tag=bingo_25] run function bingo:win
execute if entity @s[tag=!bingo_done,tag=bingo_1,tag=bingo_6,tag=bingo_11,tag=bingo_16,tag=bingo_21] run function bingo:win
execute if entity @s[tag=!bingo_done,tag=bingo_2,tag=bingo_7,tag=bingo_12,tag=bingo_17,tag=bingo_22] run function bingo:win
execute if entity @s[tag=!bingo_done,tag=bingo_3,tag=bingo_8,tag=bingo_13,tag=bingo_18,tag=bingo_23] run function bingo:win
execute if entity @s[tag=!bingo_done,tag=bingo_4,tag=bingo_9,tag=bingo_14,tag=bingo_19,tag=bingo_24] run function bingo:win
execute if entity @s[tag=!bingo_done,tag=bingo_5,tag=bingo_10,tag=bingo_15,tag=bingo_20,tag=bingo_25] run function bingo:win
execute if entity @s[tag=!bingo_done,tag=bingo_1,tag=bingo_7,tag=bingo_13,tag=bingo_19,tag=bingo_25] run function bingo:win
execute if entity @s[tag=!bingo_done,tag=bingo_5,tag=bingo_9,tag=bingo_13,tag=bingo_17,tag=bingo_21] run function bingo:win

data/bingo/function/got.mcfunction

Макрос: клетка найдена — метка, счёт, сообщение.

$tag @s add bingo_$(n)
scoreboard players add @s bingo_found 1
playsound minecraft:entity.experience_orb.pickup master @s
$tellraw @a ["",{"selector":"@s"},{"text":" нашёл: $(name)","color":"aqua"}]

data/bingo/function/win.mcfunction

Первая линия игрока: «Бинго!» и место.

tag @s add bingo_done
scoreboard players add #place bingo_game 1
tellraw @a ["",{"selector":"@s"},{"text":" — БИНГО! Место: ","color":"gold","bold":true},{"score":{"name":"#place","objective":"bingo_game"}}]
title @a title {"text":"Бинго!","color":"gold"}
title @a subtitle ["",{"selector":"@s"},{"text":" собрал линию"}]
playsound minecraft:ui.toast.challenge_complete master @a

data/bingo/function/card.mcfunction

/trigger bingo — карточка в чат, найденное зелёным с галочкой.

scoreboard players set @s bingo 0
tellraw @s {"text":"Карточка бинго","bold":true}
execute if entity @s[tag=bingo_1] run data modify storage bingo:view c1 set value {text:"✔ Железные прутья",color:"green"}
execute unless entity @s[tag=bingo_1] run data modify storage bingo:view c1 set value {text:"Железные прутья",color:"white"}
execute if entity @s[tag=bingo_2] run data modify storage bingo:view c2 set value {text:"✔ Компостница",color:"green"}
execute unless entity @s[tag=bingo_2] run data modify storage bingo:view c2 set value {text:"Компостница",color:"white"}
execute if entity @s[tag=bingo_3] run data modify storage bingo:view c3 set value {text:"✔ Порох",color:"green"}
execute unless entity @s[tag=bingo_3] run data modify storage bingo:view c3 set value {text:"Порох",color:"white"}
execute if entity @s[tag=bingo_4] run data modify storage bingo:view c4 set value {text:"✔ Торт",color:"green"}
execute unless entity @s[tag=bingo_4] run data modify storage bingo:view c4 set value {text:"Торт",color:"white"}
execute if entity @s[tag=bingo_5] run data modify storage bingo:view c5 set value {text:"✔ Бумага",color:"green"}
execute unless entity @s[tag=bingo_5] run data modify storage bingo:view c5 set value {text:"Бумага",color:"white"}
execute if entity @s[tag=bingo_6] run data modify storage bingo:view c6 set value {text:"✔ Рельсы",color:"green"}
execute unless entity @s[tag=bingo_6] run data modify storage bingo:view c6 set value {text:"Рельсы",color:"white"}
execute if entity @s[tag=bingo_7] run data modify storage bingo:view c7 set value {text:"✔ Ломтик арбуза",color:"green"}
execute unless entity @s[tag=bingo_7] run data modify storage bingo:view c7 set value {text:"Ломтик арбуза",color:"white"}
execute if entity @s[tag=bingo_8] run data modify storage bingo:view c8 set value {text:"✔ Сырая говядина",color:"green"}
execute unless entity @s[tag=bingo_8] run data modify storage bingo:view c8 set value {text:"Сырая говядина",color:"white"}
execute if entity @s[tag=bingo_9] run data modify storage bingo:view c9 set value {text:"✔ Бочка",color:"green"}
execute unless entity @s[tag=bingo_9] run data modify storage bingo:view c9 set value {text:"Бочка",color:"white"}
execute if entity @s[tag=bingo_10] run data modify storage bingo:view c10 set value {text:"✔ Каменная мотыга",color:"green"}
execute unless entity @s[tag=bingo_10] run data modify storage bingo:view c10 set value {text:"Каменная мотыга",color:"white"}
execute if entity @s[tag=bingo_11] run data modify storage bingo:view c11 set value {text:"✔ Сырая курица",color:"green"}
execute unless entity @s[tag=bingo_11] run data modify storage bingo:view c11 set value {text:"Сырая курица",color:"white"}
execute if entity @s[tag=bingo_12] run data modify storage bingo:view c12 set value {text:"✔ Хлеб",color:"green"}
execute unless entity @s[tag=bingo_12] run data modify storage bingo:view c12 set value {text:"Хлеб",color:"white"}
execute if entity @s[tag=bingo_13] run data modify storage bingo:view c13 set value {text:"✔ Книжная полка",color:"green"}
execute unless entity @s[tag=bingo_13] run data modify storage bingo:view c13 set value {text:"Книжная полка",color:"white"}
execute if entity @s[tag=bingo_14] run data modify storage bingo:view c14 set value {text:"✔ Тыквенный пирог",color:"green"}
execute unless entity @s[tag=bingo_14] run data modify storage bingo:view c14 set value {text:"Тыквенный пирог",color:"white"}
execute if entity @s[tag=bingo_15] run data modify storage bingo:view c15 set value {text:"✔ Сундук",color:"green"}
execute unless entity @s[tag=bingo_15] run data modify storage bingo:view c15 set value {text:"Сундук",color:"white"}
execute if entity @s[tag=bingo_16] run data modify storage bingo:view c16 set value {text:"✔ Яйцо",color:"green"}
execute unless entity @s[tag=bingo_16] run data modify storage bingo:view c16 set value {text:"Яйцо",color:"white"}
execute if entity @s[tag=bingo_17] run data modify storage bingo:view c17 set value {text:"✔ Поршень",color:"green"}
execute unless entity @s[tag=bingo_17] run data modify storage bingo:view c17 set value {text:"Поршень",color:"white"}
execute if entity @s[tag=bingo_18] run data modify storage bingo:view c18 set value {text:"✔ Книга",color:"green"}
execute unless entity @s[tag=bingo_18] run data modify storage bingo:view c18 set value {text:"Книга",color:"white"}
execute if entity @s[tag=bingo_19] run data modify storage bingo:view c19 set value {text:"✔ Кирпич",color:"green"}
execute unless entity @s[tag=bingo_19] run data modify storage bingo:view c19 set value {text:"Кирпич",color:"white"}
execute if entity @s[tag=bingo_20] run data modify storage bingo:view c20 set value {text:"✔ Дубовые доски",color:"green"}
execute unless entity @s[tag=bingo_20] run data modify storage bingo:view c20 set value {text:"Дубовые доски",color:"white"}
execute if entity @s[tag=bingo_21] run data modify storage bingo:view c21 set value {text:"✔ Гладкий камень",color:"green"}
execute unless entity @s[tag=bingo_21] run data modify storage bingo:view c21 set value {text:"Гладкий камень",color:"white"}
execute if entity @s[tag=bingo_22] run data modify storage bingo:view c22 set value {text:"✔ Золотой слиток",color:"green"}
execute unless entity @s[tag=bingo_22] run data modify storage bingo:view c22 set value {text:"Золотой слиток",color:"white"}
execute if entity @s[tag=bingo_23] run data modify storage bingo:view c23 set value {text:"✔ Семена пшеницы",color:"green"}
execute unless entity @s[tag=bingo_23] run data modify storage bingo:view c23 set value {text:"Семена пшеницы",color:"white"}
execute if entity @s[tag=bingo_24] run data modify storage bingo:view c24 set value {text:"✔ Фонарь",color:"green"}
execute unless entity @s[tag=bingo_24] run data modify storage bingo:view c24 set value {text:"Фонарь",color:"white"}
execute if entity @s[tag=bingo_25] run data modify storage bingo:view c25 set value {text:"✔ Ведро лавы",color:"green"}
execute unless entity @s[tag=bingo_25] run data modify storage bingo:view c25 set value {text:"Ведро лавы",color:"white"}
tellraw @s ["",{"nbt":"c1","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c2","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c3","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c4","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c5","storage":"bingo:view","interpret":true}]
tellraw @s ["",{"nbt":"c6","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c7","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c8","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c9","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c10","storage":"bingo:view","interpret":true}]
tellraw @s ["",{"nbt":"c11","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c12","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c13","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c14","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c15","storage":"bingo:view","interpret":true}]
tellraw @s ["",{"nbt":"c16","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c17","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c18","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c19","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c20","storage":"bingo:view","interpret":true}]
tellraw @s ["",{"nbt":"c21","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c22","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c23","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c24","storage":"bingo:view","interpret":true},{"text":"  |  ","color":"dark_gray"},{"nbt":"c25","storage":"bingo:view","interpret":true}]

data/bingo/function/start.mcfunction

/function bingo:start — новая игра для всех: метки и счёт с нуля.

tag @a remove bingo_1
tag @a remove bingo_2
tag @a remove bingo_3
tag @a remove bingo_4
tag @a remove bingo_5
tag @a remove bingo_6
tag @a remove bingo_7
tag @a remove bingo_8
tag @a remove bingo_9
tag @a remove bingo_10
tag @a remove bingo_11
tag @a remove bingo_12
tag @a remove bingo_13
tag @a remove bingo_14
tag @a remove bingo_15
tag @a remove bingo_16
tag @a remove bingo_17
tag @a remove bingo_18
tag @a remove bingo_19
tag @a remove bingo_20
tag @a remove bingo_21
tag @a remove bingo_22
tag @a remove bingo_23
tag @a remove bingo_24
tag @a remove bingo_25
tag @a remove bingo_done
scoreboard players reset * bingo_found
scoreboard players set @a bingo_found 0
scoreboard players set #place bingo_game 0
title @a title {"text":"Бинго","color":"gold"}
title @a subtitle {"text":"Соберите пять в линию"}
execute as @a run function bingo:card

Как играть

  1. Положите датапак в мир

    В одиночной игре — saves/<мир>/datapacks, на сервере — world/datapacks, потом /reload. Лучше — в новый мир: все начинают с пустыми руками.

  2. Начните игру

    /function bingo:start — у всех метки с нуля, карточка — в чат, счёт найденного — сбоку экрана.

  3. Собирайте

    Предмет засчитывается, когда он попал в инвентарь. Пять в линию — «Бинго!» и место в чате.

Что нужно знать

  • Найденное не гаснет. Предмет можно сразу потратить или выбросить: клетка остаётся отмеченной, как в бинго на бумаге.
  • Каждый играет за себя. Метки у каждого игрока свои, «Бинго!» получает каждый, кто собрал линию, а место — по порядку.
  • Одна карточка на всех. Сид и сложность задают карточку целиком: ссылкой на эту страницу друзья увидят ту же самую.
  • Предметы — без многочасовой охоты. Списки собраны вручную: лёгкая — то, что добывают в первые минуты, сложная доходит до алмазов и Незера, но не до Энда.
  • Для 1.21.11 и новее. В карточке только предметы, которые есть и в 1.21.11, — проверка предмета новее не загрузилась бы.

Случайный предмет одним броском — рандомайзер, задания с наградой — квесты, а сервера с мини-играми — в мониторинге.

Частые вопросы

Как играть в бинго в Майнкрафте?

Каждый собирает предметы с карточки 5 × 5. Кто первым соберёт пять в ряд, в столбец или по диагонали — победил. Датапак отмечает найденное сам и объявляет «Бинго!».

Как посмотреть карточку в игре?

Командой /trigger bingo — карточка придёт в чат, найденное — зелёным с галочкой. Права оператора не нужны.

Можно ли играть одной карточкой с друзьями?

Да: карточку задают сид и сложность. Отправьте друзьям ссылку на страницу — они увидят ту же карточку, а датапак у всех один.