Java源码示例:org.spongepowered.api.event.entity.living.humanoid.player.RespawnPlayerEvent
示例1
@Listener(order = Order.LAST)
public void onPlayerRespawn(RespawnPlayerEvent event) {
GPTimings.PLAYER_RESPAWN_EVENT.startTimingIfSync();
Player player = event.getTargetEntity();
if (!GriefPreventionPlugin.instance.claimsEnabledForWorld(player.getWorld().getProperties())) {
GPTimings.PLAYER_RESPAWN_EVENT.stopTimingIfSync();
return;
}
GPPlayerData playerData = GriefPreventionPlugin.instance.dataStore.getOrCreatePlayerData(player.getWorld(), player.getUniqueId());
playerData.lastSpawn = Calendar.getInstance().getTimeInMillis();
playerData.lastPvpTimestamp = 0; // no longer in pvp combat
// also send him any messaged from grief prevention he would have
// received while dead
if (playerData.messageOnRespawn != null) {
// color is already embedded inmessage in this case
GriefPreventionPlugin.sendMessage(player, Text.of(playerData.messageOnRespawn), 40L);
playerData.messageOnRespawn = null;
}
GriefPreventionPlugin.instance.checkPvpProtectionNeeded(player);
GPTimings.PLAYER_RESPAWN_EVENT.stopTimingIfSync();
}
示例2
@Listener(order = Order.FIRST, beforeModifications = true)
public void onPlayerRespawn(RespawnPlayerEvent event) {
final World world = event.getToTransform().getExtent();
if (!GriefDefenderPlugin.getInstance().claimsEnabledForWorld(world.getUniqueId())) {
return;
}
final GDPlayerData playerData = GriefDefenderPlugin.getInstance().dataStore.getOrCreatePlayerData(event.getTargetEntity().getWorld(), event.getTargetEntity().getUniqueId());
playerData.lastPvpTimestamp = null;
}
示例3
@Listener
public void onRespawn(RespawnPlayerEvent e) {
sendDelayedArmorUpdate(e.getTargetEntity());
}
示例4
@Listener
public void onRespawn(RespawnPlayerEvent e) {
sendDelayedArmorUpdate(e.getTargetEntity());
}