Add cancellable events

This commit is contained in:
Len
2024-05-25 20:14:10 +02:00
parent 6e8fce7560
commit 99798266b4
12 changed files with 270 additions and 6 deletions
@@ -4,6 +4,8 @@ import com.alttd.essentia.EssentiaPlugin;
import com.alttd.essentia.commands.PlayerSubCommand;
import com.alttd.essentia.configuration.Config;
import com.alttd.essentia.configuration.PlayerConfig;
import com.alttd.essentia.events.EssentiaEvent;
import com.alttd.essentia.events.PlayerTeleportBackEvent;
import com.alttd.essentia.tasks.TeleportSounds;
import org.bukkit.Location;
import org.bukkit.entity.Player;
@@ -22,7 +24,10 @@ public class BackCommand extends PlayerSubCommand {
player.sendRichMessage(Config.NO_BACK_LOCATION);
return true;
}
EssentiaEvent event = new PlayerTeleportBackEvent(player, back);
if (!event.callEvent()) {
return true;
}
new TeleportSounds(back, player.getLocation())
.runTaskLater(plugin, 1);
@@ -4,6 +4,8 @@ import com.alttd.essentia.EssentiaPlugin;
import com.alttd.essentia.commands.PlayerSubCommand;
import com.alttd.essentia.configuration.Config;
import com.alttd.essentia.configuration.PlayerConfig;
import com.alttd.essentia.events.EssentiaEvent;
import com.alttd.essentia.events.PlayerTeleportBackEvent;
import com.alttd.essentia.tasks.TeleportSounds;
import org.bukkit.Location;
import org.bukkit.entity.Player;
@@ -22,7 +24,10 @@ public class DeathBackCommand extends PlayerSubCommand {
player.sendRichMessage(Config.NO_DEATH_LOCATION);
return true;
}
EssentiaEvent event = new PlayerTeleportBackEvent(player, back);
if (!event.callEvent()) {
return true;
}
new TeleportSounds(back, player.getLocation())
.runTaskLater(plugin, 1);
@@ -4,6 +4,9 @@ import com.alttd.essentia.EssentiaPlugin;
import com.alttd.essentia.commands.PlayerSubCommand;
import com.alttd.essentia.configuration.Config;
import com.alttd.essentia.configuration.PlayerConfig;
import com.alttd.essentia.events.EssentiaEvent;
import com.alttd.essentia.events.PlayerRemoveHomeEvent;
import com.alttd.essentia.events.PlayerTeleportBackEvent;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.bukkit.entity.Player;
@@ -27,7 +30,10 @@ public class DelHomeCommand extends PlayerSubCommand {
player.sendRichMessage(Config.HOME_DOES_NOT_EXIST, Placeholder.unparsed("home", home));
return true;
}
EssentiaEvent event = new PlayerRemoveHomeEvent(player, home);
if (!event.callEvent()) {
return true;
}
playerConfig.setHome(home, null);
player.sendRichMessage(Config.HOME_DELETED, Placeholder.unparsed("home", home));
return true;
@@ -4,6 +4,9 @@ import com.alttd.essentia.EssentiaPlugin;
import com.alttd.essentia.commands.PlayerSubCommand;
import com.alttd.essentia.configuration.Config;
import com.alttd.essentia.configuration.PlayerConfig;
import com.alttd.essentia.events.EssentiaEvent;
import com.alttd.essentia.events.PlayerTeleportBackEvent;
import com.alttd.essentia.events.PlayerTeleportHomeEvent;
import com.alttd.essentia.tasks.TeleportSounds;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.bukkit.Location;
@@ -57,7 +60,10 @@ public class HomeCommand extends PlayerSubCommand {
player.sendRichMessage(Config.HOME_DOES_NOT_EXIST, Placeholder.parsed("home", home));
return true;
}
EssentiaEvent event = new PlayerTeleportHomeEvent(player, homeLoc, home);
if (!event.callEvent()) {
return true;
}
new TeleportSounds(homeLoc, player.getLocation())
.runTaskLater(plugin, 1);
@@ -4,7 +4,11 @@ import com.alttd.essentia.EssentiaPlugin;
import com.alttd.essentia.commands.PlayerSubCommand;
import com.alttd.essentia.configuration.Config;
import com.alttd.essentia.configuration.PlayerConfig;
import com.alttd.essentia.events.EssentiaEvent;
import com.alttd.essentia.events.PlayerSetHomeEvent;
import com.alttd.essentia.events.PlayerTeleportHomeEvent;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.bukkit.Location;
import org.bukkit.entity.Player;
public class SetHomeCommand extends PlayerSubCommand {
@@ -35,8 +39,12 @@ public class SetHomeCommand extends PlayerSubCommand {
player.sendRichMessage(Config.HOME_SET_MAX, Placeholder.unparsed("limit", String.valueOf(limit)));
return true;
}
playerConfig.setHome(home, player.getLocation());
Location homeLoc = player.getLocation();
EssentiaEvent event = new PlayerSetHomeEvent(player, homeLoc, home);
if (!event.callEvent()) {
return true;
}
playerConfig.setHome(home, homeLoc);
player.sendRichMessage(Config.HOME_SET, Placeholder.unparsed("home", home));
return true;
}
@@ -4,6 +4,9 @@ import com.alttd.essentia.EssentiaPlugin;
import com.alttd.essentia.commands.PlayerSubCommand;
import com.alttd.essentia.configuration.Config;
import com.alttd.essentia.configuration.PlayerConfig;
import com.alttd.essentia.events.EssentiaEvent;
import com.alttd.essentia.events.PlayerSetHomeEvent;
import com.alttd.essentia.events.PlayerTeleportSpawnEvent;
import com.alttd.essentia.tasks.TeleportSounds;
import org.bukkit.Location;
import org.bukkit.World;
@@ -23,6 +26,10 @@ public class SpawnCommand extends PlayerSubCommand {
return true;
}
Location spawnLocation = world.getSpawnLocation();
EssentiaEvent event = new PlayerTeleportSpawnEvent(player, spawnLocation);
if (!event.callEvent()) {
return true;
}
new TeleportSounds(spawnLocation, player.getLocation())
.runTaskLater(plugin, 1);