Fetchr - Bingo v5
Fetchr is a custom gamemode where you play in survival Minecraft with a 5x5 Bingo board.
Try to collect all 5 items in a line for a quick Bingo or all 25 items for a longer Blackout game as quickly as possible!
Example of a Bingo Card as shown in the Fetchr lobby:
Example of a Bingo Card as shown in the Fetchr lobby:

General information
Fetchr / Minecraft Bingo is quite a simple concept as it builds ontop of the vanilla survival gameplay. You will start with an empty inventory at a random, unknown spawn point within the world and get an experience similar to starting a new survival world.
Your goal is to get items from the Bingo Board. There are multiple goals that are detected by the pack:
- Bingo: All 5 items in any of the rows, columns, or diagonals
- Blackout: All 25 items on the board
- 20 No Bingo: Get 20 items while avoiding any Bingo. This is the maximum number of items that can be obtained without triggering a Bingo and requires careful planning
- Multi Bingo: Obtain multiple Bingos at once. This can be accomplished by obtaining items of two intersecting lines and getting the item at the intersection last, effectively unlocking a combination of 2-4 rows, columns and/or diagonals at once.
You may also play in either (or both at the same time):
- Lockout Mode: Only one team can obtain each item, locking other teams out from scoring it. Once a team has obtained more items than any other team still can, this team will win.
- Blind Mode: The card is not visible and items get revealed as any player gets them. Knowing possible items and mutual exclusivity from the category chests is expected for this mode.
The map will always detect all goals. Don't worry when a Bingo is announced while you want to go for a blackout - just keep going, there is no automatic mechanism that ends the game before you desire to do so.
Download and Installation
This requires a fresh world. You may also use the world version from CurseForge while Modrinth is not yet supporting worlds for an easier installation.
!Don't attempt to use this pack in an existing world!
Singleplayer
- Start the game and select singleplayer
- Make sure you are using the correct Minecraft Version (as indicated at the release you are downloading)
- Select "Create New World"
- Select "Data Packs" and drag the downloaded file into the screen
- Enable the data pack by clicking the arrow and moving it to the right section saying "selected".
- Select "Done"
- If you want to run this competitively, select "More World Options" and enter the seed
91into the text field at the top. This will make sure you get the same spawn points for the same Fetchr seeds as anyone else using this pack. - Select "Create New World"
- You will be prompted to download a resource pack. Download the pack, and enable it via Options -> Resource Packs and enable it like you did with the data pack before.
Multiplayer
- Make sure you are using a supported version (as indicated at the release you are downloading, vanilla, or Fabric with Lithium. Paper/Spigot are not supported.)
- Create a new world on the server and stop the server afterwards.
- Copy the downloaded file into the
datapackssub directory. - Delete the folder called
region. - Make sure the
server.propertiesfile is set according to this file. (For beta versions please look for an updated file in the changelog section)- Note that this file is made for the world version and assumes your world directory is called
Fetchr-5.1. Just ignore thelevel-namesetting - If you already have a custom server.properties, make sure all the settings mentioned in that file are set correctly.
- If you don't have a custom
server.propertiesoverride it with that file (and setlevel-nameto the name of the world folder of your server). When the server starts, all missing settings will be filled with default values
- Note that this file is made for the world version and assumes your world directory is called
- Start the server - everything is setup now.
Updating a previous installation
Always do a backup of your world before updating! There is a chance of corruption
- Make a backup of your previous save file
- Download the datapack
- Delete the old datapack in your saves/
/datapacks directory - Add the new datapack to the directory
Detailed Feature Overview
Custom HUD
While in-game you will have a bunch of custom HUD elements around your hotbar. This utilizes a custom font and does not require any mods.

The HUD can be customized in the Lobby and elements can be moved however you prefer them to be layed out, or individual components can be removed.
Bingo Card
The Bingo card shows all items of the current game and a summary of which team obtained which item so far. Items your own team has already gotten appear a little bit darker. Depending on the amount of teams, this display will be adjusted to fit all teams in.

From the lobby, 10 team colors are available.
Timer
There is a timer that counts up. This allows you to keep track of your time without any third party software. There is no time limit imposed by the map, but you can of course set your own goal. The timer counts real time. The timer icon also represents a functional Minecraft clock, showing the time within the current day

Player position
There is a player position visible which shows the coordinates relative to the spawn point. The coordinates on your F3 screen will be extremely high and hard to parse / communicate, due to the random spawn point. The icon also functions as a regular compass and can be changed to appear like the Minecraft compass icon via the preference settings.
Below the regular coordinates, there is by default also a chunk coordinate display. This is useful during certain times, for example when following a treasure map, the treasure will always be located at chunk coordinates 9 9, or to keep track of chunk boarders if you want to use the Lapis Trick
And below that, there is also a separated Y coordinate display, which is useful when digging down without requiring F3.

Fetchr Seed
Finally, there is a visible display for the Fetchr seed. Like a Minecraft world, where the same seed will generate the same world, the same Fetchr seed will generate the same Bingo Board and the same spawn point. When generating a card, you can choose to manually set a seed instead of generating a random card for competitive races or set-seed runs.

Custom Worldgen
Fetchr uses custom Worldgen to make certain items more reliable in a Bingo run.
Compressed World
Biome sizes are decreased to make finding biome-specific items more fun and reliable, and structure frequencies are increased.
No Nether
Owing to technical limitations with custom worlds, the Nether is disabled.
No Ites
All stone variants that end in -ite have been disabled from generating. This includes diorite, andesite and granite. This was done as a qol change to reduce inventory clutter and make digging for stone consistent.
Granite may still generate as part of copper ore veins.
Ambient lighting
There is a constant lighting factor in the overworld, similarly to the vanilla Nether. This allows seeing in caves clearly without torches.
Game Rule changes
- Weather is always sunny
- Phantoms, wandering traders and patrol spawns (which all work on a world-global timer) are disabled
Credits
Original idea and 1.11 implementation by Lorgon111: http://www.playminecraftbingo.com/
Code Contributors
NeunEinser - Main / Lead developer
Kri5t0fK
UnlucksMcGee
Translators
German by NeunEinser, gbegerow and LawrenceB
Polish by Kri5t0fK
Italian by Loweredgames
Dutch by ThomasToSpace
Portuguese (Brazil) by Draacoun
French by Aurélien
Spanish by Alvaro Orrego and HolaSoyElmo
Chinese (simplified) by 雨夢 YoMon and Sora
Contributing
This project is open source on Github.
Translating
Translations are hosted on Crowdin. Any contributions are appreciated.
If your language is missing, get in touch, and it can be added.
See Translation Help & Guidelines for more information.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
|
R
5.2.2
|
13h ago | 1 | |||
|
R
5.2.1
|
13h ago | 1 | |||
|
R
5.2
|
13h ago | 1 | |||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
|
R
5.1.3
|
13h ago | 1 | |||
|
R
5.1.2
|
13h ago | 1 | |||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
|
R
5.1.1
|
13h ago | 1 | |||
|
R
5.1
|
13h ago | 1 | |||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
| 13h ago | 1 | ||||
|
R
5.0.1
|
13h ago | 1 |
## Changelog
- Updated to 26.3-pre2
- Added “abandoned camp” category (only available in 26.3-snapshot7 and later)
- Added cushion (also part of wool category)
- Added abandoned camp explorer map
- Added burried treasure map to shipwreck category (only available in
- Added straw bed to wheat category
## Changelog
- 26.3-snapshot-1 is now supported
- Removed sulfur cave items
- Added dappled forest items
- Only available in 26.3-snapshot-1
- Added poplar shelf
- Added red shrub
- Added poplar sapling
- Added shelf mushroom (also part of mushroom category)
- Added yellow poplar leaves (also part of shearable category)
- Changes to mushroom category
- Added red mushroom
- Added brown mushroom
- Added shelf mushroom (also part of dappled forest category)
- Note that in 26.3, mushroom stew and suspicious stew can now be crafted with
mushroom.
## Bug Fixes
- Fixed tipped arrows not getting detected in 26.1-snapshot-5 and later
- Fixed dye items showing the updated texture for old minecraft versions
26.2.
## Changelog
- Added compatibility with all versions from 1.21 - 26.2
- When playing in a 26.2 version, sulfur caves can now appear
- Error messages when opening Fetchr in an unsupported Minecraft version now
(e.g. the 26.x download will now say “This pack has been made compatible for
Minecraft versions 26.1 Snapshot 6 to 26.2 Release Candidate 2”, whereas it
is the following for the old format: “This pack has been made compatible for
Minecraft versions 1.21-1.21.10, or up to snapshot 25w44a”)
- Since all development versions are now possible to associate with their
- Adjusted the item pool
- Renamed ”category chests” to “item pool display”
- The item pool chests now have a “Item Pool Display” name in their inventory
- All entities that are connected to another entity connected to the player
## Lobby Update Changes
There are now two world downloads. The one without a version name in their file
name is compatible with all versions, and **must be** used when updating a
old lobby from a Minecraft version prior to 26.1-snapshot-6, in order to apply
the world format changes to your existing save file from that version.
The world download specifically for 26.x should be used to upgrade an existing
world that originates from 26.1-snapshot-6 or later (which for this first beta
should not happen yet, but is relevant for following versions).
## Item Pool Changes
### Sulfur Caves
Added new sulfur caves category which is available in 26.2-snapshot-1 and later.
- Developer's Note**: _Suflur caves are quite a bit rarer compared to lush caves
- Sulfur Bricks
- Polished Cinnabar
- Bucket of Sulfur Cube
- Sulfur Spike
### Gold and Ruined Portal
This category has been removed and split into three smaller categories with a
couple of new entries
### Gold
This category has been split from the previous “Gold and ruined portal” category
- Golden Dandelion (new item available in 26.1-snapshot-5 and later)
- Block of Gold
- Block of Raw Gold
- Golden Axe
- Golden Sword
- Golden Shovel
### Gold with Redstone
This category has been split from the previous “Gold and ruined portal” category
- Powered Rail
- Clock
### Ruined Portal
This category has been split from the previous “Gold and ruined portal” category
- Lodestone (previously only with lodestone compass)
- Magma Block
- Obsidian (Previously only with diamond)
- Netherrack (New item; available in all supported Minecraft versions)
- Nether Brick (New item; available in all supported Minecraft versions)
### Books -> Paper
The “Books” category has been renamed to ”Paper”. Empty Map is intentionally not
included.
- Added Name Tag (available in 26.1-snapshot-2 and later)
### Night Time Mob Drops
- Poison arrow is now only available until version 1.21.11 (25w44a)
- Added Weeakness arrow (available in 1.21.11 (25w44a) and later)
- Also exclusive with Skeleton Drops and Warm Biome items
### Taiga
- Removed Snow from Taiga category.
### Snowy Biomes
- Includes snow
- Includes slowness arrow
### Roots
Removed category and moved all items to new Village category
### Shipwreck loot
- Removed emerald from category
- Added new item “Prismarine Crystals” (available in all Minecraft versions)
### Village
New Category
- Contains all items from the previous ”Roots” category (carrot and potato-
- Emerald is now only in the village category
- Added Bell (available in all versions)
- Developer's Note**: _Bell has been previously tested as part of the 5.0
common in the updated generation. Feedback is appreciated._
### Basic Iron
- Added Iron Spear
## Bug Fixes
- Fixed item pools that featre a category where every item is also part of
category anymore
- Fixed entities getting dismounted during a lobby update
## Technical Changes
- All internal references in function names, storages, scoreboards, tags,
“spawn_preview”
- All internal references in function names, storages, scoreboards, tags,
now been renamed to “target_time”
- Updated structure version of
fetchr:tutorial - Translation keys
fetchr.lobby.tutorial.skybox.sign.line<1..4>and
fetchr.lobby.tutorial.skybox.dummy_card_frame.<item_name> have skyboxchanged to
spawn_preview in their name- Translation key
fetchr.lobby.tutorial.chests.lectern.headinghas been
fetchr.lobby.tutorial.chests.heading- Updated structure version of
fetchr:card_generation - Translation keys
fetchr.settings.points_goal.sign.line1<1..4>,
fetchr.settings.points_goal.lectern.page_<1..2> andfetchr.settings.points_goal.name have points_goal changed totarget_time in their name5.3.3 fixes an oversight where the team name on the points scoreboard did not
show up correctly after generating a new card from the spawn preview
([#317](<https://github.com/NeunEinser/bingo/issues/317>))
## Upgrade a previous release
- Make a backup of your previous save file
- Download the datapack
- Delete the old datapack in your saves/<save>/datapacks directory
- Add the new datapack to the directory
5.3.2 fixes more bugs that didn't get caught before
## Bug fixes
- Fixed blue trimmed boots and tipped arrows still being mis-detected on
- Fixed tipped arrows still being always mis-detected in versions 1.21-1.21.4
- Fixed entities in the lobby being killed during the game start sequence
dimension
- In order to restore the armor stands in the lobby, the tutorial section has
changes to the structure.
## Upgrade a previous release
- Make a backup of your previous save file
- Download the datapack
- Delete the old datapack in your saves/<save>/datapacks directory
- Add the new datapack to the directory
5.3.1 fixes two overlooked issues in 5.3.
## Bug fixes
- Fixed blue trimmed boots not getting detected and any tipped arrow being
certain conditions
- In 1.21-1.21.8 after reloading the world at any point
- In 1.21.9 and 1.21.10 after reloading the world during an active game
- Or if the worldspawn would not be in the lobby dimension for some other
- Fixed armor stands in the lobby tutorial area spawning without equipment in
earlier Fetchr versions (5.3-beta5 or earlier)
- The equipment will be restored when upgrading a world in those cases.
## Upgrade a previous release
- Make a backup of your previous save file
- Download the datapack
- Delete the old datapack in your saves/<save>/datapacks directory
- Add the new datapack to the directory
5.3 brings compatability with all Minecraft versions from 1.21 to 1.21.10,
brings support for updating a save file from a previous version, makes use of
the new dialog system, and as always adds new items available in more recent
Minecraft versions.
## Changelog
- Updated to 1.21.10
- All versions starting from 1.21 are still supported
- It is now supported to update old Fetchr installations to the current release
- Updating version 5.0.1 and prior is not supported and will print an error
- 5.1, all its beta versions, and later is supported.
- Instructions below.
- It is also now always supported to change the Minecraft version without
- Updated the item pool
- Players now receive a spyglass in the spawn preview
- Added custom Fetchr options to main menu
- Added Quick Actions dialog
- Replaced some chat dialogs with new in-game dialogs when playing in 1.21.6 or
- Renamed “Blind Mode” to “Concealed Card”
- Renamed “Points Race” to “Target Time”
- Renamed “Preferences” to “Personal Preferences“ to highlight that these are
- Improved goal completion announcements
- If you win and your team only has one player, all goal announcement title
- When another team with only one player wins, all goal announcement title
got a blackout!”)
- Target Time and Lockout Mode announcements titles now work like other
player name).
- Target Time and Lockout Mode now show a yellow title with a special message
- Target time announcemnt titles now show the number of points the winning
- Target time announcements now have a special title announcement when playing
points”.
- When a team has only a single player, the scoreboard on the right side of the
- Credits for people that do not have a player head block now have a profile
- The worldspawn is no longer set in the overworld
- During a game, it is set to the game dimension
- When the last player returns to the lobby, or when first opening the world,
- This also means compasses will now function like in vanilla and point
- The datapack and resourcepack are now packaged in a way that they should
unsupported version.
- The error messages when playing in an unsupported version now tell you the
- Removed shadow behind icons in custom HUD
- Text still has shadow for readability
- This only applies for Minecraft version 1.21.4 and later.
- This restores the HUD to what it used to look like in 5.0 (1.16)
- In 1.21.9, pvp is now disabled by default using a gamerule
- Removed Twitter link from Community & Support book
- Deactivated random ticks during the spawn preview phase
- Improved performance with team name calculation in spawn preview, and only
- Error logs caused by the datapack have been reduced
- Only creating item frames in Minecraft versions 1.21.4 and lower still
- Resolves [#294](<https://github.com/NeunEinser/bingo/issues/294>)
- Fixed log error on first load due to missing DragonFight compound in
- Error message for spigot is changed.
## Updating a previous installation
Always do a backup of your world before updating! There is a chance of
corruption
- Make a backup
- Download the datapack
- Delete the old datapack
- Copy the new zip file
### More information and caveats
When updating, player-placed blocks are preserved if possible, and dropped if
the original block has changed compared to the new lobby version. If the part of
the lobby has been entirely removed (like the machinery), blocks are dropped at
the lobby spawn, otherwise they are dropped were they used to be placed.
For Fetchr versions that still had the machinery, the lobby will be moved
slightly. In case there is a player-placed structure that partially intersects
with the bounding box of a lobby section, the lobby section including that part
of the player-placed structure will be moved, slicing the player-placed
structure.
If you create a backup, you can safely test how the lobby update treats your
lobby.
Entities that were changed will have their changed data updated, while
preserving any changes that may have been made by the player (like switching the
armor of an armor stand)
## Dialogs
### Quick Actions
A static quick actions dialog can now be accessed when pressing
G by default(see “Quick Actions” keybind in the Miscellenaeous section).
The Quick Actions dialog is only available when playing in Minecraft version
1.21.6 or later.
Quick actions allow:
- Genreate a random card
- A confirmation dialog to end the game will be shown if the player is
- Genreate a card from seed
- A confirmation dialog to end the game will be shown if the player is
- Return to Lobby or Join Game
- If the player is in the lobby, attempts to join a game, otherwise returns to
- Enter Spectator Mode
- During the game, allows to enter spectator mode
- Move Players to Lobby or Spawn Preview
- During an active game, moves all players to the lobby
- When the spawn preview is ready, moves all players to the spawn preview
- Reveal Bingo Card
- During a Concealed Card run, reveals the Bingo Card.
- Change Settings (see below)
- Find links to the issue tracker, Discord, and Map Download sources
Since there is no way to make the Quick Actions screen dynamic, all options will
always be shown, even if they are not releveant.
You can also access the Quick Actions from the Fetchr Options screen, were they
will be dynamically adjusted to only show relevant things.
### Fetchr Options
In version 1.21.6 and later, all settings from the lobby have been added as a
custom main menu entry. You can still change settings in the lobby as well.
[<img src="https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/main_menu_custom_options.png" width="500">](https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/main_menu_custom_options.png)
[<img src="https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/fetchr_options.png" width="500">](https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/fetchr_options.png)
### Game Settings
The game settings dialog lets you change all settings you can also access in the
lobby:
[<img src="https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/game_settings_dialog.png" width="500">](https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/game_settings_dialog.png)
The settings screen is be reduced when in single player just like the lobby is.
On a server, you may be prompted to confirm your operator status first before
being able to access this menu if operator-only controls are enabled.
### Confirm Operator status
In version 1.21.6 and later, the prompt to confirm your operator status is now
implemented as a dialog.
Additionally, the game now remembers the action you tried to perform and upon
successful confirmation executes that action without the need to click the same
sign again.
[<img src="https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/confirm_operator_status_dialog.png" width="500">](https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/confirm_operator_status_dialog.png)
### Generate Card from Seed
In version 1.21.6 and later, setting a seed is now done from a dialog. If you
prefer, you can still directly use
/trigger fetchr.seed set <seed> as wellwhile in the lobby or the spawn preview area.
[<img src="https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/set_seed_dialog_final.png" width="500">](https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/set_seed_dialog_final.png)
### Target Time
In version 1.21.6 and later, setting a target time (previously “Points Race”)
now happens through a dialog.
[<img src="https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/target_time_dialog.png" width="500">](https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/target_time_dialog.png)
### Pre-generation Radius
In version 1.21.6 and later, the selection of the area to pre-generate is now
implemented as a dialog.
[<img src="https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/pre_generation_radius_dialog.png" width="500">](https://raw.githubusercontent.com/NeunEinser/bingo/refs/tags/5.3/images/5.3/pre_generation_radius_dialog.png)
## Item Changes
### Leather Items
- Added Yellow Harness
- Only available in 1.21.6 and later
- Added Saddle
- Only available in 1.21.6 and later
- Now craftable with 3 leather and 1 iron
### Lodestone
- New category
- Only available when playing 1.21.5
- Added Lodestone
- was changed in 1.21.5 to use an iron ingot instead of netherite
- Added Lodestone compass
- Also mutually exclusive with compass and map
- Likelihood is split with compass in that category, making map still as
### Swamp
- New Category
- Only available when playing 1.21.5
- Contains existing items: slime ball, sticky piston, leash and poison arrow
- Added firefly bush
### Warm Biomes
- Added dead bush to this category (previously only categorized as "shearable")
- Added Cactus Flower
- Only available when playing 1.21.5
- Added Short dry grass
- Only available when playing 1.21.5
- Also added to the shearables category
### Miscellaneous
- Added bush
- Only available when playing 1.21.5
- Mutually exclusive with other shearable items
- Replaced pale moss block with pale moss carpet
- This is to make it easier to distinguish from tuff and other gray blocks
- Replaced moss carpet with moss block
- Cannot be found in mangrove swamps, and only shipwreck food chests and lush
- Added copper lantern to the copper category
- Only available in 1.21.9 or later
- Lead categories now depend on the Minecraft version
- Moved lead from slime category to spider category in 1.21.6 and later
- Now craftable with an additional string instead of slime ball in these MC
- Replaced blue trimmed leather boots with blue trimmed golden boots or blue
- This is to offset the leather usage from some of the newly added items
## Worldgen
- Made armadillos more likely in badlands in 1.21.5
- Badlands can now spawn some warm farm animal variations, were previously
- This was adjusted the same way as savanna previously, meaning armadillos
- Worldgen is updated to match 1.21.5 when playing in this version
- Most notably, pale gardens spawn about twice as often now
## Blind Mode -> Concealed Card
“Blind Mode” has been renamed to “Concealed Card”. This is to diambiguate it
with weekly “blind” seed challenges, which are played without knowing the card
beforehand.
## Bug Fixes
- Fixed lockout mode when playing with one team causing the colored card
- Fixed players of the yellow team always getting the “Loser” notification when
- Fixed error chat spam not showing up when playing in a version that's too old
- Fixed resource pack check sign when joining a server for the first time with
([#241](<https://github.com/NeunEinser/bingo/issues/241>))
- Fixed players not being assigned correctly when multiple buttons are pressed
- Fixed compass player position icon showing colors that are slightly off (due
- Fixed lodestone compass spinning in the spawn preview
- Fixed github link in the Community & Support book going to NeunEinser/fetchr
([#266](<https://github.com/NeunEinser/bingo/issues/266>))
- Fixed pre-generation and target time signs not updating immediately after
- Fixed additional spaces in configure custom HUD chat menu
- Fixed scaffoldings dropping when reloading (or regenerating the item pool
([#301](<https://github.com/NeunEinser/bingo/issues/301>))
## Technical changes
- It is now fully supported for extension packs to alter or add to the lobby.
- During a lobby update, all marker entities inside a lobby structure may be
- The topmost item pool display chest is no longer forced to be a double chest,
- Most of the data and resource pack are now disabled when playing in an
- The only exception to this is the languages from the resource pack, and the
- Everything in the build datapack and resoucepack is now part of an overlay
data and assets directories, with theexception of language files.
- The HUD now updates after every reload and applies changes to selected
to existing player's HUDs as of now
- Images in the resourcepack are saved more efficiently now and have metadata
- Release files now are generated with consistent meta contents, resulting in
### Registering a lobby structure
- Use fetchr:registries structures
id- (namespaced id) The id of your structure fileoverride_id(optional, namespaced id) Should be left empty for structures
vanilla Fetchr) with a different structure file you define.
version(int) The numeric version of the structure. Should be changed
This should be unique for the combination of
id and override_id.entrance_positionint array of length 3. Indicates the position of this
not supported to have any blocks in front of the entrance.
after_structure(optional, namespaced id) The id of the structure to place
known structure. If set, this structure will be placed after the existing
structure, or a structure that has set the same
after_structure.This should _not_ be set to a structure of your own pack. The order of your
structures will be preserved. If you want to insert a structure after one of
your own structures, simply set it to the same
after_structure as the otherstructure and register it later.
Removing a structure after it has been added is fully supported (e.g. if your
pack is uninstalled).
###
#fetchr:lobby_update/manipulate_special_block & #fetchr:has_special_lobby_update_behavior tagsDuring a lobby update, if a block was changed in your structure, this change
will be applied to the existing structure. In case this block has been altered
by the player, it will be dropped. This will do a strict comparision, including
nbt data and block states.
In some cases this can be too strict. For example, vanilla fetchr handles doors
and player heads specially, and makes sure doors that were only opened or
closed, and player heads that have additional data from a previous minecraft
version when profile data was still resolved and saved on the block are treated
equally.
You can add blocks you want to handle specially to the
#fetchr:has_special_lobby_update_behavior block tag. If you do this, in casethis block is detected altered, functions in the function tag
#fetchr:lobby_update/manipulate_special_block will be called.#fetchr:lobby_update/manipulate_special_block context:- location: This function will be executed at the location of the old block that
and the previous unaltered structure
- macro arguments:
reference_x: The x location of the reference. The reference is an
block
You may alter either the block at the reference or the block that is compared
against to make them equal, preventing the block in the lobby from being
dropped.
You should check whether both the block in the reference and the old block are
a block you want to handle.
###
#fetchr:lobby_update/manipulate_updated_entityThis function tag can be used to do additional changes to an entity after it
has been updated.
Context:
- current entity (@s): The entity that has been updated
- location: The location of the entity
@e[tag=fetchr.current_new]: The unaltered new entity as it is defined in
###
#fetchr:lobby_update/add_legacy_structuresThis function tag can be used to update a lobby of an older version of fetchr.
You do not need this for updating structures when using this version of Fetchr
or beyond. This is only for updating lobbies from 5.1-beta1 - 5.3-beta5.
Add the structures that would have been there in your version configured
correctly to storage
io.fetchr:structures structures.id should be the namespaced id of the structure which matches the structurefile of the new structure.
entrance_position should be the entrance position according to the oldstructure
legacy_id should be the id of the structure file which produces the structureas it has been part of the old lobby
###
#fetchr:lobby/generatedThis function tag is called after the lobby has been genreated either for the
first time, or a lobby update has been completed.
Use this to e.g. spawn marker entities. Make sure your marker entity doesn't
exist already from a previous generation.
You should also run this function when your datapack is loaded for the first
time and the score
$lobby_genreated in fetchr.state equals 4.### Other new function tags
#fetchr:goal_and_item_detection/achieved_goal: Any goal has been achieved@s: Player who got the last item@a[tag=fetchr.in_current_team]: Players who are in the team achieving the
- storage
io.fetchr:find_team current_teamthe current team data #fetchr:goal_and_item_detection/achieved_20_no_bingo@s: Player who got the last item@a[tag=fetchr.in_current_team]: Players who are in the team achieving the
- storage
io.fetchr:find_team current_teamthe current team data #fetchr:goal_and_item_detection/achieved_bingo@s: Player who got the last item@a[tag=fetchr.in_current_team]: Players who are in the team achieving the
- storage
io.fetchr:find_team current_teamthe current team data #fetchr:goal_and_item_detection/achieved_blackout@s: Player who got the last item@a[tag=fetchr.in_current_team]: Players who are in the team achieving the
- storage
io.fetchr:find_team current_teamthe current team data #fetchr:goal_and_item_detection/achieved_lockout@s: Player who got the last item@a[tag=fetchr.in_winning_team]: Players who are in a team winning the
- storage
io.fetchr:find_team current_teamthe current team data #fetchr:goal_and_item_detection/finished_points_race: The points race ended.@a[tag=fetchr.in_winning_team]: All players who were in a winning team#fetchr:goal_and_item_detection/item_detected: A player got an item that is
@s: The player who got the item@a[tag=fetchr.in_current_team]: All players who are in@s' teamio.fetchr:find_team current_team: Team id color, and other team data- Macro parameters according to
::fetchr::storages::card::CardSlot - Slot information also available in storage using a macro as
fetchr:card slots[$(slot_id)]#fetchr:goal_and_item_detection/item_get_announced: Player @s got
@s: The player who got the item@a[tag=fetchr.in_current_team]: All players who are in@s' teamio.fetchr:find_team current_team: Team id color, and other team data- Macro parameters according to
::fetchr::storages::card::CardSlot - Slot information also available in storage using a macro as
fetchr:card slots[$(slot_id)]#fetchr:game/tickTicking function that is called while a game is in
#fetchr:lobby/tick: Ticking function that is called while the lobby is
#fetchr:spawn_preview/tick: Ticking function that is called while the spawn
#fetchr:lobby/tick: Ticking function that is called while the lobby is
#fetchr:player_tick: Ticking function that is called for every player@s: The current player who is in the lobby- Position: Function is executed at the player's location
#fetchr:game/player_tick: Ticking function that is called for every player
@s: The current player who is playing in the game- Position: Function is executed at the player's location
#fetchr:lobby/player_tick: Ticking function that is called for every player@s: The current player- Position: Function is executed at the player's location
#fetchr:spawn_preview/player_tick: Ticking function that is called for every
@s: The current player who is in the spawn preview- Position: Function is executed at the player's location
#fetchr:spawn_preview/created: The spawn preview area has been created- Position: Function executed at the center of the spawn preview
#fetchr:spawn_preview/player_entered: Player entered the spawn preview
@s: Player who entered- Position: Function executed at spawn preview center
#fetchr:spawn_preview/teleported_all_players: All players have been
@s: Player who triggered the teleport#fetchr:spawn_preview/joined_team: During the spawn preview phase, a player
@s: Player who joined the team- Team color available from @s[team=fetchr.color] from this point onward.
#fetchr:start_sequence/start_sequence: The “start game” sign has just been
@s: Player who activated the sequence- Position: The center of the spawn preview
#fetchr:start_sequence/players_start_falling: Players start falling as part
- @e[type=minecraft:marker, tag=fetchr.spawn, limit=1]: Marker for position
#fetchr:start_sequence/all_players_landed: Players landed as part of the
- Position: The location on the ground that will become the spawn point.
#fetchr:start_sequence/advance_countdown: Countdown before a game starts
- @e[type=minecraft:marker, tag=fetchr.spawn, limit=1]: Marker at the location
#fetchr:start_sequence/countdown_ended: The countdown ended and the game
- Position: The location on the ground that will become the spawn point.
#fetchr:game/ended: A card generation was requested, and the current game
generation will take place after this tag has been called.
#fetchr:game/revealed_concealed_card: While the concealed card setting is
@s has revealed the card.#fetchr:game/joined_as_spectator: Player@shas entered a running game as
#fetchr:dialog/add_to_quick_actions: The dynamic Quick Actions dialog
Use this tag to add your own Quick Actions.
Note that this is not related to the Quick Actions dialog accessible from the
G hotkey- storage
io.fetchr:dialog dialog: The dialog to show to the user. This is
multi_action dialog.#fetchr:lobby/player_returned: Player@shas returned to the lobby#fetchr:lobby/teleported_all_players: All players have been forcefully
@s: Player who activated the teleport#fetchr:confirmed_operator_status: Player@shas successfully confirmed
#fetchr:lobby/before_item_pool_chest_incremented: During item pool chest
- Position: The location at the bottom of the chest stack and the lower z
- Macro parameter
height: The current height of the chest stack #fetchr:lobby/item_pool_chest_incremented: During item pool chest
- Position: The location at the bottom of the chest stack and the lower z
- Macro parameter
height: The current height of the chest stack #fetchr:lobby/item_pool_chests_generated: The item pool chest generation has
- Position: The location at the bottom of the chest stack and the lower z
#fetchr:hud_component_updated: A HUD component has been updated after a
versions of your pack being updated
- storage
io.fetchr:custom_hud custom: The custom part of the component. #fetchr:item_pool_changed: The item pool has changed.
### Item pool registrations
- Removed
fetchr:negated_componentitem_test - Added
fetchr:component_existsitem_test also supporting negated funcionality - Category lists now support a mixed typed list
####
fetchr:component_exists item_testNew item test that can bes specified in the item pool to check for an item
component to exist
- Requires the item component to exist on this item, with any contents
id- The item component idnegated- Optional. When set totrue, requires the component to **not**
fetchr:negated_component)### Heterogeneously typed category lists
When registering items, category lists can now be heterogeneous in 1.21.5 (in
1.21.4, this would be an SNBT syntax error)
This means instead of specifying a compound with only an id and no weight, you
can now always specify a string, even when there is another compound in the same
list
For example,
[ {id: "fetchr:pumpkin" }, {id: "fetchr:egg", weight: 2 } ] cannow be written as
[ "fetchr:pumpkin", {id: "fetchr:egg", weight: 2 } ]### Text Components
In accordance with the 1.21.5 changes, text components are now in SNBT format
and no longer stored as stringified JSON in Minecraft versions 1.21.5 and
later
This affects all storages that stored text components before.
## Bug Fixes
- Fixed blue trimmed golden boots showing up as copper boots in 1.21-1.21.4
- Fixed blue trimmed golden boots showing as a blank tile in 1.21.5-1.21.8
## Bug Fixes
- Fixed item pool generation not waiting until marker in lobby is loaded
- This would cause card generation to be completely broken on servers after
- Fixed some remaining error logs caused by item frames on initial load
- Fixed item pool being generated twice on initial load
- This didn't actually cause any visible bugs, but was just unnecessary.
- Fixed spawn preview generating too high when generating a card from seed
## Changelog
- Improved performance with team name calculation in spawn preview, and only
- Updated pack and world icon to align with the new seed generation
## Bug Fixes
- Fixed a critical bug were the item pool was re-generated every tick, causing
appearing automatically
- Actually fixed clock still spinning in game dimension
- Fixed setting signs potentially getting desynced after a lobby update
- Fixed pre-generation and target time signs not updating immediately after
- Fixed versions prior to 1.21.5 showing a non-existing translation string for
## Changelog
- The worldspawn is no longer set in the overworld
- During a game, it is set to the game dimension
- When the last player returns to the lobby, or when first opening the world,
- This also means compasses will now function like in vanilla and point
- Added Links to issue tracker, discord, and map downloads to the custom options
- Added settings button to quick action menu
- Error logs caused by the datapack have been reduced
- Only creating item frames in Minecraft versions 1.21.4 and lower still
- Resolves [#294](<https://github.com/NeunEinser/bingo/issues/294>)
- Error messages for lobby update failure and spigot are changed.
- Changed order of special thanks
- Added profile picture for Lluís
## Upgrade a previous release
- Make a backup of your previous save file
- Download the datapack
- Remove the old data pack in your save file
- Add the new data pack
## Technical Changes
#fetchr:goal_and_item_detection/item_gottenrenamed to
#fetchr:goal_and_item_detection/item_detected- No longer has team information available as macro arguments
- Team information is now only available in
io.fetchr:find_team current_team - Now has macro arguments according to mcdoc definition
::fetchr::storages::card::CardSlot- Slot information also available in storage using a macro as
fetchr:card slots[$(slot_id)]#fetchr:goal_and_item_detection/item_gotten_and_card_updatedrenamed to
#fetchr:goal_and_item_detection/item_get_announced- No longer has team information available as macro arguments
- Team information is now only available in
io.fetchr:find_team current_team - Now has macro arguments according to mcdoc definition
::fetchr::storages::card::CardSlot- Slot information also available in storage using a macro as
fetchr:card slots[$(slot_id)]#fetchr:goal_and_item_detection/item_get_announced#fetchr:spawn_preview/created- Now executed at the center of the preview instead of the lower xyz
fetchr:start_sequence/countdown_ended- Will now always be executed at the correct y coordinate
#fetchr:start_sequence/advance_countdown- @e[type=minecraft:marker, tag=fetchr.spawn, limit=1]: Will now be located at
#fetchr:lobby/before_item_pool_chest_incremented- Now includes
heightas a macro parameter #fetchr:lobby/item_pool_chest_incremented- Now includes
heightas a macro parameter
## Bug Fixes
- Fixed Spigot dection not working
- Fixed some signs in the lobby not updating continously to reflect resourcepack
([#306](<https://github.com/NeunEinser/bingo/issues/306>))
- Fixed settings from HUD components from old versions not updating correctly
- Fixed piston and sticky piston no longer being turned towards the player in
- Fixed spectators carrying items that are on the card from the lobby counting
- Fixed team name not showing at all on the sidebar in Minecraft versions 1.21.4
- Fixed initial falling during world load in single player
## Changelog
- Renamed “Points Race” to “Target Time”
- Improved goal completion announcements
- If you win and your team only has one player, all goal announcement title
- When another team with only one player wins, all goal announcement title
got a blackout!”)
- Target Time and Lockout Mode announcements titles now work like other
player name).
- Target Time and Lockout Mode now show a yellow title with a special message
- Target time announcemnt titles now show the number of points the winning
- Target time announcements now have a special title announcement when playing
points”.
- When a team has only a single player, the scoreboard on the right side of the
- The update error message now additionally shows below each resource pack check
## Bug Fixes
- Fixed update error message showing on servers for players joining the server
- Fixed generating a card from a seed not working in the lobby on a dedicated
- Fixed players of the yellow team always getting the “Loser” notification when
- There is now an error message when duplicate entities are detected after a
- Please backup your world before upgrading, even if it is not important to
- Deactivated random ticks during the spawn preview phase
- The function tag
#fetchr:spawn_preview/player_tickis now executed at the
## Upgrade an existing world
- Make a backup of your previous save file
- Download the datapack
- Remove the previous datapack
- Add the new datapack
## Bug Fixes
- Fixed timer being reset on world reload (Workaround for
- This will not work when upgrading a world that had an active run from
- Fixed marked item frames from the lobby not getting copied correctly to the
- Fixed resource pack download prompt missing some spaces
- Fixed button to enter the “Advanced Settings” door in multiplayer not
- It will still be missing if you opened this world in pre1, just place it
- Fixed
#fetchr:goal_and_item_detection/item_gottenfunction tag not loading
- Fixed the wrong chat message showing when switching lobby gamemode
## Changelog
- It is now supported to update old Fetchr installations to the current release
- Updating version 5.0.1 and prior is not supported and will print error
- It is now always supported to change the Minecraft version without
- Added Quick Actions dialog
- Credits for people that do not have a player head block now have a profile
- It is now fully supported for extension packs to alter or add to the lobby.
- Images in the resourcepack are saved more efficiently now and have metadata
- The topmost item pool display chest is no longer forced to be a double chest,
- Compatibility warning spam will show in all past and future versions now, even
from loading
- Most of the data and resource pack are now disabled when playing in an
- The only exception to this is the languages from the resource pack, and the
- The HUD now updates after every reload and applies changes to selected
to existing player's HUDs
## Updating a previous installation
Always do a backup of your world before updating! There is a chance of
corruption
- Download the world download
- Unzip the zip file
- Copy and replace all files from the world download in your save file
When updating, player-placed blocks are preserved if possible, and dropped if
the original block has changed compared to the new lobby version. If the part of
the lobby has been entirely removed (like the machinery), blocks are dropped at
the lobby spawn, otherwise they are dropped were they used to be placed.
For Fetchr versions that still had the machinery, the lobby will be moved
slightly. In case there is a player-placed structure that partially intersects
with the bounding box of a lobby section, the lobby section including that part
of the player-placed structure will be moved, slicing the player-placed
structure.
If you create a backup, you can safely test how the lobby update treats your
lobby.
Entities that were changed will have their changed data updated, while
preserving any changes that may have been made by the player (like switching the
armor of an armor stand)
## Quick Actions Dialog
A static quick actions dialog can now be accessed when pressing
G by default(see “Quick Actions” keybind in the Miscellenaeous section).
The Quick Actions dialog is only available when playing in Minecraft version
1.21.6 or later.
Quick actions allow:
- Genreate a random card
- A confirmation dialog to end the game will be shown if the player is
- Genreate a card from seed
- A confirmation dialog to end the game will be shown if the player is
- Return to Lobby or Join Game
- If the player is in the lobby, attempts to join a game, otherwise returns to
- Enter Spectator Mode
- During the game, allows to enter spectator mode
- Move Players to Lobby or Spawn Preview
- During an active game, moves all players to the lobby
- When the spawn preview is ready, moves all players to the spawn preview
- Reveal Bingo Card
- During a Concealed Card run, reveals the Bingo Card.
Since there is no way to make the Quick Actions screen dynamic, all options will
always be shown, even if they are not releveant.
You can also access the Quick Actions from the Pause Screen, after clicking
“Fetchr Options”. The Quick Actions screen navigated to from this screen behaves
differently and is dynamically generated with only relevant actions visible.
## Profile pictures in the credits room
All signs mentioning player names now display a profile picture if the in-game
name of the creditee is known, and they don't already have a player head
associated with them.
[<img src="/images/5.3/new_translator_credits.png" width="500">](/images/5.3/new_translator_credits.png)
[<img src="/images/5.3/new_special_thanks.png" width="500">](/images/5.3/new_special_thanks.png)
## Technical Changes
- During a lobby update, all marker entities inside a lobby structure may be
- Everything in the build datapack and resoucepack is now part of an overlay and
data and assets directories, with the exceptionof language files.
### Registering a lobby structure
- Use fetchr:registries structures
id- (namespaced id) The id of your structure fileoverride_id(optional, namespaced id) Should be left empty for structures
vanilla Fetchr) with a different structure file you define.
version(int) The numeric version of the structure. Should be changed
This should be unique for the combination of
id and override_id.entrance_positionint array of length 3. Indicates the position of this
not supported to have any blocks in front of the entrance.
after_structure(optional, namespaced id) The id of the structure to place
known structure. If set, this structure will be placed after the existing
structure, or a structure that has set the same
after_structure.This should _not_ be set to a structure of your own pack. The order of your
structures will be preserved. If you want to insert a structure after one of
your own structures, simply set it to the same
after_structure as the otherstructure and register it later.
Removing a structure after it has been added is fully supported (e.g. if your
pack is uninstalled).
###
#fetchr:lobby_update/manipulate_special_block & #fetchr:has_special_lobby_update_behavior tagsDuring a lobby update, if a block was changed in your structure, this change
will be applied to the existing structure. In case this block has been altered
by the player, it will be dropped. This will do a strict comparision, including
nbt data and block states.
In some cases this can be too strict. For example, vanilla fetchr handles doors
and player heads specially, and makes sure doors that were only opened or
closed, and player heads that have additional data from a previous minecraft
version when profile data was still resolved and saved on the block are treated
equally.
You can add blocks you want to handle specially to the
#fetchr:has_special_lobby_update_behavior block tag. If you do this, in casethis block is detected altered, functions in the function tag
#fetchr:lobby_update/manipulate_special_block will be called.#fetchr:lobby_update/manipulate_special_block context:- location: This function will be executed at the location of the old block that
and the previous unaltered structure
- macro arguments:
reference_x: The x location of the reference. The reference is an
block
You may alter either the block at the reference or the block that is compared
against to make them equal, preventing the block in the lobby from being
dropped.
You should check whether both the block in the reference and the old block are
a block you want to handle.
###
#fetchr:lobby_update/manipulate_updated_entityThis function tag can be used to do additional changes to an entity after it
has been updated.
Context:
- current entity (@s): The entity that has been updated
- location: The location of the entity
@e[tag=fetchr.current_new]: The unaltered new entity as it is defined in
###
#fetchr:lobby_update/add_legacy_structuresThis function tag can be used to update a lobby of an older version of fetchr.
You do not need this for updating structures when using this version of Fetchr
or beyond. This is only for updating lobbies from 5.1-beta1 - 5.3-beta5.
Add the structures that would have been there in your version configured
correctly to storage
io.fetchr:structures structures.id should be the namespaced id of the structure which matches the structurefile of the new structure.
entrance_position should be the entrance position according to the oldstructure
legacy_id should be the id of the structure file which produces the structureas it has been part of the old lobby
###
#fetchr:lobby/generatedThis function tag is called after the lobby has been genreated either for the
first time, or a lobby update has been completed.
Use this to e.g. spawn marker entities. Make sure your marker entity doesn't
exist already from a previous generation.
You should also run this function when your datapack is loaded for the first
time and the score
$lobby_genreated in fetchr.state equals 4.### Other new function tags
#fetchr:goal_and_item_detection/achieved_goal: Any goal has been achieved@s: Player who got the last item@a[tag=fetchr.in_current_team]: Players who are in the team achieving the
#fetchr:goal_and_item_detection/achieved_20_no_bingo@s: Player who got the last item@a[tag=fetchr.in_current_team]: Players who are in the team achieving the
#fetchr:goal_and_item_detection/achieved_bingo@s: Player who got the last item@a[tag=fetchr.in_current_team]: Players who are in the team achieving the
#fetchr:goal_and_item_detection/achieved_blackout@s: Player who got the last item@a[tag=fetchr.in_current_team]: Players who are in the team achieving the
#fetchr:goal_and_item_detection/achieved_lockout@s: Player who got the last item@a[tag=fetchr.in_current_team]: Players who are in a team winning the
#fetchr:goal_and_item_detection/finished_points_race: The points race ended.@a[tag=fetchr.in_current_team]: All players who were in a winning team#fetchr:goal_and_item_detection/item_gotten: A player got an item that is on
@s: The player who got the item@a[tag=fetchr.in_current_team]: All players who are in@s' team- Macro parameter
color: The color of the team #fetchr:goal_and_item_detection/item_gotten_and_card_updated: Player @s got
and potentially a goal has been detected and announced.
@s: The player who got the item@a[tag=fetchr.in_current_team]: All players who are in@s' team- Macro parameter
color: The color of the team #fetchr:game/tickTicking function that is called while a game is in
#fetchr:lobby/tick: Ticking function that is called while the lobby is
#fetchr:spawn_preview/tick: Ticking function that is called while the spawn
#fetchr:lobby/tick: Ticking function that is called while the lobby is
#fetchr:player_tick: Ticking function that is called for every player@s: The current player who is in the lobby- Position: Function is executed at the player's location
#fetchr:game/player_tick: Ticking function that is called for every player
@s: The current player who is playing in the game- Position: Function is executed at the player's location
#fetchr:lobby/player_tick: Ticking function that is called for every player@s: The current player- Position: Function is executed at the player's location
#fetchr:spawn_preview/player_tick: Ticking function that is called for every
@s: The current player who is in the spawn preview#fetchr:spawn_preview/created: The spawn preview area has been created#fetchr:spawn_preview/player_entered: Player@sentered the spawn preview
#fetchr:spawn_preview/teleported_all_players: All players have been
#fetchr:spawn_preview/joined_team: During the spawn preview phase, a player
#fetchr:start_sequence/start_sequence: The “start game” sign has just been
#fetchr:start_sequence/players_start_falling: Players start falling as part
#fetchr:start_sequence/all_players_landed: Players landed as part of the
#fetchr:start_sequence/advance_countdown: Countdown before a game starts
#fetchr:start_sequence/countdown_ended: The countdown ended and the game
#fetchr:game/ended: A card generation was requested, and the current game
generation will take place after this tag has been called.
#fetchr:game/revealed_concealed_card: While the concealed card setting is
@s has revealed the card.#fetchr:game/joined_as_spectator: Player@shas entered a running game as
#fetchr:dialog/add_to_quick_actions: The dynamic Quick Actions dialog
Use this tag to add your own Quick Actions.
Note that this is not related to the Quick Actions dialog accessible from the
G hotkey- storage
io.fetchr:dialog dialog: The dialog to show to the user. This is
multi_action dialog.#fetchr:lobby/player_returned: Player@shas returned to the lobby#fetchr:lobby/teleported_all_players: All players have been forcefully
#fetchr:confirmed_operator_status: Player@shas successfully confirmed
#fetchr:lobby/before_item_pool_chest_incremented: During item pool chest
#fetchr:lobby/item_pool_chest_incremented: During item pool chest
#fetchr:lobby/item_pool_chests_generated: The item pool chest generation has
#fetchr:hud_component_updated: A HUD component has been updated after a
versions of your pack being updated
#fetchr:item_pool_changed: The item pool has changed.
## Bug Fixes
- Fixed compass player position icon showing colors that are slightly off (due
- Fixed “This setting will only take affect after generating a new card” hint
([#302](<https://github.com/NeunEinser/bingo/issues/302>))
- Fixed scaffoldings dropping when reloading (or regenerating the item pool
([#301](<https://github.com/NeunEinser/bingo/issues/301>))
## Changelog
- Updated to 1.21.9 release version
- Added custom Fetchr options to main menu
- Added promotion for weekly challenge seeds to “Generate Card from Seed” dialog.
- Release files now are generated with consistent meta contents, resulting in
## Fetchr Options
In version 1.21.6 and later, all settings from the lobby have been added as a
custom main menu entry. You can still change settings in the lobby as well.
[<img src="https://github.com/NeunEinser/bingo/raw/5.3-beta5/images/5.3/main_menu_custom_options.png" width="500">](https://github.com/NeunEinser/bingo/raw/5.3-beta5/images/5.3/main_menu_custom_options.png)
[<img src="https://github.com/NeunEinser/bingo/raw/5.3-beta5/images/5.3/custom_options_dialog.png" width="500">](https://github.com/NeunEinser/bingo/raw/5.3-beta5/images/5.3/custom_options_dialog.png)
### Game Settings
The game settings dialog lets you change all settings you can also access in the
lobby:
[<img src="https://github.com/NeunEinser/bingo/raw/5.3-beta5/images/5.3/game_settings_dialog.png" width="500">](https://github.com/NeunEinser/bingo/raw/5.3-beta5/images/5.3/game_settings_dialog.png)
This settings will be reduced when in single player just like the lobby is.
On a server, you may be prompted to confirm your operator status first before
being able to access this menu if operator-only controls is enabled.
### Quick Actions
This is an upcoming menu which has not been implemented yet.
## Bug Fixes
- Fixed additional spaces in configure custom HUD chat menu
- Fixed items that have additional data not being detected correctly in 1.21.4
## Changelog
- Updated up to snapshot 25w35a (all versions starting from 1.21 are still
- Added dialogs for confirming operator status and pre-generation radius
- When confirming operator status, the action you attempted to perform is now
operator status.
- The points race dialog now uses a step size of 5 minutes rather than 1 minute
- The points race dialog now has a cancel button
- In 25w35a, pvp is now disabled via gamerule
- Removed Twitter link from Community & Support book
## Dialogs
### Confirm Operator status
In version 1.21.6 and later, the prompt to confirm your operator status is now
implemented as a dialog.
Additionally, the game now remembers the action you tried to perform and upon
successful confirmation executes that action without the need to click the same
sign again.
[<img src="https://github.com/NeunEinser/bingo/raw/5.3-beta4/images/5.3/confirm_operator_status_dialog.png" width="500">](https://github.com/NeunEinser/bingo/raw/5.3-beta4/images/5.3/confirm_operator_status_dialog.png)
### Pre-generation Radius
In version 1.21.6 and later, the selection of the area to pre-generate is now
implemented as a dialog.
[<img src="https://github.com/NeunEinser/bingo/raw/5.3-beta4/images/5.3/pre_generation_radius_dialog.png" width="500">](https://github.com/NeunEinser/bingo/raw/5.3-beta4/images/5.3/pre_generation_radius_dialog.png)
### Points Race
The points race dialog now has a cancel button and uses a step size of 5
minutes, rather than 1 minute.
## Bug Fixes
- Fixed lockout mode not announcing the winner
- Fixed github link in the Community & Support book going to NeunEinser/fetchr
([#266](<https://github.com/NeunEinser/bingo/issues/266>))
## Changelog
- Updated to 1.21.9 (?) snapshot 25w33a
- Adjusted item pool for new Minecraft version
- Replaced some chat dialogs with new in-game dialogs when playing in 1.21.6 or
- Renamed “Preferences” to “Personal Preferences“ to highlight that these are
## Item Changes
### Leather Items
- Added Yellow Harness
- Only available in 1.21.6 and later
- Added Saddle
- Only available in 1.21.6 and later
- Now craftable with 3 leather and 1 iron
### Miscellaneous
- Added copper lantern to the copper category
- Only available in 25w32a or later
- Lead categories now depend on the Minecraft version
- Moved lead from slime category to spider category in 1.21.6 and later
- Now craftable with an additional string instead of slime ball in these MC
- Replaced blue trimmed leather boots with blue trimmed golden boots or blue
- This is to offset the leather usage from some of the newly added items
## Dialogs
### Set Seed Dialog
When playing in Minecraft version 1.21.6 or later, instead of the chat dialog,
a Minecraft dialog will show now to set the seed:
[<img src="https://raw.githubusercontent.com/NeunEinser/bingo/0b4b8b0a9ada0b66a88661251888b36e2511cf21/images/5.3/set_seed_dialog.png" width="500">](https://raw.githubusercontent.com/NeunEinser/bingo/0b4b8b0a9ada0b66a88661251888b36e2511cf21/images/5.3/set_seed_dialog.png)
### Points Race Dialog
When playing in Minecraft version 1.21.6 or later, instead of the chat dialog,
a Minecraft dialog will show now to set points timer:
[<img src="https://raw.githubusercontent.com/NeunEinser/bingo/0b4b8b0a9ada0b66a88661251888b36e2511cf21/images/5.3/points_race_dialog.png" width="500">](https://raw.githubusercontent.com/NeunEinser/bingo/0b4b8b0a9ada0b66a88661251888b36e2511cf21/images/5.3/points_race_dialog.png)
## Bug Fixes
- Fix being unable to pick up tossed spyglass in Skybox when spam dropping
- Fix an issue where entities were un-frozen when picking a previously generated
- Fixed card frames in the lobby and skybox sometimes having a desynced rotation
([#273](https://github.com/NeunEinser/bingo/issues/273))
- Fix server.properties being generated with
resource-pack-sha1=None
- Fixed log error on first load due to missing DragonFight compound in level.dat
## Changelog
- Updated to 1.21.5 release
- Players now receive a spyglass in the skybox
- Removed blue egg
- Removed shadow behind icons in custom HUD
- Text still has shadow for readability
- This only applies for Minecraft version 1.21.4 and later.
- This restores the HUD to what it used to look like in 5.0 (1.16)
- The map will no longer attempt to initialize in an unsupported version
- The error messages for playing in an unsupported version are more helpful and
## Bug Fixes
- Fixed resource pack check sign when joining a server for the first time with
([#241](<https://github.com/NeunEinser/bingo/issues/241>))
- Fixed players not being assigned correctly when multiple buttons are pressed
- Fixed the "join game" sign not working from the front
- Fixed lodestone compass spinning in the skybox
- ⚠️ While both 1.21-1.21.4 and 1.21.5 snapshots are supported, upgrading a world from
Version 5.2.3 updates the map to Minecraft version 1.21.5 and adds some new
items
## Changelog
- Updated to 1.21.5
- All versions starting from 1.21 are still supported
- Snapshots 25w02a - 25w09a are unsupported
- Because of issues in earlier snapshots, you need snapshot 25w09b or later
- Updated the item pool
- Updated Worldgen for 1.21.5
- The entire tick logic besides the error chat spam is no disabled when playing
- Renamed Blind Mode to Concealed Card
- Technical changes
## Item Changes
### Lodestone
- New category
- Only available when playing 1.21.5
- Added Lodestone
- was changed in 1.21.5 to use an iron ingot instead of netherite
- Added Lodestone compass
- Also mutually exclusive with compass and map
- Likelihood is split with compass in that category, making map still as
### Swamp
- New Category
- Only available when playing 1.21.5
- Contains existing items: slime ball, sticky piston, leash and poison arrow
- Added firefly bush
### Warm Biomes
- Added dead bush to this category (previously only categorized as "shearable")
- Added Cactus Flower
- Only available when playing 1.21.5
- Added Short dry grass
- Only available when playing 1.21.5
- Also added to the shearables category
### Miscellaneous
- Added blue egg
- Only available when playing 1.21.5
- Mutually exclusive with other egg items
- Shares probability with normal egg
- Added bush
- Only available when playing 1.21.5
- Mutually exclusive with other shearable items
- Replaced pale moss block with pale moss carpet
- This is to make it easier to distinguish from tuff and other gray blocks
- Replaced moss carpet with moss block
- Cannot be found in mangrove swamps, and only shipwreck food chests and lush
## Worldgen
- Made armadillos more likely in badlands in 1.21.5
- Badlands can now spawn some warm farm animal variations, were previously
- This was adjusted the same way as savanna previously, meaning armadillos
- Worldgen is updated to match 1.21.5 when playing in this version
- Most notably, pale gardens spawn about twice as often now
## Blind Mode -> Concealed Card
"Blind Mode" has been renamed to "Concealed Card". This is to diambiguate it
with weekly "blind" seed challenges, which are played without knowing the card
beforehand.
## Technical changes
- Text components are no longer stringified
- Removed
fetchr:negated_componentitem_test - Added
fetchr:component_existsitem_test - Category lists now support a mixed typed list
### Text Components
In accordance with the 1.21.5 changes, text components are now in SNBT format
and no longer stored as stringified JSON.
This affects all storages that stored text components before.
###
fetchr:component_exists item_testNew item test that can bes specified in the item pool to check for an item
component to exist
- Requires the item component to exist on this item, with any contents
id- The item component idnegated- Optional. When set totrue, requires the component to **not**
fetchr:negated_component)### Heterogeneously typed category lists
When registering items, category lists can now be heterogeneous in 1.21.5 (in
1.21.4, this would be an SNBT syntax error)
This means instead of specifying a compound with only an id and no weight, you
can now always specify a string, even when there is another compound in the same
list
For example,
[ {id: "fetchr:pumpkin" }, {id: "fetchr:egg", weight: 2 } ] cannow be written as
[ "fetchr:pumpkin", {id: "fetchr:egg", weight: 2 } ]## Bug Fixes
- Fixed lockout mode automatically being disabled when playing with one team
- Fixed error chat spam not showing up when playing in a version that's too old
entities to stay frozen when altering render distance before the game starts.
This version is fully compatible with 5.2 and 5.2.1, meaning you can keep the
same server config and just replace the datapack without replacing the world.
## Bug Fixes
- Fixed entities outside of render distance staying frozen when lowering render
to be swapped and mangled after playing multiple runs. You are highly encouraged
to update.
This version is fully compatible with 5.2, meaning you can keep the same server
config and just replace the datapack without replacing the world.
## Bug Fixes
- Fixed spawn marker not being cleared properly after a run, causing
## Changelog
- The targeted Minecraft version is now 1.21-1.21.4
- Added new items and changed categories of existing items
- Worldgen Tweaks
- Armadillos are more common to generate in savanna biomes compared to vanilla
- Items taken from the game that include an inner inventory now return their
- This includes bundles, shulker boxes and loaded crossbows
- Item get messages in chat now contain a tooltip with the exact item that was
- Improved category chest
- Improved big lobby & skybox card interaction
- Creepers and tnt no longer cause damage in the lobby
- Technical Improvements and better Performance
- Removed machinery as command blocks are no longer necessary
- Command blocks are no longer required to be enabled in a server environment
- Updated translations from Crowdin
- 1EEFEzBzXBZzUPzCSJOHzNPSFzNPCTzUPzUIFzMPCCZAz3BNFMT1SFiIF2FTUAz7PzUPzUIFzHJUIVCAz7PzUPzDPEFAz3MJDLzPOzUIFzJNBHFTzEJSFDUPSZAziBLFzBzMPPLzBUzuArAz8PQFzUIJTzIFMQTAzLBZzCZF
- sorry this got corrupted
- dont worry about it
- possible characters are
[a-zA-Z0-9 .]
## Item Changes
### Roots
New category "Roots" with:
- Carrot
- Golden Carrot
- Carrot on a Stick
- Baked Potato
### Armadillo
New "Armadillo" Category with:
- Armadillo Scute
- Wolf Armor
### Pale Garden
New category "Pale Garden"
These items are only available when playing in 1.21.4
- Pale Moss Block
- Closed Eyeblossom
- Open Eyeblossom
- Pale Hanging Moss (also mutually exclusive with shear items)
- Resin Clump (also mutually exclusive with nighttime mob drops)
- Chiseled Resin Bricks (also mutually exclusive with nighttime mob drops)
- Creaking Heart (also mutually exclusive with nighttime mob drops)
### Other new items
- Jungle Sapling as part of the jungle category
- White Stained Glass exclusive with glass bottle and orange concrete
- Brown Banner as part of the wool category
- Light Blue Bundle as part of the leather category
- This is only active in 1.21.2 or higher
- Added Poison arrow which splits its weight with slowness arrow
### Changes
- Book items have been separated from the leather category and are no longer
- Tnt and Tnt Minecart are no longer exclusive with glass bottle and orange
- Saplings are no longer mutually exclusive
- Mangrove propagule is exclusive with mud items
- spruce sapling is exclusive with sweet berries, fern and snow
- acacia is exclusive with cactus green, lime dye and sea pickle
- dark oak is exclusive with apple and golden apple
### Removed Items
- Birch sapling
- Golden hoe, golden pickaxe
- Diamond shovel, diamod axe, diamond sword
The variety in gold and diamond tools was reduced to make blind runs need to
craft fewer of them.
## Lobby & Skybox
- The machinery is gone, as command blocks are no longer needed
- Removed the floating property in front of the big lobby & skybox card
- The reach to interact with item frames and other entities is now increased
- Item chests in the lobby now show the global item weight.
- Item chests in the lobby now generate with scaffolding and make the room grow
shorter, for example.)
## Worldgen Tweaks
- Buried treasure is now more common like other structures
- This means map chests are now less likely to have no map
- Buried treasure will generally be closer to their map
- Pillager outposts now require less distance from villages
- Trial chambers are more common, just like other structures in Fetchr
- Creaking heart frequency in pale oak trees has been increased compared to
## Technical Changes
- Overhauled item registration card generation and item detection with new
### Item Registration
Item registration has been overhauled and existing forks that change the item
pool will need to update to the new system.
textComponenthas been removedclearCommandhas been removeddetectCommandhas been removediconis no longer a text component and instead the 4 digit hex code of the
icon_fontspecifies a own custom font to use for this item. Can be used to
actionbarA list of 5 font definitions to use for the card displayed in
and needs to have the corresponding ascend value set. Reference the vanilla
Fetchr assets.
translationNew property for the translation key of the itemitem_testsOptional. Can be used for custom item tests.typesee blow- Type specific fields (see below)
#### Item Tests
Item tests can be used to further specify an item or override default behavior.
By default, any item in the
item field will match, including any definedcomponents.
If
item_tests is specified the components of the item definition will beignored for testing purposes and only be used to construct a display item
for the item frame card or the category chests.
fetchr:component**
idThe data component idcomponentThe component valuefetchr:negated_component**
idThe data component idfetchr:predicate**
idThe item sub predicate typepredicateThe predicate data
At runtime, this will be parsed together with the item id into a command item
argument.
For example this definition would leather boots with a blue shaper trim which is
not shown in the tooltip and a custom lore text whenever it is displayed, and
any leather boots that have any kind of blue trim would match:
``
js
{
item: {
id: "minecraft:leather_boots",
components: {
"minecraft:trim": {
pattern: "minecraft:shaper",
material: "minecraft:lapis",
show_in_tooltip: false
},
"minecraft:lore": [
'{"translate": "item.minecraft.smithing_template.upgrade", "color": "gray", "italic": false}',
'[" ", {"translate": "fetchr.item.description.any_trim", "color": "#406d95", "italic": false}]',
'[" ", {"translate": "trim_material.minecraft.lapis", "color": "#406d95", "italic": false}]'
]
}
},
item_tests: [
{
type: "fetchr:predicate",
id: "minecraft:trim",
predicate: {material: "minecraft:lapis" }
}
]
}
`
When testing the item id together with the specified item tests would check for
minecraft:leather_boots["minecraft:trim"~{material:"minecraft:lapis"}]
### Renamed properties in storages
Properties in the item storage and the card storage have been renamed to follow
snake_case convention.
### Item Detection & Performance
The machinery room is obsolete now and has been removed. Item detection has
been fully implemented using macros and no longer needs any command blocks.
This should improve the performance quite significantly, as running command
blocks every tick was quite expensive.
Item detection now only runs for a player who had a change to their inventory
and does not have any active checks that run every tick anymore.
Command blocks are also more expensive because they parse their command
every time they are executed anew while functions are pre-parsed. Macro lines
still may need to be parsed more often, but because of macro caching, they will
only need to be re-parsed when a new card with different items is generated.
The cache only caches up to 8 unique combinations of arguments per function file
which means some functions have been duplicated to take advantage of the cache
for 25 items. There will still be a small performance overhead for cache lookup.
### Card Generation
Card generation also could be simplified using macros. Furthermore, there is no
custom random number generator in place anymore, and instead the built-in
random command is used.
## Bug Fixes
- Fixed Green Dye having the wrong internal id of
fetchr:lime_dye` ([#236](<https://github.com/NeunEinser/bingo/issues/236>))[server.properties](https://gist.githubusercontent.com/NeunEinser/dac27cc76dbc83bdd1ea22a99cff3967/raw/5.2-rc3.properties)
## Changelog
- Scaffolding in the lobby is now not re-generated when the bottom-most
## Bug Fixes
- Fixed built script not generating translation override for "Fetchr Fx" sound
for that language)
- Fixed Lobby scaffolding not regenerating correctly and drop scaffolding blocks
discovered in rc1.
[server.properties](https://gist.githubusercontent.com/NeunEinser/dac27cc76dbc83bdd1ea22a99cff3967/raw/5.2-rc2.properties)
## Bug Fixes
- Fixed items in offhand being detected but not cleared, allowing to reuse items
- Fixed spawn point not being set correctly in the lobby under rare
the release became a bit bigger than initially anticipated.
[server.properties](https://gist.githubusercontent.com/NeunEinser/dac27cc76dbc83bdd1ea22a99cff3967/raw/5.2-rc1.properties)
## Changelog
- The room with the category chests in the lobby now grows in height dynmaically
- Creepers and tnt no longer cause damage in the lobby
- Updated translator credits
- Updated pack and workd icons to reflect item changes
- 1EEFEzBzXBZzUPzCSJOHzNPSFzNPCTzUPzUIFzMPCCZAz3BNFMT1SFiIF2FTUAz7PzUPzUIFzHJUIVCAz7PzUPzDPEFAz3MJDLzPOzUIFzJNBHFTzEJSFDUPSZAziBLFzBzMPPLzBUzuArAz8PQFzUIJTzIFMQTAzLBZzCZF
- sorry this got corrupted
- dont worry about it
- possible characters are
[a-zA-Z0-9 .]
## Bug Fixes
- Fixed lockout mode not showing team colors on the HUD card when a team got an
- Fixed category chests in lobby penetrating the ceiling
- Fixed spawning inside leaves in some spawn points
- Fixed vines not getting replaced by drop chute
- Fixed interaction range not getting reset when joining the game as a spectator
- Fixed old skybox remaining when generating new card
- This would lead to a black box hovering underneath the spawn point when re-
[server.properties](https://gist.githubusercontent.com/NeunEinser/dac27cc76dbc83bdd1ea22a99cff3967/raw/5.1.4-pre4.properties)
## Changelog
- The map is now compatible with all versions starting from 1.21 and up to 1.21.4-rc3
- Increased creaking heart frequency in pale oak trees from 10% to 35%
- All resin-related items are now mutually exclusive with other hard night-time mob drops
- Added two new items from the pale garden
### Pale Garden items
These items are only available when playing in 1.21.4
- All resin-related items are now mutually exclusive with other hard night-time mob drops
- Added pale hanging moss to categories pale garden and shearables
- Added pale moss block to the pale garden category
## Bug Fixes
- Fixed map failing to load in 1.21 and 1.21.1 ([#248](https://github.com/NeunEinser/bingo/issues/248))
[server.properties](https://gist.githubusercontent.com/NeunEinser/dac27cc76dbc83bdd1ea22a99cff3967/raw/5.1.4-pre3.properties)
## Bug Fixes
- Fixed Chiseled Resin Bricks and Creaking Heart using the wrong icon on the HUD card
[server.properties](https://gist.githubusercontent.com/NeunEinser/dac27cc76dbc83bdd1ea22a99cff3967/raw/5.1.4-pre2.properties)
## Changelog
- The map is now compatible with up to 1.21.4-pre1
- When playing in 1.21.4, items from the pale garden are now available
- Items taken from the game that include an inner inventory now return their inventory to the player
- Item get messages in chat now contain a tooltip with the exact item that was taken
- Improved the big preview card in the lobby and skybox
- Bug fixes
### Pale Garden items
These items are only available when playing in any 1.21.4 snapshot or pre-release
- Closed Eyeblossom
- Open Eyeblossom
- Resin Clump
- Chiseled Resin Bricks
- Creaking Heart
### Improved item get handling
The map is now aware of the exact item that matches in the player's inventory.
The tooltip in chat messages now shows the exact item that was obtained. For example, an enchanted book will now list the enchantments that the specific book which has been obtained had.
Items that can have an inventory like bundles or shulkers now will return their inventory to the player, when obtaining them
### Lobby & Skybox card
There is no longer an area were the player floats in front of the card.
Instead, players now have extended entity interaction range, allowing the player
to interact with the card from far away.
## Bug Fixes
- Fixed rarity color no longer being shown in item get messages
- Fixed item tooltip missing from item get messages in 5.1.4 versions
[server.properties](https://gist.githubusercontent.com/NeunEinser/dac27cc76dbc83bdd1ea22a99cff3967/raw/5.1.4-pre1.properties)
A small omission from the beta 1 changelog:
- Item chests in the lobby now show the global item weight.
## Changelog
- Added Poison arrow which splits its weight with slowness arrow now
- Command blocks are no longer required to be enabled in a server enviornment
- Burried treasure is now more common like other structures
- This means map chests are now less likely to have no map
- Burried treasure will generally be closer to their map
- Trial chambers are now more common like other structures
- Pillager outposts now require less distance from villages
- Armadillos are now more common to generate in savanna biomes
- Bug fixes
## Bug Fixes
- Fixed Command Blocks being disabled still causing a warning despite them no longer being needed
- Fixed world showing an additional warning when attempting to open it in 1.21 or 1.21.1
- Fixed "Reveal Bingo Card" in blind mode breaking the hud and not showing any items ([#240](<https://github.com/NeunEinser/bingo/issues/240>))
- Fixed skybox having a visible white glass floor in versions prior to 1.21.2 ([#242](<https://github.com/NeunEinser/bingo/issues/242>))
- Fixed items being detected from players in the lobby ([#243](<https://github.com/NeunEinser/bingo/issues/243>))
- Fixed item get message showing an outdated item count ([#244](<https://github.com/NeunEinser/bingo/issues/244>))
- Fixed trial chambers not being more frequent like other structures ([#245](<https://github.com/NeunEinser/bingo/issues/245>))
some technical improvements taking advantage of new Minecraft features, and of
course new items.
[server.properties](https://gist.githubusercontent.com/NeunEinser/dac27cc76dbc83bdd1ea22a99cff3967/raw/5.1.4-beta1.properties)
## Changelog
- The targeted Minecraft version is now 1.21-1.21.2-pre5
- Added new items and changed categories of existing items
- Technical Improvements and better Performance
- Removed machinery as command blocks are no longer neccesary
- Updated translations from Crowdin
## Item Changes
### Roots
New category "Roots" with:
- Carrot
- Golden Carrot
- Carrot on a Stick
- Baked Potato
### Armadillo
New "Armadillo" Category with:
- Armadillo Scute
- Wolf Armor
### Other new items
- Jungle Sapling as part of the jungle category
- White Stained Glass exclusive with glass bottle and orange concrete
- Brown Banner as part of the wool category
- Light Blue Bundle as part of the leather category
- This is only active in 1.21.2 (or specifically in any version greater than or equal 24w39a). Earlier versions will not use this item
### Changes
- Book items have been separated from the leather category and are no longer
- Tnt and Tnt Minecart are no longer exclusive with glass bottle and orange
- Saplings are no longer mutually exclusive
- Mangrove propagule is exclusive with mud items
- spruce sapling is exclusive with sweet berries, fern and snow
- acacial is exclusive with cactus green, lime dye and sea pickle
- dark oak is exclusive with apple and golden apple
#### Removed Items
- Birch sapling
- Golden hoe, golden pickaxe
- Diamond shovel, diamod axe, diamond sword
The variety in gold and diamond tools was reduced to make blind runs need to craft fewer of them.
## Technical Changess
- Overhauled item registration card generation and item detecion with new
### Item Registration
Item registration has been overhauled and existing forks that change the item
pool will need to update to the new system.
textComponenthas been removedclearCommandhas been removeddetectCommandhas been removediconis no longer a text component and instead the 4 digit hex code of the
icon_fontspecifies a own custom font to use for this item. Can be used to
actionbarA list of 5 font definitions to use for the card displayed in
and needs to have the corresponding ascend value set. Reference the vanilla
Fetchr assets.
translationNew property for the translation key of the itemitem_testsOptional. Can be used for custom item tests.typesee blow- Type specific fields (see below)
#### Item Tests
Item tests can be used to further specify an item or override default behavior.
By default, any item in the
item field will match, including any definedcomponents.
If
item_tests is specified the components of the item definition will beignored for testing purposes and only be used to construct a display item
for the item frame card or the category chests.
fetchr:component**
idThe data component idcomponentThe component valuefetchr:negated_component**
idThe data compontent idfetchr:predicate**
idThe item sub predicate typepredicateThe predicate data
At runtime, this will be parsed together with the item id into a command item
argument.
For example this definition would leather boots with a blue shaper trim which is
not shown in the tooltup and a custom lore text whenever it is displayed, and
any leather boots that have any kind of blue trim would match:
``
js
{
item: {
id: "minecraft:leather_boots",
components: {
"minecraft:trim": {
pattern: "minecraft:shaper",
material: "minecraft:lapis",
show_in_tooltip: false
},
"minecraft:lore": [
'{"translate": "item.minecraft.smithing_template.upgrade", "color": "gray", "italic": false}',
'[" ", {"translate": "fetchr.item.description.any_trim", "color": "#406d95", "italic": false}]',
'[" ", {"translate": "trim_material.minecraft.lapis", "color": "#406d95", "italic": false}]'
]
}
},
item_tests: [
{
type: "fetchr:predicate",
id: "minecraft:trim",
predicate: {material: "minecraft:lapis" }
}
]
}
`
When testing the item id together with the specified item tests would check for
minecraft:leather_boots["minecraft:trim"~{material:"minecraft:lapis"}]
### Item Detection & Performance
The machinery room is obsolete now and has been removed. Item detection has
been fully implemented using macros and no longer needs any command blocks.
This should improve the performance quite significantly, as running command
blocks every tick was quite expensive.
Item detection now only runs for a player who had a change to their inventory
and does not have any active checks that run every tick anymore.
Command blocks are also more expensive because they parse their command
everytime they are executed anew while functions are pre-parsed. Macro lines
still may need to be parsed more often, but because of macro caching, they will
only need to be re-parsed when a new card with different items is generated.
The cache only caches up to 8 unique combinations of arguments per function file
which means some functions have been duplicated to take advantage of the cache
for 25 items. There will still be a small performance overhead for cache lookup.
### Card Generation
Card generation also could be simplified using macros. Furthermore, there is no
custom random number generator in place anymore, and instead the built-in
random command is used.
## Bug Fix
- Fixed Green Dye having the wrong internal id of
fetchr:lime_dye` (#236)