Transport non-player entities through gates too
GateTeleportListener previously only listened to PlayerMoveEvent, so mobs, dropped items, minecarts, boats, and everything else that isn't a player just walked/rolled/drifted straight through the event horizon block with no effect. Added a Paper EntityMoveEvent handler sharing the same one-way/outgoing-only matching, safe-landing, and cooldown logic as the player path. Non-player entities are restricted to same-server destinations - the cross-server plugin-messaging protocol only carries a player's UUID and look direction across the proxy hop, not arbitrary entity state, so there's no way to hand off a mob or item to another backend.
This commit is contained in:
@@ -60,12 +60,18 @@ material, unsealed interior, too far from the sign, etc.
|
||||
- **Left-click** the sign: dials the shown destination - chevrons light in sequence,
|
||||
then the interior becomes the event horizon (`gate.iris-open-material`, default
|
||||
water) and travel opens up. It auto-closes after `dialing.open-seconds`.
|
||||
- Travel is **one-way**: only the gate you dialed *from* can send you anywhere.
|
||||
Walking into its event horizon teleports you to the destination, arriving just
|
||||
clear of its iris (never inside it) and still facing whatever direction you were
|
||||
already walking, so entering forward always means exiting forward. The
|
||||
destination's horizon is visible but not walkable - stepping into it does nothing,
|
||||
same as a real Stargate only running one direction at a time.
|
||||
- Travel is **one-way**: only the gate you dialed *from* can send anything anywhere.
|
||||
Walking (or wandering, or drifting) into its event horizon teleports whatever
|
||||
entered to the destination, arriving just clear of its iris (never inside it) and
|
||||
still facing whatever direction it was already moving, so entering forward always
|
||||
means exiting forward. The destination's horizon is visible but not walkable -
|
||||
stepping into it does nothing, same as a real Stargate only running one direction
|
||||
at a time.
|
||||
- Not just players - mobs, dropped items, minecarts, boats, arrows, anything that
|
||||
moves through the event horizon gets sent through too. Non-player entities can
|
||||
only travel to a same-server destination, though; there's no way to carry an
|
||||
arbitrary entity's state across the Velocity/Bungee plugin-messaging hop, so a
|
||||
cross-server gate just won't move anything but players.
|
||||
- The **iris shield** is a separate, physical thing from the wormhole connection.
|
||||
**Right-click a button placed directly below the sign** to toggle it. Closed means
|
||||
closed - `gate.iris-shield-material` (default bedrock), solid, blocking everything -
|
||||
|
||||
Reference in New Issue
Block a user