Skip to content

Commit

Permalink
entity death event advanced text support (#2367)
Browse files Browse the repository at this point in the history
  • Loading branch information
tal5 authored Aug 28, 2022
1 parent 98b6814 commit 8dac5d0
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.inventory.Inventory;
Expand Down Expand Up @@ -192,4 +193,14 @@ public boolean isDenizenMix(ItemStack currInput, ItemStack ingredient) {
}
return false;
}

@Override
public String getDeathMessage(PlayerDeathEvent event) {
return PaperModule.stringifyComponent(event.deathMessage(), ChatColor.WHITE);
}

@Override
public void setDeathMessage(PlayerDeathEvent event, String message) {
event.deathMessage(PaperModule.parseFormattedText(message, ChatColor.WHITE));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.denizenscript.denizen.objects.EntityTag;
import com.denizenscript.denizen.objects.ItemTag;
import com.denizenscript.denizen.utilities.AdvancedTextImpl;
import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData;
import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizencore.objects.*;
Expand Down Expand Up @@ -139,7 +140,7 @@ else if (Argument.valueOf(lower).matchesArgumentList(ItemTag.class)) {
return true;
}
else if (event instanceof PlayerDeathEvent) {
((PlayerDeathEvent) event).setDeathMessage(determination);
AdvancedTextImpl.instance.setDeathMessage((PlayerDeathEvent) event, determination);
return true;
}
else {
Expand All @@ -158,7 +159,7 @@ public ObjectTag getContext(String name) {
case "entity": return entity.getDenizenObject();
case "projectile": return projectile == null ? null : projectile.getDenizenObject();
case "damager": return damager == null ? null : damager.getDenizenObject();
case "message": return event instanceof PlayerDeathEvent ? new ElementTag(((PlayerDeathEvent) event).getDeathMessage()) : null;
case "message": return event instanceof PlayerDeathEvent ? new ElementTag(AdvancedTextImpl.instance.getDeathMessage((PlayerDeathEvent) event)) : null;
case "cause": return cause;
case "xp": return new ElementTag(event.getDroppedExp());
case "drops":
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.inventory.Inventory;
Expand Down Expand Up @@ -117,4 +118,12 @@ public void clearBrewingRecipes() {
public boolean isDenizenMix(ItemStack currInput, ItemStack ingredient) {
return false;
}

public String getDeathMessage(PlayerDeathEvent event) {
return event.getDeathMessage();
}

public void setDeathMessage(PlayerDeathEvent event, String message) {
event.setDeathMessage(message);
}
}

0 comments on commit 8dac5d0

Please sign in to comment.