summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/Entity.java
diff options
context:
space:
mode:
authorCeltic Minstrel <celtic.minstrel.ca@some.place>2012-03-05 14:21:43 -0500
committerEvilSeph <evilseph@gmail.com>2012-03-21 12:42:51 -0400
commit5ba892804158ba81b655826469363eefa8f0baaa (patch)
tree75daade710326db6487550877a21a8557951bc52 /src/main/java/net/minecraft/server/Entity.java
parent8d62de7055a8c901240412ac41f3cb5091ea41a9 (diff)
downloadcraftbukkit-5ba892804158ba81b655826469363eefa8f0baaa.tar
craftbukkit-5ba892804158ba81b655826469363eefa8f0baaa.tar.gz
craftbukkit-5ba892804158ba81b655826469363eefa8f0baaa.tar.lz
craftbukkit-5ba892804158ba81b655826469363eefa8f0baaa.tar.xz
craftbukkit-5ba892804158ba81b655826469363eefa8f0baaa.zip
[Bleeding] Added getting and setting drops to all appropriate events. Fixes BUKKIT-397 and fixes BUKKIT-1252
- Allows drops in creative mode by adding items to the getDrops() list - Contents of containers are not reported - Contents of storage minecarts are not reported
Diffstat (limited to 'src/main/java/net/minecraft/server/Entity.java')
-rw-r--r--src/main/java/net/minecraft/server/Entity.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index bc093075..f15827a7 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -4,6 +4,7 @@ import java.util.List;
import java.util.Random;
// CraftBukkit start
+import java.util.ArrayList;
import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.block.BlockFace;
@@ -17,6 +18,7 @@ import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
import org.bukkit.event.vehicle.VehicleEnterEvent;
import org.bukkit.event.vehicle.VehicleExitEvent;
import org.bukkit.craftbukkit.entity.CraftPlayer;
+import org.bukkit.craftbukkit.inventory.CraftItemStack;
import org.bukkit.event.entity.EntityCombustEvent;
import org.bukkit.event.entity.EntityDamageByBlockEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
@@ -1337,12 +1339,18 @@ public abstract class Entity {
final PluginManager pluginManager = Bukkit.getPluginManager();
if (thisBukkitEntity instanceof Painting) {
- PaintingBreakByEntityEvent event = new PaintingBreakByEntityEvent((Painting) thisBukkitEntity, stormBukkitEntity);
+ List<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
+ PaintingBreakByEntityEvent event = new PaintingBreakByEntityEvent((Painting) thisBukkitEntity, stormBukkitEntity, drops);
pluginManager.callEvent(event);
if (event.isCancelled()) {
return;
}
+
+ // Something might've been added to the list of drops, so drop them
+ for (org.bukkit.inventory.ItemStack stack : drops) {
+ this.a(CraftItemStack.createNMSItemStack(stack), 0.0f);
+ }
}
EntityDamageByEntityEvent event = new EntityDamageByEntityEvent(stormBukkitEntity, thisBukkitEntity, EntityDamageEvent.DamageCause.LIGHTNING, 5);