Skip to content

Crystal-Nest/server-sided-portals

Repository files navigation

Server Sided Portals banner


Minecraft1.21.5Separator1.21.4Separator1.21.3Separator1.21.1Separator1.21Separator1.20.4Separator1.20.2Separator1.20.1Separator1.19.4Separator1.19.2

LoaderNeoForgeSeparatorForgeSeparatorFabric

Overlay

IssuesGitHub


📝 Description

This is a mod API that provides easily customizable and server-sided portals to any custom dimension.
This mod is required server side only, and is thus compatible with any client, Vanilla included.
This mod can be used as a dependency for another mod/datapack, or bundled in a modpack with a custom datapack or with mods that require it.

Check out the usage details below or on the Wiki!

Features

  • 🔮 Custom Portals: Create portals with fully customizable frames linked to any dimension.
  • 🧱 Flexible Frame Design: Define valid frame blocks using block tags — supports multiple block types!
  • 🔥 Custom Igniters: Choose which items can light the portal using item tags — supports multiple items!
  • 🖥️ Server-Side Only: No need to install the mod on clients — works entirely server-side.
  • 🌍 Cross-Dimension Support: Add portals to any dimension, even ones added by other mods.
  • Fully Compatible: Works seamlessly with both Vanilla and modded clients.
  • 🧩 Mod & Datapack Friendly: Simple integration whether you're using a datapack or developing a mod.
  • 📚 Comprehensive Wiki: Check out the Wiki for guides, examples, and more features!

🚀 Usage

For detailed examples, check out the Wiki.
There, you'll find step-by-step guides for creating custom dimensions, portal frames, igniters, and additional tweaks!

📦 Datapack

Making use of this mod with a datapack is easy! Just follow these simple steps:

  1. Set up a datapack: Start by creating a datapack following this Minecraft tutorial.
  2. Define a dimension Type: Generate a custom dimension type with this generator.
  3. Create your dimension: Use this generator to set up your custom dimension.
  4. Specify portal frame blocks: Create a block tag called dimension_portal_frame, replacing dimension with your dimension name. You can include multiple blocks or even other tags!
  5. (Optional) Choose portal igniters: Optionally create an item tag named dimension_portal_igniter, replacing dimension with your dimension name, for items that can ignite the portal. You can also use multiple items or tags.
  6. Organize your files: Make sure all JSON files from the above steps are under the same namespace.

That's it! Load your datapack alongside this mod, and your dimensions and portals are ready to use.
You're free to add multiple dimensions, each with unique portal frames and igniters!

Since v2.1.0, you can further customize your dimensions by setting specific gamemodes for players entering them or defining custom entry points other than the Overworld.
Check out the Wiki for details.

🛠️ Mod

Integrating this API into your mod is straightforward:

  • Follow the steps outlined in the Datapack section above.
  • Instead of placing files in a datapack, place them under your mod's resource folder: resources/data/mod_id/.

If you prefer giving users the choice to enable or disable your datapack, consider using Cobweb static datapack API.

Creating a mod (rather than a datapack) allows you to add extra functionality and enhance your custom dimensions further.

Additionally, this API provides several helpful utility methods. Explore the Javadoc for detailed documentation on these methods.

🔄 Compatibilities

Mod Loader Compatibility
Crying Portals All Incompatible
Immersive Portals All Incompatible
BetterNether Fabric Compatible
Very Many Players Fabric Compatible with use_async_portals=false
Canary Forge Compatible with fast portals disabled

🔗 Dependencies

Mod Loader Requirement
Cobweb All Required

📜 License and right of use

Feel free to use this mod for any modpack or video, just be sure to give credit and possibly link here.
This project is published under the Crystal Nest Community License v1.

❤️ Support us

Crystal Nest WebsiteDiscordPatreonKo-fiOur other projectsModrinthCurseForge

Bisect Hosting