Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import org.bukkit.event.player.PlayerExpCooldownChangeEvent.ChangeReason;
import org.bukkit.event.player.PlayerQuitEvent.QuitReason;
import org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
import org.bukkit.event.player.PlayerRespawnEvent.RespawnReason;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.BlockInventoryHolder;
import org.bukkit.inventory.EquipmentSlot;
Expand Down Expand Up @@ -781,6 +782,12 @@ protected boolean canBeInstantiated() {
.description("The spawn reason in a <a href='#spawn'>spawn</a> event.")
.since("2.3"));

Classes.registerClass(new EnumClassInfo<>(RespawnReason.class, "respawnreason", "respawn reasons")
.user("respawn(ing)? ?reasons?")
.name("Respawn Reason")
.description("The respawn reason in a <a href='#respawn'>respawn</a> event.")
.since("INSERT VERSION"));

if (Skript.classExists("com.destroystokyo.paper.event.server.PaperServerListPingEvent")) {
Classes.registerClass(new ClassInfo<>(CachedServerIcon.class, "cachedservericon")
.user("server ?icons?")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
import org.bukkit.event.player.*;
import org.bukkit.event.player.PlayerExpCooldownChangeEvent.ChangeReason;
import org.bukkit.event.player.PlayerQuitEvent.QuitReason;
import org.bukkit.event.player.PlayerRespawnEvent.RespawnReason;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.event.server.ServerCommandEvent;
import org.bukkit.event.vehicle.*;
Expand Down Expand Up @@ -547,6 +548,8 @@ else if (hand == EquipmentSlot.OFF_HAND)
}
//CreatureSpawnEvent
EventValues.registerEventValue(CreatureSpawnEvent.class, SpawnReason.class, CreatureSpawnEvent::getSpawnReason);
//PlayerRespawnEvent
EventValues.registerEventValue(PlayerRespawnEvent.class, RespawnReason.class, PlayerRespawnEvent::getRespawnReason);
//FireworkExplodeEvent
EventValues.registerEventValue(FireworkExplodeEvent.class, Firework.class, FireworkExplodeEvent::getEntity);
EventValues.registerEventValue(FireworkExplodeEvent.class, FireworkEffect.class, event -> {
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/ch/njol/skript/events/SimpleEvents.java
Original file line number Diff line number Diff line change
Expand Up @@ -205,9 +205,9 @@ public class SimpleEvents {
"on disconnect:")
.since("1.0 (simple disconnection)");
Skript.registerEvent("Respawn", SimpleEvent.class, PlayerRespawnEvent.class, "[player] respawn[ing]")
.description("Called when a player respawns. You should prefer this event over the <a href='#death'>death event</a> as the player is technically alive when this event is called.")
.description("Called when a player respawns via death or entering the end portal in the end. You should prefer this event over the <a href='#death'>death event</a> as the player is technically alive when this event is called.")
.examples("on respawn:")
.since("1.0");
.since("1.0, INSERT VERSION (respawn reason)");
Skript.registerEvent("Sneak Toggle", SimpleEvent.class, PlayerToggleSneakEvent.class, "[player] toggl(e|ing) sneak", "[player] sneak toggl(e|ing)")
.description("Called when a player starts or stops sneaking. Use <a href='#CondIsSneaking'>is sneaking</a> to get whether the player was sneaking before the event was called.")
.examples("# make players that stop sneaking jump",
Expand Down
29 changes: 29 additions & 0 deletions src/main/java/ch/njol/skript/expressions/ExprRespawnReason.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package ch.njol.skript.expressions;

import org.bukkit.event.player.PlayerRespawnEvent.RespawnReason;

import ch.njol.skript.doc.Description;
import ch.njol.skript.doc.Examples;
import ch.njol.skript.doc.Name;
import ch.njol.skript.doc.Since;
import ch.njol.skript.expressions.base.EventValueExpression;

@Name("Respawn Reason")
@Description("The <a href='#respawnreason'>respawn reason</a> in a <a href='#respawn'>respawn</a> event.")
@Examples({
"on respawn:",
"\tif respawn reason is end portal:",
"\t\tbroadcast \"%player% took the end portal to the overworld!\""
})
@Since("INSERT VERSION")
public class ExprRespawnReason extends EventValueExpression<RespawnReason> {

static {
register(ExprRespawnReason.class, RespawnReason.class, "respawn[ing] reason");
}

public ExprRespawnReason() {
super(RespawnReason.class);
}

}
7 changes: 7 additions & 0 deletions src/main/resources/lang/default.lang
Original file line number Diff line number Diff line change
Expand Up @@ -2535,6 +2535,12 @@ spawn reasons:
rehydration: rehydration, rehydrated
build_coppergolem: build copper golem, built copper golem

# -- Respawn Reasons --
respawn reasons:
death: death
end_portal: end portal
plugin: plugin

# -- Difficulties --
difficulties:
easy: easy
Expand Down Expand Up @@ -3085,6 +3091,7 @@ types:
inventorytype: inventory type¦s @an
metadataholder: metadata holder¦s @a
spawnreason: spawn reason¦s @a
respawnreason: respawn reason¦s @a
cachedservericon: server icon¦s @a
difficulty: difficult¦y¦ies @a
fireworkeffect: firework effect¦s @a
Expand Down
Loading