[SPIGOT-6684] Add PlayerPostRespawnEvent Created: 01/Aug/21  Updated: 02/Aug/21  Resolved: 01/Aug/21

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Minor
Reporter: Joel Paulien Assignee: Unassigned
Resolution: Won't Fix Votes: 0
Labels: Craftbukkit, bukkit, event

Version: This server is running CraftBukkit version git-Bukkit-97f629b (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT)
Guidelines Read: Yes

 Description   

Add an event that is fired after the player has respawned. Without this event, some of the logic in the PlayerRespawnEvent, such as giving the player some inventory items, has to be done through a task set to run at least one tick later.



 Comments   
Comment by Joel Paulien [ 02/Aug/21 ]

Can I get some sort of response here?

Comment by Joel Paulien [ 02/Aug/21 ]

Alright, you do seem to have a reason for saying that. The following is a test that I did to see what works and what doesn't without having some of the code run later:

 

    @EventHandler (priority = EventPriority.HIGHEST)
    public void onPlayerRespawn(PlayerRespawnEvent event) {
        final Player player = event.getPlayer();
        Inventory inventory = player.getInventory();
        
        ItemStack[] invStack = new ItemStack[35];
        
        for (int i = 0; i < invStack.length; i++) {
            invStack[i] = new ItemStack(Material.GOLDEN_APPLE, 5);
        }
        
        inventory.setContents(invStack);
        inventory.addItem(new ItemStack(Material.NETHERITE_SWORD, 2));            

        Bukkit.getScheduler().scheduleSyncDelayedTask(this, () -> {
            player.setHealth(10);
            player.setFoodLevel(5);
            player.giveExpLevels(5000000);
        }, 1);
    }

The PlayerPostRespawnEvent wouldn't need the code to be run later. I don't know if you want to relocate the PlayerRespawnEvent call or not. I just figured I'd let you know what I did.

Comment by md_5 [ 01/Aug/21 ]

No, this is a terrible idea, otherwise every event would have a post event. If 'some logic' cannot be done in the existing event, then that is a bug in the event.

Generated at Fri Apr 11 15:19:21 UTC 2025 using Jira 10.3.3#10030003-sha1:d220e3fefc8dfc6d47f522d3b9a20c1455e12b7b.