fix: tp to spawn on respawn & save config

This commit is contained in:
hexlocation 2025-04-26 19:37:23 +02:00
parent d0e6f470c8
commit 4210826715
3 changed files with 29 additions and 0 deletions

View file

@ -25,6 +25,7 @@ import rip.iwakura.civil.events.TeamChatHandler;
import rip.iwakura.civil.commands.Spawn;
import rip.iwakura.civil.commands.Team;
import rip.iwakura.civil.events.JoinHandler;
import rip.iwakura.civil.events.RespawnHandler;
import rip.iwakura.civil.types.CivilPlayer;
public class Core extends JavaPlugin {
@ -109,5 +110,6 @@ public class Core extends JavaPlugin {
getServer().getPluginManager().registerEvents(new JoinHandler(database), this);
getServer().getPluginManager().registerEvents(new ChatHandler(this), this);
getServer().getPluginManager().registerEvents(new TeamChatHandler(this), this);
getServer().getPluginManager().registerEvents(new RespawnHandler(this), this);
}
}

View file

@ -62,6 +62,10 @@ public class Spawn {
core.getConfig().set("spawn.yaw", loc.getYaw());
core.getConfig().set("spawn.pitch", loc.getPitch());
core.getServer().getWorld("world").setSpawnLocation(loc);
core.saveConfig();
p.sendMessage(MiniMessage.miniMessage().deserialize("<green>Set the server spawn to your current position."));
return Command.SINGLE_SUCCESS;

View file

@ -0,0 +1,23 @@
package rip.iwakura.civil.events;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import rip.iwakura.civil.Core;
public class RespawnHandler implements Listener {
private Core core;
public RespawnHandler(Core core) {
this.core = core;
}
@EventHandler
public void respawnEvent(PlayerRespawnEvent ev) {
if (ev.isBedSpawn()) return;
ev.setRespawnLocation(core.getSpawn());
}
}