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

Custom Portal API Reforged

Library mod allowing developers to create portals to their custom dimensions easily. These custom portals will function exactly like nether portals, except being fully customizable. You can control the frame block, portal block, tinting, ignition source, destination, and more!

Some example of portals

Usage

Add the repository/mod to your build.gradle.

repositories {
        maven { url 'https://libs.azuredoom.com:4443/mods' }
}
dependencies {
//1.20.1
        implementation fg.deobf('net.kyrptonaught.customportalapi:customportalapi-reforged:MODVERSION')
//1.20.2+
implementation fg.deobf("net.kyrptonaught.customportalapi:cpapireforged-neo-1.20.2:MODVERSION")
}

Now onto creating and registering the portal itself, this is simple thanks to the CustomPortalBuilder class. We will make use of this in FMLCommonSetupEvent.

The following is a very simple portal that will take us to The End, and is lit by right-clicking the frame with an Eye of Ender:

CustomPortalBuilder.beginPortal()  
        .frameBlock(Blocks.DIAMOND_BLOCK)  
        .lightWithItem(Items.ENDER_EYE)  
        .destDimID(new ResourceLocation("the_end"))  
        .tintColor(45,65,101)  
        .registerPortal();

A Nether portal would be registered as follows:

CustomPortalBuilder.beginPortal()  
        .frameBlock(Blocks.OBSIDIAN)  
        .destDimID(new ResourceLocation("the_nether"))  
        .tintColor(131, 66, 184)  
        .registerPortal();
CustomPortalBuilder is filled with plenty of methods to customize the functionality of your portal, all of which are documented in the class.



Some noteworthy methods to mention:

  • lightWithWater/Item/Fluid - These allow you to control how the portal is lit.
  • onlyLightInOverworld - Only allow the portal to be used in the overworld to your destination of choice
  • flatPortal - Flat Portal similar to the End or the Twilight Forest portal.



Credits

Based off the main Fabric mod HERE and an older ported mod HERE

External resources



Project members

AzureDoom

Owner


Technical information

License
MIT
Client side
required
Server side
required
Project ID