Adds nullability annotations among other things
Adds nullability annotations for all methods Fixes some nullability problems and inconsistencies Gets rid of RelativeBlockVector's inner class Changes RelativeBlockVector to a record Simplifies FromTheEndTeleportation's storage, and makes it into a minimal record Removes the putStringInList method Gets rid of some primitive list usage Fixes some incorrect method accessibility Removes some redundancy in PortalOption
This commit is contained in:
@@ -1,60 +1,16 @@
|
||||
package net.knarcraft.stargate.container;
|
||||
|
||||
import net.knarcraft.stargate.portal.Portal;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* This class represents a player teleporting from the end to the over-world using an artificial end portal
|
||||
* This class represents a teleportation from the end to the over-world using an artificial end portal
|
||||
*
|
||||
* <p>This is necessary because a player entering an end portal in the end is a special case. Instead of being
|
||||
* teleported, the player is respawned. Because of this, the teleportation needs to be saved and later used to hijack
|
||||
* the position of where the player is to respawn.</p>
|
||||
*
|
||||
* @param exitPortal <p>The portal the player should exit from when arriving in the over-world</p>
|
||||
*/
|
||||
public class FromTheEndTeleportation {
|
||||
|
||||
private final Player teleportingPlayer;
|
||||
private final Portal exitPortal;
|
||||
|
||||
/**
|
||||
* Instantiates a new teleportation from the end
|
||||
*
|
||||
* @param teleportingPlayer <p>The teleporting player</p>
|
||||
* @param exitPortal <p>The portal to exit from</p>
|
||||
*/
|
||||
public FromTheEndTeleportation(Player teleportingPlayer, Portal exitPortal) {
|
||||
this.teleportingPlayer = teleportingPlayer;
|
||||
this.exitPortal = exitPortal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the teleporting player
|
||||
*
|
||||
* @return <p>The teleporting player</p>
|
||||
*/
|
||||
public Player getPlayer() {
|
||||
return this.teleportingPlayer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the portal to exit from
|
||||
*
|
||||
* @return <p>The portal to exit from</p>
|
||||
*/
|
||||
public Portal getExit() {
|
||||
return this.exitPortal;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return teleportingPlayer.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (!(other instanceof FromTheEndTeleportation otherTeleportation)) {
|
||||
return false;
|
||||
}
|
||||
return teleportingPlayer.equals(otherTeleportation.teleportingPlayer);
|
||||
}
|
||||
|
||||
public record FromTheEndTeleportation(@NotNull Portal exitPortal) {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user