tutorial:custom_portals
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| tutorial:custom_portals [2020/12/20 19:47] – created calum6541 | tutorial:custom_portals [2025/10/16 17:15] (current) – Specify how to make a portal which is lit with fire donillia | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| ===== Getting Started ===== | ===== Getting Started ===== | ||
| + | |||
| + | Kyrptonaught has created a very useful library that allows you to easily create a custom portal to link your dimension to the overworld and other dimensions. For more infomation, [[https:// | ||
| First of all, add the following repository to your '' | First of all, add the following repository to your '' | ||
| Line 11: | Line 13: | ||
| <code java> | <code java> | ||
| maven { | maven { | ||
| - | url " | + | url = " |
| } | } | ||
| </ | </ | ||
| Line 18: | Line 20: | ||
| <code java> | <code java> | ||
| - | modImplementation ' | + | |
| - | include ' | + | include ' |
| </ | </ | ||
| - | Kyrptonaught has created a very useful library that allows you to easily create a custom portal to link your dimension to the overworld and other dimensions. For more infomation, [[https:// | + | **Note: |
| - | + | ||
| - | **Note:** The library | + | |
| ===== Registering your Portal ===== | ===== Registering your Portal ===== | ||
| + | **Note:** The syntax here has changed since the first writing of this article while the basic function is still the same. Please refer to the examples on GitHub for newer versions. | ||
| To register a basic portal, lets say a Gold Block frame and Flint and Steel. You can place a simple method in your '' | To register a basic portal, lets say a Gold Block frame and Flint and Steel. You can place a simple method in your '' | ||
| The portals created using the CustomPortalApi act like vanilla portals, and can be as big as 23×23. | The portals created using the CustomPortalApi act like vanilla portals, and can be as big as 23×23. | ||
| - | <code java> | + | <code java>; |
| - | // CustomPortalApiRegistry.addPortal(Block frameBlock, Identifier dimID, int r, int g, int b) | + | |
| - | CustomPortalApiRegistry.addPortal(Blocks.GOLD_BLOCK, new Identifier(" | + | CustomPortalBuilder.beginPortal() |
| + | .frameBlock(Blocks.GOLD_BLOCK) | ||
| + | .lightWithItem(Items.ENDER_EYE) | ||
| + | // | ||
| + | .destDimID(new Identifier(" | ||
| + | .tintColor(234, 183, 8) | ||
| + | .registerPortal(); | ||
| </ | </ | ||
| - | Now, this would the following portal (Custom Portals can work in any dimension!): | + | If you want it to be lit with fire, however, you will need to call '' |
| + | |||
| + | |||
| + | Now, this would create | ||
| {{https:// | {{https:// | ||
| - | However, this is limited to the flint and steel. Let say we want to make a portal with a lava bucket as an ignition source. | + | However, this is limited to Flint and Steel. Let say we want to make a portal with a Lava bucket as an ignition source. |
| Easy! This can be easily done by using a '' | Easy! This can be easily done by using a '' | ||
| <code java> | <code java> | ||
| - | // CustomPortalApiRegistry.addPortal(Block frameBlock, PortalIgnitionSource ignitionSource, | + | |
| - | CustomPortalApiRegistry.addPortal(Blocks.NETHERITE_BLOCK, PortalIgnitionSource.FluidSource(Fluids.LAVA), new Identifier(" | + | CustomPortalBuilder.beginPortal() |
| + | .frameBlock(Blocks.NETHERITE_BLOCK) | ||
| + | .lightWithItem(Items.ENDER_EYE) | ||
| + | //.lightWithFluid(Fluids.WATER) | ||
| + | .destDimID(new Identifier(" | ||
| + | .tintColor(45,65,101) | ||
| + | .registerPortal(); | ||
| </ | </ | ||
| - | Now we have a cool netherite portal that can be lit by using lava and a golden portal! | + | Now we have a cool netherite portal that can be lit by using lava and a golden portal |
| {{https:// | {{https:// | ||
| + | |||
| + | ==== Extras ==== | ||
| + | |||
| + | The portal API supports custom portal blocks, allowing you to create your own textures. | ||
| + | Currently it doesn' | ||
| + | |||
| + | The API also supports the use of events, allowing the portal to not be ignited by the player, but through a event being invoked in your code. [[https:// | ||
| + | |||
tutorial/custom_portals.1608493644.txt.gz · Last modified: 2020/12/20 19:47 by calum6541