https://github.com/incognitojam/customportals
Create portals in your Minecraft server made from alternative materials to teleport your users to different worlds.
https://github.com/incognitojam/customportals
Last synced: 2 months ago
JSON representation
Create portals in your Minecraft server made from alternative materials to teleport your users to different worlds.
- Host: GitHub
- URL: https://github.com/incognitojam/customportals
- Owner: incognitojam
- Created: 2016-11-21T21:43:56.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-11-28T15:29:21.000Z (about 9 years ago)
- Last Synced: 2025-10-10T19:34:38.821Z (2 months ago)
- Language: Java
- Homepage:
- Size: 103 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Custom Portals
Create portals in your Minecraft server made from alternative materials to teleport your users to different worlds. Custom world materials can be specified in the configuration file.
## Configuration
Below each configuration option is explained in detail.
#### Portal search options
`portal-search-range: 64` This specifies the radius in which the plugin should search for portals at the target location, before deciding to create a new portal (as none are present for the user to teleport to). *This value should always be written as an integer and not as a decimal.*
`portal-creation-range: 24` The radius in which the plugin should search for an empty space to create a portal at the destination. If no space is found in this range then no portal is created and the teleport is cancelled. *This value should always be written as an integer and not as a decimal.*
~~**Warning:** This option has undefined affects. Please keep this value set to `true`.
`override-nether: true` Forces the plugin to override nether portals (does not work correctly as of now). *This value should always be written as an integer and not as a decimal.*~~
Configuration option removed in version `1.0.2`.
#### Miscellaneous
`debug-mode: false` Enables extra debugging in the console. If something doesn't seem right in the plugin, please enable debug mode, perform the action and report the full console log to a developer.
#### Portal materials
```yaml
portal-materials:
# Material used to construct a portal
# which returns the player to the overworld.
world: "1" # Stone
# Material used to construct a portal
# which will teleport players to the nether.
# Note: It is recommended to keep the nether
# portal material as obsidian to prevent
# player confusion.
world_nether: "49:0" # Obsidian
# Material used to construct a portal
# which will teleport players to a custom
# world: the "arcade".
arcade: "35:1" # Orange Wool
```
Materials should be specified with quotes surrounding them and written in the format `"ID:meta"`. For example, a portal made from Orange Wool may be written as `"35:1"`. The `:meta` is optional, for example stone which does not require a meta value can be written as either `"1"` or `"1:0"`. You cannot write the material as a number, but only as a string with quotes `"string"`.
***TODO:*** Accept material names.
#### World Scale
```yaml
world-scale:
world: 1.0
world_nether: 8.0
arcade: 2.0
```
You must provide a world scale for each world that a portal may be created for. If this is not specified the teleport will not commence. Decimal values are accepted but not recommended (untested).
***TODO:*** Implement default world scale.
#####Example:
When teleporting from `world_nether` to `arcade`, the x and y coordinates will be converted to `universe coordinates` by diving by the `world-scale` constant for `world_nether` (`8.0`). To convert the `u coordiantes` to `world coordinates` for `arcade` they must be multiplied by the `world-scale` for `arcade` (`2.0`).
######Pseudo-code:
```
sourceWorld = "world_nether";
sourceWorldScale = 8.0;
sourceCoords = (100, 64, 100);
destinationWorld = "arcade";
destinationWorldScale = 2.0;
universeCoords = sourceCoords / sourceWorldScale;
= (100/8, 64, 100/8)
destinationCoords = universeCoords * destinationWorldScale;
= (100/8 * 2, 64, 100/8 * 2)
= (25, 64, 25)
```
## Bugs
* There are currently some issues with the creation of portals, including:
* Portals spawning on trees (low priority)
* Portals spawning above the world roof in the nether (medium priority)
* ~~Portals not being detected and more being created (high priority)~~ Fixed in version `1.0.2`
* Portals do not create platforms when they spawn in unsafe locations (low priority)
Please [contact me](mail_to:cameron.jamco@gmail.com) if you identify any bugs or make a issue thread here on GitHub.
## Planned Features
* Re-write entire configuration, with per-world options aligned under a single value.
* Multiple materials per portal (allowing for more complicated designs).
* Portal costs and permissions.
* Custom portal dimensions (beyond 4x5).
* Toggleable y-axis inclusion in 'distances' - different portals for different y-coordinates.
## Releases
Releases can be found [here on GitHub](https://github.com/IncognitoJam/CustomPortals/releases).
#####Latest Version: `1.0.2`
## Credits
This plugin was developed by IncognitoJam at the request of [Robotnik](https://www.spigotmc.org/members/robotnik.9977/) on the SpigotMC forums.