Linked Portals

Linked Portals

Mod

A Server side mod that allows creating linked portals

Server Game MechanicsMagicTransportationUtility

36 downloads
1 follower
Created2 months ago
Updated2 months ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

Portals!

This is a server-side portal mod. Portal types and size limits can be controlled through datapacks. This mod is still very much a work in progress so if you see any issues, please be sure to report it.

Usage

Linking portals

Each portal is activated by providing an item, and will link to all other portals using the same item. Customizing the name of the item and/or adding Custom Model Data will distinguish the item from other items.

Example:

  • Portal A uses a Paper named Nether Portals
  • Portal B uses a Paper without a name
  • Portal C uses a Paper named Nether Portals

Portal A and Portal C will link. Portal B will be unlinked. Beware, attempting to use an unlinked portal may result in unforseen consequences.

Locking

Portal types that support locking can be locked by sneaking and using the controller block. Items cannot be removed from locked controllers. Players with the proper permissions can lock any portal controller, regardless of the portal type (as long as they have the ability to modify blocks in that space). By default this is controlled through one of the following permissions:

  • Single Players
  • Operator
  • linkedportals.masterkey permission node in a permission mod like luckperms

Datapack configuration:

Block Tags:

  • linkedportals:valid_frames - Identifies valid frame blocks for the default portal type.
  • linkedportals:portal_controller_base - Identifies blocks that can be converted to portal control blocks. Breaking a controller block will drop the original block.

Item Tags:

  • linkedportals:valid_activators - Identifies items that are spent to convert base blocks to controllers.

Portal Types:

Portal types are configured with json files in the data/<namespace>/linkedportals/types/<portal_type_name>.json path. Each portal type will be its own file. The default portal type can be disabled by overwriting the default.json portal type or by replacing the linkedportals:valid_frames tag with an empty tag.

Portal types use rule tests to check for valid frames or internal blocks. This supports any custom rule tests added by mods or the standard structure processor tests. The most common will be block_match, blockstate_match, or tag_match.

  • valid_frame_rule Rule test to validate frame blocks.
  • valid_interior_rule Rule test to validate blocks inside the frame. Defaults to a block test for air.
  • size_limit Controls the maximum size of the portal frame width and height. Defaults to 21.
  • lockable Controls whether this portal type is lockable by players. Defaults to true.

Format

{
  "valid_frame_rule": {
    "predicate_type": "minecraft:tag_match",
    "tag": "linkedportals:valid_frames"
  },
  "valid_interior_rule": {
    "predicate_type": "minecraft:blockstate_match",
    "block_state": {
      "Name": "minecraft:air"
    }
  }
  "size_limit": 21,
  "lockable": false
}

External resources



Project members

Linguardium

Member


Technical information

License
ARR
Client side
unsupported
Server side
required
Project ID