mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-09-29 07:07:30 +02:00
Refactor to reduce complexity
This commit is contained in:
parent
9ccdcceaba
commit
f1eaa0fcde
@ -9,6 +9,7 @@ import org.bukkit.event.inventory.ClickType;
|
|||||||
import world.bentobox.bentobox.BentoBox;
|
import world.bentobox.bentobox.BentoBox;
|
||||||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||||
import world.bentobox.bentobox.api.events.flags.FlagSettingChangeEvent;
|
import world.bentobox.bentobox.api.events.flags.FlagSettingChangeEvent;
|
||||||
|
import world.bentobox.bentobox.api.flags.Flag;
|
||||||
import world.bentobox.bentobox.api.localization.TextVariables;
|
import world.bentobox.bentobox.api.localization.TextVariables;
|
||||||
import world.bentobox.bentobox.api.panels.Panel;
|
import world.bentobox.bentobox.api.panels.Panel;
|
||||||
import world.bentobox.bentobox.api.panels.PanelItem.ClickHandler;
|
import world.bentobox.bentobox.api.panels.PanelItem.ClickHandler;
|
||||||
@ -60,18 +61,7 @@ public class IslandToggleClick implements ClickHandler {
|
|||||||
{
|
{
|
||||||
if (click.equals(ClickType.SHIFT_LEFT) && user.isOp())
|
if (click.equals(ClickType.SHIFT_LEFT) && user.isOp())
|
||||||
{
|
{
|
||||||
if (!plugin.getIWM().getHiddenFlags(user.getWorld()).contains(flag.getID()))
|
shiftLeftClick(user, flag);
|
||||||
{
|
|
||||||
plugin.getIWM().getHiddenFlags(user.getWorld()).add(flag.getID());
|
|
||||||
user.getPlayer().playSound(user.getLocation(), Sound.BLOCK_GLASS_BREAK, 1F, 1F);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
plugin.getIWM().getHiddenFlags(user.getWorld()).remove(flag.getID());
|
|
||||||
user.getPlayer().playSound(user.getLocation(), Sound.BLOCK_NOTE_BLOCK_CHIME, 1F, 1F);
|
|
||||||
}
|
|
||||||
// Save changes
|
|
||||||
plugin.getIWM().getAddon(user.getWorld()).ifPresent(GameModeAddon::saveWorldSettings);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -82,6 +72,16 @@ public class IslandToggleClick implements ClickHandler {
|
|||||||
user.notify("protection.panel.flag-item.setting-cooldown");
|
user.notify("protection.panel.flag-item.setting-cooldown");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
toggleFlag(user, flag, island);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
reportError(user, island);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void toggleFlag(User user, Flag flag, Island island) {
|
||||||
// Toggle flag
|
// Toggle flag
|
||||||
island.toggleFlag(flag);
|
island.toggleFlag(flag);
|
||||||
user.getPlayer().playSound(user.getLocation(), Sound.BLOCK_STONE_BUTTON_CLICK_ON, 1F, 1F);
|
user.getPlayer().playSound(user.getLocation(), Sound.BLOCK_STONE_BUTTON_CLICK_ON, 1F, 1F);
|
||||||
@ -102,9 +102,10 @@ public class IslandToggleClick implements ClickHandler {
|
|||||||
subflag,
|
subflag,
|
||||||
island.isAllowed(subflag))));
|
island.isAllowed(subflag))));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
} else {
|
private void reportError(User user, Island island) {
|
||||||
if (island == null) {
|
if (island == null) {
|
||||||
user.sendMessage("general.errors.not-on-island");
|
user.sendMessage("general.errors.not-on-island");
|
||||||
} else {
|
} else {
|
||||||
@ -115,7 +116,22 @@ public class IslandToggleClick implements ClickHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
user.getPlayer().playSound(user.getLocation(), Sound.BLOCK_METAL_HIT, 1F, 1F);
|
user.getPlayer().playSound(user.getLocation(), Sound.BLOCK_METAL_HIT, 1F, 1F);
|
||||||
|
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
|
private void shiftLeftClick(User user, Flag flag) {
|
||||||
|
if (!plugin.getIWM().getHiddenFlags(user.getWorld()).contains(flag.getID()))
|
||||||
|
{
|
||||||
|
plugin.getIWM().getHiddenFlags(user.getWorld()).add(flag.getID());
|
||||||
|
user.getPlayer().playSound(user.getLocation(), Sound.BLOCK_GLASS_BREAK, 1F, 1F);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
plugin.getIWM().getHiddenFlags(user.getWorld()).remove(flag.getID());
|
||||||
|
user.getPlayer().playSound(user.getLocation(), Sound.BLOCK_NOTE_BLOCK_CHIME, 1F, 1F);
|
||||||
|
}
|
||||||
|
// Save changes
|
||||||
|
plugin.getIWM().getAddon(user.getWorld()).ifPresent(GameModeAddon::saveWorldSettings);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user