BetterPortals (ABANDONED) icon

BetterPortals (ABANDONED) -----

Portals you can see through!




Changelog:
  • Fixed riding entities through portals (which are in different dimensions)
  • Fixed viewing paintings/item frames through portal causes plugin crash in 1.19.
  • Fixed fence rotations are wrong when viewed through portals.
  • Fixed issue with PlayerQuitEvent which caused an exception.
  • Fixed minecarts have the wrong rotation when viewed through portals (when not on tracks).
  • Fixed some miscellaneous issues with projected entity rotations.
  • Fixed vanished players being visible through portals.
  • Fixed issue with marker entities causing plugin crash.
  • Possible fix for rare concurrent modification during entity teleportation.
----------, Jul 10, 2022

Changelog:
- Support for Minecraft 1.19.0. NOTE: For 1.19.0 at the moment, one must install a developer build of `ProtocolLib`, available [here]( https://ci.dmulloy2.net/job/ProtocolLib/lastSuccessfulBuild/).
- Fixed bug with illegal sign rotations causing plugin crash.
- Fixed bug where a dragon touching a portal causes a plugin crash.

Thanks to @HarvelsX for contributing these updates.
----------, Jul 9, 2022

Changelog:
- Fixed cross server portals fail (occasionally) with `NullPointerException`.
- Various dependency upgrades.
----------, Apr 10, 2022

Changelog:
- Support for 1.18.2
- Support for velocity (no need for a wrapper, the one JAR here now works for spigot/bukkit/paper, bungeecord and velocity)
- Add option to use light blocks (1.18+) to improve the lighting on the other side of portals.
- Fixed cross-server portal teleport delay causes visual bug where portal view disappears momentarily.
- Fixed some exception logging with invalid encryption key.
- Tweaked default portal viewbox for better view quality.
- Fixed `z` coordinate of portal view offset being used when it should be ignored.
- Fixed "no world link" warning message doesn't work on versions newer than 1.15.
----------, Mar 28, 2022

Changelog:
- Urgent security fix for cross-server portals, update ASAP.
----------, Dec 18, 2021

Changelog:
- Small chunk unloading fix.
- XP orbs will no longer break the plugin when viewed through a portal.
- Fixed view through cross-server portals disappearing between walking through and getting teleported.
----------, Dec 14, 2021

This update adds support for 1.18.x, with many optimisations, fixes and additions.

Additions:
- Added `serverName` property in the config for proxy configuration. This is used as a better way for the proxy to distinguish between servers. NOTE: Not specifying this property is now deprecated and will result in a warning message.
- Added support for Minecraft 1.18
- Added portal backgrounds depending on the world, but can be manually changed. The backgrounds are as follows:
> Overworlds: `WHITE_CONCRETE`
> Nethers: `RED_CONCRETE`
> Ends: `BLACK_CONCRETE`
- Added default world connection between the first world and that world `_nether`. (can be disabled)
- Added `/bp toggleseethroughportal` and `/bp setseethroughportal` commands for toggling whether or not to view through portals.
- Added `keepAlive` config property for proxy connection.
- Added option for enabling and disabling item teleportation.
- Tweaked default portal view frustum.

Fixes:
- Fixed issues with config upgrading.
- Fixed certain packages are not relocated
- Removed server thread locking (examples, block view reset)
- Fixed entity trackers are not removed when player logs out, causing memory leaks.
- Fixed same player cannot be viewed multiple times.

Optimisations:
- Add `entityMetadataUpdateInterval` config property, default every 6 ticks. This was added as updating entity metadata is expensive and should not happen every tick.
- Disabled the entity check interval being one tick by default, changed the new default to 7 ticks.
- Removed some super-high-frequency log calls causing performance issues.
- Fixed block view updates happening when player changes rotation but not location (this would be a useless update).
----------, Dec 12, 2021

Changelog:
- Added support for Minecraft 1.17.1. 1.17.0 might work but I haven't tested it extensively.
- Removed 1.12 support - 1.12 is now completely unsupported. I will be providing no support whatsoever to those using outdated BetterPortals versions that support 1.12.
- Added warning message for missing destination selection error caused by not having IP/UUID forwarding enabled. (this used to be a confusing error message)
- Fixed the hex colour parsing code removing non-hex values, e.g. placeholders put in place by BP.
- Removed fish man.
----------, Jul 25, 2021

Changelog:
- Fixed compatibility with Java 16 (done by updating guice to 5.0).
- Fixed some cross-server portal networking issues.
- Fixed deadlock if `PlayerBlockView` fails.
- Fixed issue where walking through a vanilla nether portal would lead to an attempted portal creation back to the origin, causing incorrect portal size and other issues. Now this will no longer attempt to link with BetterPortals, and the vanilla portal will function normally.
- All log prefixes for debug logs are now 3 characters, e.g. `FNE`, `FNR`, `FST` instead of `FINE`, `FINER` and `FINEST`. This makes logs look a little better.
- Added additional API methods to remove portal predicates.
- Portal blocks are now hidden by default!
- Removed fish man.
----------, May 14, 2021

Changelog

- Added a simple public API for other plugins to interface with. The documentation is available here.
- Added option to customize the background block of the portal. (backgroundBlock in the config).
- Fixed "This is a vanilla portal" chat warning shows for worlds with vanilla portal logic.
- Fixed sign text is not visible through portals.
- Fixed sign text is not correctly reset when viewed blocks get reset back to default.
- Fixed server crash at high coordinates caused by a floating point precision issue.
- Refactor of some internals.
- Added ability to use hex colours in chat messages. Done using this syntax: {(#000000)}
- Fixed portal wand is invalid after plugin reload.
- Removed fish man.
----------, Mar 29, 2021

Changelog:
- Fixed external selection inversion not working.
- Made gradle relocate guice packages.
- Fixed Entity IDs are sometimes negative, causing other plugins to break.
- Fixed command permissions sometimes not working.
- Reduced /bp reload overhead.
- Fixed tab complete disappears after typing the first letter.
- Fixed tab complete shows for commands which you don't have permission to use.
- Fixed commands show up in the help screen when you can't use them.
- Fixed horizontal portals cause a client-side glitch where you can't move.
- Removed fish man.
----------, Feb 25, 2021

0.7.0 is a full rewrite, focusing on stability and performance.
It now requires ProtocolLib!

Additions:
- Added auto-refresh of portal blocks, in case the portal renders when chunks haven't loaded yet.
- Added ability to view through multiple portals at once.
- Added update checker (log message warning you to update if on an outdated version)
- Added easter eggs (happy hunting).
- Added bugs to fix later.
- Added `/bp setName` for setting custom-portal names.
- Added portal specific permissions: `betterportals.use.<portalName>`, `betterportals.see.<portalName>`. These default to all players, but you can negate them manually to disable teleportation/viewing. (see the Wiki for further information.
- Added command aliases.
- Added error handling in the main update to tells the user to report issues.
- Added portal autosave.
- Added more descriptive error message for world links having invalid worlds. (should reduce support requests)
- Added explanation message when the player lights a portal in an unlinked world and it does nothing.
- Added explanation message when a player lights a portal that is too big and it does nothing.
- Allowed the use of Vanilla (non plugin-registered) nether portals, printing a warning message to the player to explain (warning can be disabled)
- Added verification to check that the destination of a cross-server portal exists and is on the correct version.
- Added command tab-complete.

Bug Fixes:
- Fixed bstats package relocation not working properly.
- Fixed dimension blend sometimes breaking through the nether roof.
- Fixed portals sometimes spawning on top of the nether roof.
- Fixed minecart rail rotations are incorrect.
- Fixed cross-server portals have a slightly incorrect hitbox.
- Fixed portal backgrounds sometimes not resetting correctly.

Removals:
- Removed portal teleport cooldown, since this can easily be exploited to get "trapped" within a nether portal.
- Removed world switch wait time for the same reason as the above.
- Removed fish man.

Other changes:
- Rewrote 90% of NMS code with ProtocolLib (the remaining code I'm stuck with unless I write a huge amount of code to do it manually). This means that you **must** install ProtocolLib to use the new version.
- Optimised remaining NMS code with manual reflection.
- Optimised portal spawning, and made it run over a number of ticks.
- Easened cross-server portal creation. You can now create them by doing `/bp destination` on the destination server, then selecting the origin on the origin server and running `/bp linkexternal` - no need for coordinates or anything like that.
- Generally improved stability.
- Optimised portal block map creation slightly.
- Optimised entity rendering slightly.
- Changed reconnection message to only show as failed once, and not print afterwards to avoid spam if the proxy is offline
- Changed logging to support multiple levels. The levels are:
- - FINEST: Total spam
- - FINER: Spam, but just about readable for people other than me.
- - FINE: Mostly just portal spawning info.
- Changed build system to gradle.
----------, Feb 22, 2021

Changelog:
- Fixed double teleport/repeated teleport with horizontal portals due to teleportation not being checked via the player's eye position.
- Fixed glitch where the player can get "stuck" between two sides of the portal when one is blocked off.
- Fixed concurrency bug with cross-server portals.
- Fixed cross-server teleportation failing causing player to be removed from the server, stopping portal effects from happening instead of just printing an error message.
- Fixed /bp reload on one server not properly clearing block arrays, causing a cross-server portal to stop working.
- Fixed one server disconnecting from the proxy then reconnecting causing an invalid block array to be sent, stopping you from seeing through a cross-server portal.
- Fixed server unregistering sometimes not working correctly.
- Fixed player velocity not being preserved when going through a cross-server portal.
- Fixed player flight status (elytra & just regular flight) not being preserved when going through a cross-server portal.
- Fixed player velocity not being preserved when going through a cross-server portal.
- Changed default teleportation cooldown to 2 ticks.
- Changed /bp origin and /bp destination to display the X, Y, Z, world and direction to the player in order to make getting the coordinates for cross-server portals easier.
- Enabled hiding of entities for cross-server portals. (not viewing entities through them, that's not going to happen for a long time)
- Fixed concurrency bug in ReflectUtils

Had to get this out ASAP to fix a bunch of bugs with cross-server portals.
----------, Jan 11, 2021

Changelog:
- Fixed cross-server portals with destinations where the destination world does not exist on the origin server spamming exceptions in the console.
----------, Jan 9, 2021

Changelog:
- Optimized portal block array management.
- Optimized portal creation a fair bit, hopefully for the last time, but you never know.
- Added support for creating horizontal portals.
- Added support for creating portals between servers in a bungeecord network. (guide is in the github wiki)
- Removed unsafe mode.
- Minor bug fixes with teleportation.
- Changed portal format (I have checked that the converter works correctly, but if you have any issues whatsoever with it, please create an issue IMMEDIATELY so that I can fix them)
----------, Jan 9, 2021

Changes:
- Fixed betterportals.see permission not being given to all players by default. (I wrote all instead of true in plugin.yml)

Please update ASAP, since otherwise players who aren't OP won't be able to see through portals.
----------, Oct 27, 2020

Changes:
- Fixed relighting vanilla portals didn't lead to the same destination. (at least for the vast majority of portals)
- Added permission betterportals.see which is given to everyone by default. Setting this to false will stop people from seeing through portals.
- Added permission betterportals.remove.others which allows people to remove portals that they didn't make.
----------, Oct 25, 2020

Changes:
- Fixed issue where selecting an invalid area for a portal would throw an error instead of telling you the problem.
- Fixed some issues with entities teleporting incorrectly.
- Added configuration for the messages the plugin sends in chat, as well as the chat prefix.
- Added configuration for the name of the portal wand.
- Added unsafe mode that performs more processing on another thread, improving performance if enabled. (don't use this unless you're ready for some bugs)
Documentation on this is coming soon.
----------, Oct 22, 2020

Changes:
- Fixed issues loading the plugin with 1.15.2 paper.
- Added a config option to configure a wait time after changing worlds. See the Wiki for more info on this.
----------, Oct 7, 2020

Changes:
- Greatly optimized portal spawning to reduce server pauses.
- Fixed rare NullPointerException when shutting down the server
----------, Oct 6, 2020

Changes:
- Fixed NullPointerException when using certain NPC plugins
----------, Oct 4, 2020

Changes
- Fixed issues with entities teleporting through portals (before they sometimes didn't teleport every time)
- Very minor issues with formatting in /bp reload fixed.
- Added option to disable certain worlds (these worlds fall back to the vanilla portal logic)
----------, Oct 4, 2020

Changes
- Fixed error spam when not near a portal, causing all portals to break. (this is why you must update)
- Fixed more minor issues with portal blocks
- Fixed issues when using the plugin with any server JAR based on Tuinity, (Yatopia for example)
----------, Sep 30, 2020

Changes
- Fixed vanished players still being visible through portals. (this fix works with most vanish plugins, including, but not limited to, SuperVanish and PremiumVanish)
- Fixed portal blocks being recreated for custom portals when they shouldn't be.
----------, Sep 29, 2020

With this update, you can now create your own portals, just like multiverse portals. Documentation on how to do this is coming very soon.

Changes:
- Support for creating custom portals!
- Minor bug fixes
- Permissions for BetterPortals commands
- Reduced plugin JAR size back to 100kb (I accidently included netty in the built JAR)
----------, Sep 28, 2020

Changes:
- Fixed riding entities appearing as separate when viewed through a portal.
- Internal refractor that makes the code cleaner and easier to work on.
----------, Sep 25, 2020

Changes:
- Fixed some issues surrounding entity head rotations.
- Fixed some issues with chunk loading.
- Added support for entity animations, like seeing people pick up items and swing their arms. Entities on the other side of portals also now flash red when damaged.
- Fixed issues with hiding portal blocks.
----------, Sep 20, 2020

Changes this update
- Support for hiding the portal blocks to make it easier to see through the portal (you can change it in config.yml)
- HUGE internal changes that lead to FAR increased performance - several times faster than the previous version
- Fixed relighting portals doesn't lead to the same destination
- Fixed portals not rendering until moving after changing worlds.
----------, Sep 16, 2020

This is a pretty major update that's been in the works for a while

Changes:
- Fixed bug where the blocks sometimes aren't rendered before moving after logging in.
- Fixed bug where the portal sometimes doesn't render when changing worlds.
- Fixed errors involving entities on 1.13 and 1.12.
- Improved performance of checking the nearest portal to the player. (In the past all portals were forced to be loaded, this is no longer the case)
- Fixed certain block types not working and revealing the default terrain around the portal.
- Added additional statistics for me to look at. (Don't worry, they don't decrease performance at all)

- Entities can now be seen through portals!
I've been working on this for a while, and I'm glad I finally got it to work.

There are some limitations that you should know:
- Certain entity animations, like placing and breaking blocks don't show. (the blocks do appear and disappear, but you can't see player's hand placing them)
- Some entity types may not work, I've tested the main ones, including items, paintings, item frames, zombies, zombie pigmen and most passive mobs.
- Entities don't really move a lot on the other side of portals - this is a minecraft issue, and is caused by the players not being nearby. Any plugin devs reading this telling me that I need to keep the chunks loaded for them to move - this is not the case. I tried that, but it looks as if entities moving is based on player proximity, and not whether the chunk is loaded.
- Version 1.13 has a few glitches, but generally works OK

As for some additional things I have noticed, using Aikar's Flags really helps improve performance of this plugin by tuning the garbage collector.

If you made a review saying that you wanted entities, please consider leaving another. It really helps support the plugin.
----------, Sep 6, 2020

What's new?:
- /bp reload command for reloading the config while the server is running
- Now, entities that are on the other side of portals, that you shouldn't be able to see, will be automatically hidden and then re-shown again.

Now, all the groundwork has been put in to have entities visible through portals, this should come next update if I can get it to work right.
----------, Aug 30, 2020

Added bStats so I can see how many people are using the plugin, as well a custom metric of how many portals are active.

All the data can be viewed here: https://bstats.org/plugin/bukkit/BetterPortals/8669

This does significantly increase the plugin size, although it's worth it for me to be able to see which versions are most common and things like that.
----------, Aug 27, 2020

Version 1.16.2 brought with it some changes to how PacketPlayOutMultiBlockChange is handled in the minecraft code. This version adds support for 1.16.2. (don't worry, it also works with older versions as well) Please make an issue on github if it is not working for you.
----------, Aug 26, 2020

Re-added support for 1.12. This took a while lol.
----------, Aug 2, 2020

Support for 1.13 has been added using sneaky methods ;)
----------, Jul 30, 2020

Portal rendering is now done on a second thread so it doesn't hold up the server too much. (Don't worry, the second thread doesn't access the bukkit API, this is completely safe AFAIK). Also, blocks that are fully obscured by other solid blocks are no longer sent to the player
----------, Jul 29, 2020

In this update, I changed the MultiBlockChangePacket code to use reflection meaning that the plugin now supports 1.14 and 1.16 (yes, I could use ProtocolLib, but I don't want people to have to download it when updating). I will not be adding support for 1.13, due to an annoying change in the PortalCreateEvent.
----------, Jul 26, 2020

WARNING: Technical details

Changed rendering system to use PacketPlayOutMultiBlockChange, this helps performance by bundling block change packets into a single packet.
Changed rendering system only re-render the portal view when the player moves - this should be a large performance improvement.

Increased default render distance due to these optimizations.

Support for 1.13, 1.14, and 1.16 should come in the next update
----------, Jul 25, 2020

Fixed a NullPointerException that occurred due to the plugin being loaded before multiverse core.

To fix this, I added multiverse as an optional dependency, to ensure that it is always loaded before BetterPortals, so that all worlds are loaded.

Link to issue: https://github.com/Lauriethefish/BetterPortals/issues/1
----------, May 22, 2020

Fixed a pretty nasty bug that completely broke all end portals. I can't believe I didn't spot that! Some small changes also made to the code that should make it easier to work with.
----------, May 9, 2020


Added support for the /reload command, as using this previously causes spammy error messages if players didn't reconnect
----------, Mar 30, 2020

Fixed bug involving portals spawning beyond the world border. Portals should always now limit themselves to be within the world border. They are also automatically deleted when the plugin detects that they are outside the world border. This may happen if the world border is shrinking for example.
----------, Feb 26, 2020

Changed the plugin's code to work with 1.15.2. This mostly involved using BlockData instead of a data value. You can view changes on github
----------, Feb 24, 2020

Removed the plugin enable message. (This is unnecessary as spigot prints one for us). Fixed bug involving portals spawning in water - this happened due to the spawning system counting water as a non solid block - therefore allowing a portal to spawn in it.
----------, Feb 23, 2020

Resource Information
Author:
----------
Total Downloads: 71,087
First Release: Feb 22, 2020
Last Update: Jul 10, 2022
Category: ---------------
All-Time Rating:
78 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings