Tags
Creators
Details
0.0.10
Compatibility
Required content
Changes
0.0.10
This update finishes the polishing pass started in the last update, at least for now. Some features require an update to modern Minecraft versions, which is the focus of the next update.
All deprecated blocks still function like normal, but when they are placed in the world, they will send log (and optionally chat) messages with a warning and instructions on how to best replace them. Deprecated blocks will be removed eventually.
Additions
- the "predefined world spawn position" (set in the server config) now respects Spawn Point Delegation Blocks
- added "Data Modification Block", has currently these functions:
- add integer values to data when used like a "Data Relay Block"
- perform modulo operation on data when used like a "Data Relay Block"
- added location cooldowns
- location entrances can define a cooldown which prevents players from entering a location using that entrance. The cooldown for a location is started automatically when the player dies while in a location or manually via the LocationCooldownStarterBlock.
- added Location Cooldown Starter Block, this block starts the cooldown for all active locations of all players in a provided UUID List
- added location reset item cost, defined by location (entrance)
- added allow_regeneration boolean field to locations and location entrances. This enables the Location Reset button in the teleporter screen.
- added block settings to toggle spawn effects and persistent entities to triggered (Villager) Spawner Blocks
- added server config option for the tick interval of the Player Detector Block
- added copper variants for the Script Blocks (trap)doors (Interactive Trigger, Teleporter, Use Relay)
- added Interactive Trigger Soul Candle blocks, in 17 variants. These are functionally identical to the existing Interactive Trigger Candle blocks, but display soul flame particles and have a lower luminance.
- added Interactive Trigger (Soul) Torch blocks
- added Interactive Trigger (Soul) Lantern blocks
- added "scriptblocks:prevent_interactions" data component, containing a list of strings. Some blocks can define a string. If the interacting player has at least one item with the component and the block given string is in the list, the player can't interact with that block.
UUID List Handlers
This new category of script blocks works with lists of UUIDs, namely the UUIDs of players.
- added "UUID List Saving Block". This block saves a list of UUIDs. Other blocks can add to/remove from this list or read the current list.
- added "UUID List Relay Block". Provides the same interactions as the "UUID List Saving Block", but relays them to another block at a configurable offset position instead.
- added Two Areas Player Detector Block, triggers a block and sends a UUID list when a player enters a configured area, but only if the player was in another configured area before. When the direction is reversed, another block is triggered/receives the UUID list.
- added "Status Effect Manipulation Block". When triggered, this block applies/removes/decrements amplifier of a status effect (tag) from a list of players provided by a UUID List Handler. Alternatively, a list can be provided directly to this block instead of relying on intermediate blocks.
- added UUID List Messaging Block, sends a configurable message to all players in a received UUID List. The message can be displayed in chat, as overlay or as title.
- added Triggering Respawn Anchor Block, sets the respawn position of all players in a received UUID List. When a player respawns, another block is triggered.
Changes
- changed id of "Jigsaw Placer Block" block entity from "scriptblocks:structure_placer_block" to "scriptblocks:jigsaw_placer_block". This happens automagically for already placed blocks using data fixers with help of the "Easy Data Fixer" mod.
- fields in all custom data files were changed from "camelCase" to "snake_case".
- replaced "(un)lock_advancement" fields with "unlock_predicate" field for locations and location entrances
- all Interactive Trigger Block variants can now be triggered by other blocks
- all Interactive Trigger Block variants now check for items with the "scriptblocks:prevent_interactions" data component
- renamed "scriptblocks:removed_on_teleport" data component to "scriptblocks:removed_on_interactions"
Boss Controller Block Rework
- no longer defines an area
- now gets the players engaged with the fight from a UUID List Handler
- added block settings to toggle spawn effects and persistent boss entities
Player Detector Block Rework
- now triggers a block when a player leaves the area
- also sends a UUID list of all entering/leaving players
- the ticking area check can be disabled
- when triggered, sends a UUID list of all players in the area and triggers a block when at least one player is in the area
- is now a UUID List Handler, providing the players currently in its area
Team Controller Block Rework
- is now a UUID List Handler
- when provided a list, the corresponding players are added to the current team
- block ticking can now be disabled
Teleporter Block Rework
The Teleporter Block has become increasingly complex. This rework extracts some behaviour into other blocks
- the Teleporter Block is no longer ticking and no longer defines an area. The "Portal Resistance" status effect is no longer used amd was removed
- When triggered, the Teleporter Block now gets a UUID list from a UUID List Handler.
- The Teleporter Block is now a UUID List Handler, when it receives a UUID list, the corresponding players are teleported/the teleporter screen opens.
- the Teleporter Block now triggers another block before the teleport and a second block after the teleport
- as usual, the block position offset etc. are configurable in the block's screen
- UUIDs of teleported players (+ their teams if this is enabled) are now sent to a UUID List Handler block
- as usual, the block position offset etc. are configurable in the block's screen
- removed status effect removal/amplifier decrementing on teleporting. This behaviour can be restored by using the new "Status Effect Manipulation Block".
- removed item removal on teleporting
- added support for location cooldowns
- direct block interactions now check for the "dimension owner only" setting
- the creative mode screen now shows the "Access Position Offset" and the corresponding button only when the teleportation mode is set to "Locations" or "Location". This is done to make clear that other modes don't set the access position.
- removed show_regenerate_button field from Teleporter Block Entity
- added only_dimension_owner_can_teleport_message field to Teleporter Block Entity. This defines the message shown when only_teleport_dimension_owner is set to true and the player is not the dimension owner.
- Teleporter Block now checks for items with the "scriptblocks:prevent_interactions" data component. The new prevent_interaction_identifier_string field defines the exact string to compare with the component. The new interaction_prevented_message field defines the message shown when the interaction is denied.
- several improvements to the teleporter screen
Triggered Damage Dealing Block Rework
- is now a UUID List Handler
- when provided a list, the corresponding players are getting damaged
- when getting triggered, damages either all entities in the configured area or all players in the provided UUID list, depending on a new block setting
Fixes
- fixed JigsawPlacerBlock data saving
Technical
- migrated tracked data to data attachments
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:ubmgmYs9:9Si7tZPh"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:ubmgmYs9:9Si7tZPh"
}

