File tree Expand file tree Collapse file tree 2 files changed +39
-0
lines changed
src/main/java/net/azisaba/afnw/afnwcore2 Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Original file line number Diff line number Diff line change 2020import net .azisaba .afnw .afnwcore2 .listeners .player .FirstPlayerJoinListener ;
2121import net .azisaba .afnw .afnwcore2 .listeners .player .JoinListener ;
2222import net .azisaba .afnw .afnwcore2 .listeners .player .QuitListener ;
23+ import net .azisaba .afnw .afnwcore2 .listeners .player .RespawnNether ;
2324import net .azisaba .afnw .afnwcore2 .util .data .PlayerData ;
2425import net .azisaba .afnw .afnwcore2 .util .data .PlayerDataSave ;
2526import org .bukkit .Bukkit ;
@@ -61,6 +62,7 @@ public void onEnable() {
6162 pluginEvent .registerEvents (new DeathListener (), this );
6263 pluginEvent .registerEvents (new FirstPlayerJoinListener (this , data ), this );
6364 pluginEvent .registerEvents (new AFKListener (this ), this );
65+ pluginEvent .registerEvents (new RespawnNether (this ), this );
6466 /* エンティティリスナー */
6567 pluginEvent .registerEvents (new WitherSpawn (this ), this );
6668 getLogger ().info ("Listener 設定完了" );
Original file line number Diff line number Diff line change 1+ package net .azisaba .afnw .afnwcore2 .listeners .player ;
2+
3+ import org .bukkit .Bukkit ;
4+ import org .bukkit .Location ;
5+ import org .bukkit .World ;
6+ import org .bukkit .World .Environment ;
7+ import org .bukkit .configuration .file .FileConfiguration ;
8+ import org .bukkit .entity .Player ;
9+ import org .bukkit .event .EventHandler ;
10+ import org .bukkit .event .Listener ;
11+ import org .bukkit .event .player .PlayerRespawnEvent ;
12+ import org .bukkit .plugin .java .JavaPlugin ;
13+
14+ public record RespawnNether (JavaPlugin plugin ) implements Listener {
15+
16+ @ EventHandler
17+ public void onRespawn (PlayerRespawnEvent e ) {
18+ Player p = e .getPlayer ();
19+ if (e .getRespawnLocation ().getWorld ().getEnvironment () != Environment .NETHER ) {
20+ return ;
21+ }
22+
23+ Location respawn = p .getBedSpawnLocation ();
24+
25+ if (respawn == null ) {
26+ FileConfiguration config = plugin .getConfig ();
27+ World lobby = Bukkit .getWorld (config .getString ("tp.lobby_world_name" , "lobby" ));
28+ if (lobby == null ) {
29+ throw new NullPointerException ("Lobby World could not be found" );
30+ }
31+ e .setRespawnLocation (lobby .getSpawnLocation ());
32+ } else {
33+ e .setRespawnLocation (respawn );
34+ }
35+ }
36+
37+ }
You can’t perform that action at this time.
0 commit comments