mirror of
https://hub.spigotmc.org/stash/scm/spigot/spigot.git
synced 2025-09-18 21:33:01 +00:00

* Now Tracks Commands * Resolved Performance issue with Bukkit HandlerList method. Now all timings simply uses the Spigot System * Performance Improvement simply not using TimedRegisteredListener too * Bug with SyncChunkLoad tracking resolved. Now properly tracks many aspects of sync chunk load. * Reset/On/Off accuracy - should no longer have any issues turning it on/off during runtime, so this has been re-enabled. * Paste command on RCON now works * Now tracks everything related to plugins too, so you can easily see total plugin cost * Now tracks Tasks better and where they came from * Now tracks plugins event handlers to the Listener/Method name too. * Merged some Bukkit Patches so all timings changes are in 1 patch. * Moved back to a CLQ for CustomTimingsHandler for thread safety for when tasks are created Async but then executed sync.
220 lines
6.4 KiB
Diff
220 lines
6.4 KiB
Diff
From c8be8f50999261b2daa53788d2afff18c0f87476 Mon Sep 17 00:00:00 2001
|
|
From: Andy Shulman <andy.shulman@hotmail.com>
|
|
Date: Mon, 15 Apr 2013 20:06:01 -0500
|
|
Subject: [PATCH] Define EntitySpawnEvent and SpawnerSpawnEvent
|
|
|
|
Defines EntitySpawnEvent and SpawnerSpawnEvent. Adds BUKKIT-267 and BUKKIT-1559
|
|
|
|
diff --git a/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java b/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java
|
|
index 288e98b..8883157 100644
|
|
--- a/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java
|
|
@@ -4,17 +4,13 @@ import org.bukkit.Location;
|
|
import org.bukkit.entity.CreatureType;
|
|
import org.bukkit.entity.Entity;
|
|
import org.bukkit.entity.LivingEntity;
|
|
-import org.bukkit.event.Cancellable;
|
|
-import org.bukkit.event.HandlerList;
|
|
|
|
/**
|
|
* Called when a creature is spawned into a world.
|
|
* <p>
|
|
* If a Creature Spawn event is cancelled, the creature will not spawn.
|
|
*/
|
|
-public class CreatureSpawnEvent extends EntityEvent implements Cancellable {
|
|
- private static final HandlerList handlers = new HandlerList();
|
|
- private boolean canceled;
|
|
+public class CreatureSpawnEvent extends EntitySpawnEvent {
|
|
private final SpawnReason spawnReason;
|
|
|
|
public CreatureSpawnEvent(final LivingEntity spawnee, final SpawnReason spawnReason) {
|
|
@@ -28,29 +24,12 @@ public class CreatureSpawnEvent extends EntityEvent implements Cancellable {
|
|
spawnReason = reason;
|
|
}
|
|
|
|
- public boolean isCancelled() {
|
|
- return canceled;
|
|
- }
|
|
-
|
|
- public void setCancelled(boolean cancel) {
|
|
- canceled = cancel;
|
|
- }
|
|
-
|
|
@Override
|
|
public LivingEntity getEntity() {
|
|
return (LivingEntity) entity;
|
|
}
|
|
|
|
/**
|
|
- * Gets the location at which the creature is spawning.
|
|
- *
|
|
- * @return The location at which the creature is spawning
|
|
- */
|
|
- public Location getLocation() {
|
|
- return getEntity().getLocation();
|
|
- }
|
|
-
|
|
- /**
|
|
* Gets the type of creature being spawned.
|
|
*
|
|
* @return A CreatureType value detailing the type of creature being
|
|
@@ -72,15 +51,6 @@ public class CreatureSpawnEvent extends EntityEvent implements Cancellable {
|
|
return spawnReason;
|
|
}
|
|
|
|
- @Override
|
|
- public HandlerList getHandlers() {
|
|
- return handlers;
|
|
- }
|
|
-
|
|
- public static HandlerList getHandlerList() {
|
|
- return handlers;
|
|
- }
|
|
-
|
|
/**
|
|
* An enum to specify the type of spawning
|
|
*/
|
|
diff --git a/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
|
|
new file mode 100644
|
|
index 0000000..5dcf98f
|
|
--- /dev/null
|
|
+++ b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
|
|
@@ -0,0 +1,45 @@
|
|
+package org.bukkit.event.entity;
|
|
+
|
|
+import org.bukkit.Location;
|
|
+import org.bukkit.entity.Entity;
|
|
+import org.bukkit.event.HandlerList;
|
|
+
|
|
+/**
|
|
+ * Called when an entity is spawned into a world.
|
|
+ * <p>
|
|
+ * If an Entity Spawn event is cancelled, the entity will not spawn.
|
|
+ */
|
|
+public class EntitySpawnEvent extends EntityEvent implements org.bukkit.event.Cancellable {
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
+ private boolean canceled;
|
|
+
|
|
+ public EntitySpawnEvent(final Entity spawnee) {
|
|
+ super(spawnee);
|
|
+ }
|
|
+
|
|
+ public boolean isCancelled() {
|
|
+ return canceled;
|
|
+ }
|
|
+
|
|
+ public void setCancelled(boolean cancel) {
|
|
+ canceled = cancel;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the location at which the entity is spawning.
|
|
+ *
|
|
+ * @return The location at which the entity is spawning
|
|
+ */
|
|
+ public Location getLocation() {
|
|
+ return getEntity().getLocation();
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public HandlerList getHandlers() {
|
|
+ return handlers;
|
|
+ }
|
|
+
|
|
+ public static HandlerList getHandlerList() {
|
|
+ return handlers;
|
|
+ }
|
|
+}
|
|
diff --git a/src/main/java/org/bukkit/event/entity/ItemSpawnEvent.java b/src/main/java/org/bukkit/event/entity/ItemSpawnEvent.java
|
|
index bafd934..776f8e7 100644
|
|
--- a/src/main/java/org/bukkit/event/entity/ItemSpawnEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/entity/ItemSpawnEvent.java
|
|
@@ -1,51 +1,23 @@
|
|
package org.bukkit.event.entity;
|
|
|
|
-import org.bukkit.entity.Item;
|
|
import org.bukkit.Location;
|
|
-import org.bukkit.event.Cancellable;
|
|
-import org.bukkit.event.HandlerList;
|
|
+import org.bukkit.entity.Item;
|
|
|
|
/**
|
|
* Called when an item is spawned into a world
|
|
*/
|
|
-public class ItemSpawnEvent extends EntityEvent implements Cancellable {
|
|
- private static final HandlerList handlers = new HandlerList();
|
|
- private final Location location;
|
|
- private boolean canceled;
|
|
-
|
|
- public ItemSpawnEvent(final Item spawnee, final Location loc) {
|
|
+public class ItemSpawnEvent extends EntitySpawnEvent {
|
|
+ public ItemSpawnEvent(final Item spawnee) {
|
|
super(spawnee);
|
|
- this.location = loc;
|
|
}
|
|
|
|
- public boolean isCancelled() {
|
|
- return canceled;
|
|
- }
|
|
-
|
|
- public void setCancelled(boolean cancel) {
|
|
- canceled = cancel;
|
|
+ @Deprecated
|
|
+ public ItemSpawnEvent(final Item spawnee, final Location loc) {
|
|
+ this(spawnee);
|
|
}
|
|
|
|
@Override
|
|
public Item getEntity() {
|
|
return (Item) entity;
|
|
}
|
|
-
|
|
- /**
|
|
- * Gets the location at which the item is spawning.
|
|
- *
|
|
- * @return The location at which the item is spawning
|
|
- */
|
|
- public Location getLocation() {
|
|
- return location;
|
|
- }
|
|
-
|
|
- @Override
|
|
- public HandlerList getHandlers() {
|
|
- return handlers;
|
|
- }
|
|
-
|
|
- public static HandlerList getHandlerList() {
|
|
- return handlers;
|
|
- }
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/event/entity/SpawnerSpawnEvent.java b/src/main/java/org/bukkit/event/entity/SpawnerSpawnEvent.java
|
|
new file mode 100644
|
|
index 0000000..1acb3c4
|
|
--- /dev/null
|
|
+++ b/src/main/java/org/bukkit/event/entity/SpawnerSpawnEvent.java
|
|
@@ -0,0 +1,22 @@
|
|
+package org.bukkit.event.entity;
|
|
+
|
|
+import org.bukkit.block.CreatureSpawner;
|
|
+import org.bukkit.entity.Entity;
|
|
+
|
|
+/**
|
|
+ * Called when an entity is spawned into a world by a spawner.
|
|
+ * <p>
|
|
+ * If a Spawner Spawn event is cancelled, the entity will not spawn.
|
|
+ */
|
|
+public class SpawnerSpawnEvent extends EntitySpawnEvent {
|
|
+ private final CreatureSpawner spawner;
|
|
+
|
|
+ public SpawnerSpawnEvent(final Entity spawnee, final CreatureSpawner spawner) {
|
|
+ super(spawnee);
|
|
+ this.spawner = spawner;
|
|
+ }
|
|
+
|
|
+ public CreatureSpawner getSpawner() {
|
|
+ return spawner;
|
|
+ }
|
|
+}
|
|
--
|
|
1.9.1
|
|
|