Перейти к содержимому
Mineforgian

Script Blocks

Adds various blocks and mechanics which assist map makers and dungeon builders.

1K загрузок9 подписчиковMITfabric

Обновлён 9 марта 2026 г. · опубликован 20 мая 2024 г.

Script Blocks

This mod adds multiple blocks designed to help building adventure maps and dungeons.

Important

This mod is currently in its alpha stage, which means:

  • Not all features are implemented.
  • Existing features may not be in their final form.
  • Breaking changes can happen.
  • Existing features may be removed.
  • Expect bugs and crashes.
  • Documentation is very minimal.
  • Back up your worlds when using this mod.

Features

This mod implements a lot of different features, I will give a short and incomplete overview here.
All details will be explained in the wiki (not yet written).

Script Blocks

The basic idea is to build a "script" outside the visible parts of the dungeon.

There are blocks that can detect a player, interactable blocks, etc., which all "trigger" a configurable block position.
Then there are blocks which have functionality when they are "triggered", like mob spawners, blocks which change state, message sender, jigsaw placer, advancement giver, etc. There are also utility blocks like counter, delay and relay blocks.

The blocks are designed to be used in jigsaw structures. They are configurable via an in game UI, like the existing jigsaw blocks.

Dialogues

Dialogues are data driven and can be referenced via the 'dialogue block'.
Each dialogue is a list of strings and a list of answers. When the player chooses an answer, several things can happen:

  • another dialogue opens
  • an advancement is granted
  • a loot table is generated and the items given to the player
  • a message is send to the player
  • a block at a configurable position is triggered (refer to Script Blocks)
  • a block at a configurable position is interacted with (similar to a right-click) An answer can be (un)locked via an advancement and can have an item cost.

Shops

Shops are data driven and can be referenced via special blocks.
A shop can have multiple deals, which can be (un)locked via advancements. A deal has an item stack as offer and a list of item stacks as price.

Use Relay Blocks

When interacting with these blocks, they relay the interaction to another block.
For now they come in the form of all existing doors and trapdoors.

Teleporter blocks and locations

Teleporter blocks can teleport the player and optionally the players party to a position in a dimension. The position can be configured:

  • the players spawn point or the world spawn.
  • a specific position in a specific dimension set by another teleporter block.
  • a 'location'.

Locations are data driven. They reference a structure and a 'control block position'. The structure must be configured, so that the block at the 'control block position' is a 'location control block'. The 'location control block' tells the teleporter the teleport target position.

Locations can be (un)locked by advancements and can have an item cost. They can either be public or player specific.
Public locations are located in the overworld. Private locations are located in a 'player_locations_dimension'. Each player has one, they are dynamically generated for each player entering the world.

Housing

A housing block has an owner and an area of influence (AOI).
In the AOI only the owner can place, break or interact with blocks. Even players in adventure mode can break or place blocks here.
The owner can add other players to different lists, which grants them various rights in the AOI, like placing, breaking or interacting with blocks.

Housing blocks have two different modi to determine their owner.

  • Interaction, the owner can be set by interacting with the housing block. The owner can revoke ownership of the housing block.
  • Dimension, when the housing block is placed in a 'player_locations_dimension', the player owning the dimension also owns the housing block

Версии

ВерсияКаналИграЗагрузчикиДатаСкачать
0.0.8Альфа1.21.1fabric9 марта 2026 г..jar (1.4 МБ)
0.0.7Альфа1.21.1fabric20 октября 2025 г..jar (1.3 МБ)
0.0.6Альфа1.21.1fabric14 октября 2025 г..jar (1.3 МБ)
0.0.5Альфа1.21.1fabric20 мая 2025 г..jar (1.1 МБ)
0.0.4Альфа1.21.1fabric5 марта 2025 г..jar (988 КБ)
0.0.3Альфа1.21.1fabric1 марта 2025 г..jar (953 КБ)
0.0.2Альфа1.20.1fabric30 мая 2024 г..jar (683 КБ)
0.0.1Альфа1.20.1fabric20 мая 2024 г..jar (681 КБ)

Ченджлог

0.0.8Альфа1.21.1 · 9 марта 2026 г.

0.0.8

Additions

  • added "scriptblocks:removed_on_teleport" data component, which holds a list of strings
  • Teleporter Blocks can now remove status effects in a configurable tag on teleport (in addition to the existing "reduce level by 1" status effect tag)
  • Teleporter Blocks can now remove items from the player inventory on teleport
    • item stacks with the new "scriptblocks:removed_on_teleport" component are removed if the components string list contains a string specified by the Teleporter Block
  • added option to set the manual reset for Location Controller Blocks in their config screen
    • can be used to ensure that locations are reset when first visited, without the need for always resetting/player initialized reset before entering/complicated script block structures
  • added option to hide the "Cancel Teleport" button in the teleport screen
  • added "scriptblocks:adventure" status effect, players with this effect are under the same restrictions as if they were in adventure mode

Changes

  • deprecated Lootable Vault Block and Interactive Loot Block
    • these block were extracted into a standalone mod
    • this includes all integration with the Lootables mod
    • existing blocks are still present, but several warning log messages were added and these blocks will be removed eventually
  • no longer depends on DimLib, the dynamic dimensions are now implemented using Fantasy (https://github.com/NucleoidMC/fantasy)
  • changed several mixin implementations to be more compatible
  • housing effects now affect players in survival mode
0.0.7Альфа1.21.1 · 20 октября 2025 г.

0.0.7

Additions

  • "Boss Controller Block" can now trigger a block when no players are present in its defined area
  • added optional "triggersBlockWhenNoPlayersAround" boolean field to boss data files (false by default)
  • added "scriptblocks:interactive_key" data component, used to restrict several block interactions
  • added "Interactive Trigger Blocks" in door and trap door form

Changes

  • "Boss Controller Block" no longer removes non-player entities in its defined area when reset. Use the "Triggered Entity Remover Block" for this instead.
  • Entrance Delegation Block now relays Triggered Spawner / Boss Controller Block spawn position
  • overhauled Use Relay Chest blocks, now use the new "interactive_key" feature and can trigger a block when opened

Fixes

  • fixed "rollable" setting of Jigsaw Placer Block
  • fixed manual location reset in teleporter screen
  • fixed an issue where block entity data would not be updated when the block was rotated/mirrored
  • fixed several issues with the Boss Controller Block
0.0.6Альфа1.21.1 · 14 октября 2025 г.

0.0.6

Additions

  • added Use Relay Lectern Block, another variant of the Use Relay Block
  • added Area Filler Block, when triggered fills a configurable area with a configurable block
  • added option to Teleporter Block to not teleport on tick, but when triggered
  • added option to Triggered Beacon Block to set applied effect duration
  • added Team Controller Block, creates configured team on trigger and adds entities in configured area to that team
  • added PVP Controller Block, controls player respawning during pvp battles, designed to work with RPG Inventory's "PVP Death" system
  • added data-driven 'PVP Arena Settings', used by the PVP Controller Block
  • added Triggered Damage Dealing Block, dealing configurable damage in a configurable area when triggered
  • added server config option to set world spawn to location entrance (note that the sky access requirement for the world spawn is still active)

Changes

  • several data-driven features were restructured, see the test data for examples
    • the display order of location (entrance) names is now configurable
    • in addition to advancements, data (using Data Blocks) can now be used to (un)lock locations and dialogue answers
  • the force-loaded chunk area on location reset is now configurable in the LocationControllerBlock
  • overhauled the dialogue screen, allowing for greater customization by dialogues
  • the custom data location was moved from the "namespace/scriptblocks" to the "namespace" directory
  • visible, locked dialogue answer buttons are now inactive
  • "direct" teleport with Teleporter Block now works with Entrance Delegation Block
  • removed the "shouldJigSawGenerationBeDeterministic" and "shouldJigSawStructuresBeRandomlyRotated" server config options, as they are no longer needed

Fixes

  • Jigsaw Placer Block no longer crashes the game when the specified template pool is not found
  • updating script blocks now properly resets them
  • structures placed by the JigsawPlacer block are now properly randomized
  • horizontal facing JigsawPlacer blocks now place the structure correctly (having proper test structures helps a lot)
  • fixed WorldLoadingScreen not showing when teleporting with Teleporter
0.0.5Альфа1.21.1 · 20 мая 2025 г.

0.0.5

  • data-driven features refactor, items are now defined as itemStacks in the known format
  • added an optional additional dimension for public locations
  • added several new blocks
    • Player Detector Block, triggers another block when a player enters an area
    • Lootable Vault Block, a variant of the Vault Block that has integration for the 'Lootable' mod
    • Triggering Trial Spawner, a variant of the Trial Spawner, that can trigger blocks when changing the Trial Spawner State
    • Triggered Villager Spawner Block, a variant of the Triggered Spawner specifically for all entities that have VillagerData (has automatic support for mods that add villager professions or types)
    • Triggered Entity Remover Block, discards all non-player entities in an area when triggered
    • Triggered Dispenser Block, variant of the vanilla dispenser, but needs to be triggered, doesn't drop it's inventory and can't be interacted with in survival/adventure mode
    • Aesthetic Nether Portal, looks and sounds like a nether portal block, but is just aesthetic
    • Aesthetic Decorated Pot, looks like a decorated pot, but has no inventory and can't be smashed
    • Triggered Redstone Block, emits a redstone signal when triggered, has several states (signal strength, toggle/pulse) that change on (shift) right-click
  • added 'Fake Villager' entity type, looks and sounds like a villager, but has no AI and no default right-click interaction
0.0.4Альфа1.21.1 · 5 марта 2025 г.

0.0.4

  • added Teleporter(Trap)Doors, can be broken in survival and keep their settings
  • several small fixes
0.0.3Альфа1.21.1 · 1 марта 2025 г.

0.0.3

  • updated to 1.21.1

  • added (optional) compatibility with Lootables

  • now depends on Slot Customization API

  • now depends on Fzzy Config

  • removed dependency on AzureLib

  • removed dependency on Cardinal Components API

  • removed dependency on Cloth Config

  • lots of internal refactors, bug fixes and improvements, some highlights:

  • added "BossControllerBlock" and data-driven boss fights

  • added a series of "data blocks", that can save data in world and influence other script blocks

  • removed all custom mobs, TriggeredSpawner and BossController now work with every MobEntity

  • check the GitHub commits if you are interested in more details

0.0.2Альфа1.20.1 · 30 мая 2024 г.
  • added missing localization strings
  • added background gradient to all creative screens
  • added missing biome definitions
0.0.1Альфа1.20.1 · 20 мая 2024 г.

First alpha release.
Bugs and crashes are very possible.
Make backups of your worlds or better, don't use this mod with existing worlds.
Updates may make breaking changes!
Feedback and bug reports are very appreciated!

Полная история изменений — на Modrinth.

Комментарии

Загружаем…