mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-11-24 11:45:31 +01:00
Fixed EnterExitListener to support non-set Island's name
When an Island's name was reset (set to `null`) it was breaking EnterExitListener.
This commit is contained in:
parent
a29a2ccd8c
commit
353c87cf6d
@ -62,7 +62,7 @@ public class Island implements DataObject {
|
||||
|
||||
// Display name
|
||||
@Expose
|
||||
private String name = "";
|
||||
private String name;
|
||||
|
||||
// Time parameters
|
||||
@Expose
|
||||
@ -232,7 +232,7 @@ public class Island implements DataObject {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the island display name or the owner's name if none is set
|
||||
* @return the island display name. Might be {@code null} if none is set.
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
@ -472,11 +472,13 @@ public class Island implements DataObject {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param name - the display name to set
|
||||
* Set to null to remove the display name
|
||||
* Sets the display name of this Island.
|
||||
* <br/><br/>
|
||||
* An empty String or {@code null} will remove the display name.
|
||||
* @param name The display name to set.
|
||||
*/
|
||||
public void setName(String name){
|
||||
this.name = name;
|
||||
this.name = (name != null && !name.equals("")) ? name : null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -11,6 +11,7 @@ import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import world.bentobox.bentobox.api.flags.AbstractFlagListener;
|
||||
import world.bentobox.bentobox.api.localization.TextVariables;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.bentobox.database.objects.Island;
|
||||
import world.bentobox.bentobox.lists.Flags;
|
||||
@ -23,7 +24,6 @@ import world.bentobox.bentobox.lists.Flags;
|
||||
public class EnterExitListener extends AbstractFlagListener {
|
||||
|
||||
private static final Vector XZ = new Vector(1,0,1);
|
||||
private static final String NAME = "[name]";
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
|
||||
public void onMove(PlayerMoveEvent e) {
|
||||
@ -33,6 +33,7 @@ public class EnterExitListener extends AbstractFlagListener {
|
||||
|| !Flags.ENTER_EXIT_MESSAGES.isSetForWorld(e.getFrom().getWorld())) {
|
||||
return;
|
||||
}
|
||||
|
||||
Optional<Island> from = this.getIslands().getProtectedIslandAt(e.getFrom());
|
||||
Optional<Island> to = this.getIslands().getProtectedIslandAt(e.getTo());
|
||||
|
||||
@ -48,14 +49,16 @@ public class EnterExitListener extends AbstractFlagListener {
|
||||
if (from.equals(to)) {
|
||||
return;
|
||||
}
|
||||
|
||||
User user = User.getInstance(e.getPlayer());
|
||||
// Send message if island is owned by someone
|
||||
from.filter(i -> i.getOwner() != null).ifPresent(i -> user.sendMessage("protection.flags.ENTER_EXIT_MESSAGES.now-leaving", NAME, !i.getName().isEmpty() ? i.getName() :
|
||||
user.getTranslation("protection.flags.ENTER_EXIT_MESSAGES.island", NAME, getPlugin().getPlayers().getName(i.getOwner()))));
|
||||
to.filter(i -> i.getOwner() != null).ifPresent(i -> user.sendMessage("protection.flags.ENTER_EXIT_MESSAGES.now-entering", NAME, !i.getName().isEmpty() ? i.getName() :
|
||||
user.getTranslation("protection.flags.ENTER_EXIT_MESSAGES.island", NAME, getPlugin().getPlayers().getName(i.getOwner()))));
|
||||
from.filter(i -> i.getOwner() != null).ifPresent(i -> user.sendMessage("protection.flags.ENTER_EXIT_MESSAGES.now-leaving", TextVariables.NAME, (i.getName() != null) ? i.getName() :
|
||||
user.getTranslation("protection.flags.ENTER_EXIT_MESSAGES.island", TextVariables.NAME, getPlugin().getPlayers().getName(i.getOwner()))));
|
||||
to.filter(i -> i.getOwner() != null).ifPresent(i -> user.sendMessage("protection.flags.ENTER_EXIT_MESSAGES.now-entering", TextVariables.NAME, (i.getName() != null) ? i.getName() :
|
||||
user.getTranslation("protection.flags.ENTER_EXIT_MESSAGES.island", TextVariables.NAME, getPlugin().getPlayers().getName(i.getOwner()))));
|
||||
|
||||
// Send message if island is unowned, but has a name
|
||||
from.filter(i -> i.getOwner() == null && !i.getName().isEmpty()).ifPresent(i -> user.sendMessage("protection.flags.ENTER_EXIT_MESSAGES.now-leaving", NAME, i.getName()));
|
||||
to.filter(i -> i.getOwner() == null && !i.getName().isEmpty()).ifPresent(i -> user.sendMessage("protection.flags.ENTER_EXIT_MESSAGES.now-entering", NAME, i.getName()));
|
||||
from.filter(i -> i.getOwner() == null && (i.getName() != null)).ifPresent(i -> user.sendMessage("protection.flags.ENTER_EXIT_MESSAGES.now-leaving", TextVariables.NAME, i.getName()));
|
||||
to.filter(i -> i.getOwner() == null && (i.getName() != null)).ifPresent(i -> user.sendMessage("protection.flags.ENTER_EXIT_MESSAGES.now-entering", TextVariables.NAME, i.getName()));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user