Immersive Portals Mod Documentation

repository·1.21·Indexed 19 days ago

https://github.com/iportalteam/immersiveportalsmod

A Minecraft mod for the Fabric loader that implements seamless, see-through portals and non-Euclidean geometry. The mod allows clients to synchronize and render multiple dimensions simultaneously, supporting features like portal-in-portals rendering, scale and gravity transformations, and an API for managing dimensions and remote chunk synchronization. Documentation includes detailed command references for portal manipulation, animation control, global wrapping zones, and client-side debug tools.

Tokens
6.6K
Snippets
27
Records
42
Agent score
67%

What's inside Immersive Portals

  1. Overview of Immersive Portals Mod

    1.21

    Immersive Portals is a Minecraft mod (Fabric version) that enables see-through portals and seamless teleportation. It allows for 'Non-Euclidean' space effects by changing underlying Minecraft mechanics to permit the client to load multiple dimensions simultaneously and synchronize remote world information (blocks/entities) to the client. Key features include:

    • Portal-in-portals rendering: Visualizing nested portals.
    • Scale and Gravity transformation: Portals can modify player scale and the direction of gravity.
    • Compatibility: Portal rendering is roughly compatible with certain versions of Sodium and Iris.

    Note: This repository contains the Fabric version. For the Forge/NeoForge version, refer to the iPortalTeam/ImmersivePortalsModForNeo repository.

  2. How SubCommandArgumentType handles command suggestions

    1.21
    The SubCommandArgumentType is designed to allow nested command structures. When a user is typing, listSuggestions creates a temporary CommandDispatcher using the current command's root node. It then parses the remaining input to provide context-aware completion suggestions from the sub-command tree, rather than treating the entire remaining string as a single opaque value.
  3. Available API capabilities for Immersive Portals

    1.21

    The mod provides an API that allows other mods to interact with its core systems. Developers can use the API to:

    • Manage see-through portals
    • Dynamically add dimensions
    • Synchronize remote chunks to the client
    • Render the world into a GUI
    • Access other utilities

    For detailed technical documentation on specific classes and methods, refer to the API description.

  4. Use the AxisArgumentType for Minecraft commands

    1.21

    The AxisArgumentType is a custom Brigadier argument type used in Immersive Portals commands to select a spatial axis. It accepts case-insensitive inputs for the X, Y, or Z axes.

    Accepted Values:

    • x or X maps to Direction.Axis.X
    • y or Y maps to Direction.Axis.Y
    • z or Z maps to Direction.Axis.Z

    If an invalid string is provided, the command will throw an error: Invalid Axis <input>.

    // Example of how this type is used within a command context to retrieve the axis
    Direction.Axis axis = AxisArgumentType.getAxis(context, "argName");
  5. Use TimingFunction as a command argument

    1.21

    The TimingFunctionArgumentType allows you to pass a TimingFunction enum value as an argument in Minecraft commands. When using a command that requires this argument, you must provide the exact name of one of the available TimingFunction constants.

    If an invalid string is provided, the command will fail with the error: Invalid Timing Function <input>.

    // Example of how a developer would retrieve the parsed TimingFunction from a command context
    TimingFunction function = TimingFunctionArgumentType.get(context, "argName");