跳到正文

Custom Portals Foxified

作者:kwahson

Build portals out of any block. Create two matching frames, light them with a colored catalyst, and travel between linked portals.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Custom Portals Foxified

Banner, diorite portal in floating island

Custom Portals lets you build portals out of any block. Matching frames link together and allow easy distant travel. You can create networks of portals all across your world and dimensions.

This mod is a NeoForge re-implementation of Custom Portals (Fabric).

Portals

Build a rectangular-ish frame using any solid block, then right-click the inside with a Portal Catalyst. Create a second frame out of the exact same block, light it with a matching catalyst color, and they link up instantly.

  • Any block works as a frame; stone, leafs, diamond blocks, whatever you want
  • Vertical or horizontal portals work, you can build frames on walls, floors, ceilings, even floating.
  • 16 catalyst colors to organize your portal network
  • Portals link by matching color + frame material
  • Same-dimension and cross-dimension travel (with Gate Rune)
  • Colored particles and portal effects just like vanilla portals
  • Baaaahhh 🐑

Catalysts

Shaped recipe: 4 ender pearls + 4 eyes of ender + 1 dye -> 2 portal catalysts

Catalyst recipe

Catalysts can also be recolored: any catalyst + a dye -> 1 catalyst of the new color (shapeless).

Runes

Place rune blocks on the portal’s frame to enhance it. The rune must be mounted on a block that is directly adjacent to a portal block.

| Rune | Effect | Key Ingredients |
|—|—|—|
| Haste | Instant teleportation (1 tick) | feathers, rabbit foot, amethyst shard |
| Gate | Enables cross-dimension linking | weeping vines, twisting vines, amethyst shard |
| Enhancer | Increases linking range to 1,000 blocks | lapis lazuli, amethyst shard |
| Strong Enhancer | Increases linking range to 10,000 blocks | prismarine, enhancer rune |
| Infinity | Unlimited linking range | popped chorus fruit, netherite ingot, strong enhancer rune |

Without runes, portals link within 100 blocks in the same dimension. Haste on either end of a linked pair grants instant teleportation for both sides.

Recipe Images

Haste Rune
Gate Rune
Enhance Rune
Strong Enhancer Rune
Infinite Rune

Linking

Portals link automatically to the nearest compatible unlinked portal (same catalyst color + same frame block). If a portal is destroyed or disabled, its partner becomes unlinked and will search for a new valid match 🥀

This system is intentionally simple and deterministic. In multiplayer or dense same-color networks, relinking may choose a different frame than you expected. That is by design: placement/distance and layout matter, and it enables more creative portal topologies.

Redstone

Redstone behavior is enabled by default: a redstone signal turns off a portal. While powered, the portal unlinks; when power is removed, it automatically re-links using the normal linking rules above.

Because this works per-portal, you can disable one end of a pair and let the freed portal find a different compatible partner if one exists. This supports builds like ABC portal switching, redstone-controlled travel networks, and multiplayer routing setups.

You can disable redstone interaction entirely in config if you prefer.

Datapacks

You can define entirely new custom portals using datapacks. With datapacks, you can:

  • Pick the frame block (single block or a block tag) and catalyst item for a portal
  • Set the portal’s color (any of the 16 dye colors)
  • Choose how the catalyst is used (consumed, damaged, or untouched) and how much
  • Use linked-pair linking like the built-in portals, or scaled dimension counterpart linking that auto-generates the other side in a target dimension (like vanilla nether portals, with a configurable coordinate scale)
  • Restrict the built-in 16 colored portals with a frame allowlist/blocklist tag, or by claiming a frame block exclusively for a custom portal

See examples/ for the full datapack reference and ready-to-use example datapacks.

Configuration

All settings are in custom_portals_foxified-common.toml:

| Setting | Default | Description |
|—|—|—|
| maxPortalSize | 64 | Maximum portal blocks a frame can enclose |
| minPortalSize | 1 | Minimum portal blocks a frame must enclose |
| baseRange | 100 | Linking range with no enhancer runes |
| enhancedRange | 1,000 | Linking range with weak enhancer rune |
| strongRange | 10,000 | Linking range with strong enhancer rune |
| allowCrossDimension | true | Whether Gate Runes can link across dimensions |
| muteSounds | false | Mute portal ambient and teleport sounds |
| redstoneDisables | true | Redstone signal turns off adjacent portals |

Differences from the Original

Why port?

The original mod works with Sinytra Connector, but connector can break mods and adds overhead. More importantly, the original mod uses mixins to rewrite Minecraft’s teleportation sequence, which can cause crashes or data loss with mods that attach data to players. It’s not the original dev’s fault, it’s just how modding goes.

This port uses NeoForge’s native Portal interface instead. Vanilla handles all player data and dimension hopping. No mixins, no data loss, so hopefully better compatibility.

Beyond compatibility, this port also includes a number of improvements over the original:

Improvements over the original

Performance

– Removed per-tick block entity polling – the original mod ticks every portal block every game tick to check state. This port is fully event-driven (neighborChanged, link/unlink, rune changes)

– No block entity at all – portal state lives in world saved data with spatial indexing

Compatibility

– No mixins – the original mod uses EntityMixin, ServerPlayerMixin, and LocalPlayerMixin to rewrite teleportation. This port uses NeoForge’s native Portal interface so vanilla handles all entity data and dimension transitions cleanly

Gameplay

– Rune removal revalidates links – in the original, removing a gate rune from a cross-dimension pair leaves them linked. This port properly breaks incompatible links when runes are removed

– Map integration – Portals broadcast their location and link status to compatible map/minimap mods.

– Datapacks integration

No Private Portals

The original mod’s private portals feature is not included. The implementation didn’t make practical sense in multiplayer. If you want to travel with a friend, what happens then? If there’s real demand for portal access control, I can implement it; but a proper integration would be with something like FTB Teams.

Redstone Modes

Compared to the original mod’s three redstone modes (off, on, no effect), this port uses one consistent behavior: powered portals are disabled (redstoneDisables = true by default).
This keeps portal state predictable and supports practical routing builds; see Redstone for full behavior details.

Compatibility

  • Requires NeoForge 1.21.1 (21.1.219+)

Credits

Original Custom Portals mod by Palyon (MIT licensed). This is a NeoForge reimplementation of their legendary work.

License

GPL-3.0-or-later

常见问题

Custom Portals Foxified 支持哪些 Minecraft 版本?

Custom Portals Foxified 支持 Minecraft Java 版 1.21.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

Custom Portals Foxified 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

kwahson 的其他作品

查看全部 →