mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-30 16:19:03 +01:00
Entity AddTo/RemoveFrom World Events
This commit is contained in:
parent
1e271136de
commit
7ad9895c25
3 changed files with 90 additions and 1 deletions
|
@ -0,0 +1,44 @@
|
||||||
|
package com.destroystokyo.paper.event.entity;
|
||||||
|
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||||
|
import org.bukkit.event.entity.EntityEvent;
|
||||||
|
import org.jetbrains.annotations.ApiStatus;
|
||||||
|
import org.jspecify.annotations.NullMarked;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fired any time an entity is being added to the world for any reason (including a chunk loading).
|
||||||
|
* <p>
|
||||||
|
* Not to be confused with {@link CreatureSpawnEvent}
|
||||||
|
*/
|
||||||
|
@NullMarked
|
||||||
|
public class EntityAddToWorldEvent extends EntityEvent {
|
||||||
|
|
||||||
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||||
|
|
||||||
|
private final World world;
|
||||||
|
|
||||||
|
@ApiStatus.Internal
|
||||||
|
public EntityAddToWorldEvent(final Entity entity, final World world) {
|
||||||
|
super(entity);
|
||||||
|
this.world = world;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return The world that the entity is being added to
|
||||||
|
*/
|
||||||
|
public World getWorld() {
|
||||||
|
return this.world;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HandlerList getHandlers() {
|
||||||
|
return HANDLER_LIST;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return HANDLER_LIST;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.destroystokyo.paper.event.entity;
|
||||||
|
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
import org.bukkit.event.entity.EntityEvent;
|
||||||
|
import org.jetbrains.annotations.ApiStatus;
|
||||||
|
import org.jspecify.annotations.NullMarked;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fired any time an entity is being removed from a world for any reason (including a chunk unloading).
|
||||||
|
* Note: The entity is updated prior to this event being called, as such, the entity's world may not be equal to {@link #getWorld()}.
|
||||||
|
*/
|
||||||
|
@NullMarked
|
||||||
|
public class EntityRemoveFromWorldEvent extends EntityEvent {
|
||||||
|
|
||||||
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||||
|
|
||||||
|
private final World world;
|
||||||
|
|
||||||
|
@ApiStatus.Internal
|
||||||
|
public EntityRemoveFromWorldEvent(final Entity entity, final World world) {
|
||||||
|
super(entity);
|
||||||
|
this.world = world;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return The world that the entity is being removed from
|
||||||
|
*/
|
||||||
|
public World getWorld() {
|
||||||
|
return this.world;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HandlerList getHandlers() {
|
||||||
|
return HANDLER_LIST;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return HANDLER_LIST;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
package org.bukkit.event.entity;
|
package org.bukkit.event.entity;
|
||||||
|
|
||||||
|
import com.destroystokyo.paper.event.entity.EntityRemoveFromWorldEvent;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
import org.jetbrains.annotations.ApiStatus;
|
import org.jetbrains.annotations.ApiStatus;
|
||||||
|
@ -11,8 +12,9 @@ import org.jetbrains.annotations.NotNull;
|
||||||
* This event should only be used for monitoring. The result
|
* This event should only be used for monitoring. The result
|
||||||
* of modifying the entity during or after this event is unspecified.
|
* of modifying the entity during or after this event is unspecified.
|
||||||
* This event is not called for a {@link org.bukkit.entity.Player}.
|
* This event is not called for a {@link org.bukkit.entity.Player}.
|
||||||
|
* @deprecated use {@link EntityRemoveFromWorldEvent} instead
|
||||||
*/
|
*/
|
||||||
@ApiStatus.Experimental
|
@Deprecated(forRemoval = true)
|
||||||
public class EntityRemoveEvent extends EntityEvent {
|
public class EntityRemoveEvent extends EntityEvent {
|
||||||
|
|
||||||
private static final HandlerList handlers = new HandlerList();
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
@ -112,5 +114,6 @@ public class EntityRemoveEvent extends EntityEvent {
|
||||||
* When the chunk an entity is in gets unloaded.
|
* When the chunk an entity is in gets unloaded.
|
||||||
*/
|
*/
|
||||||
UNLOAD,
|
UNLOAD,
|
||||||
|
DISCARD
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue