forked from xjboss/KCauldronX
37 lines
1.5 KiB
Diff
37 lines
1.5 KiB
Diff
|
--- ../src-base/minecraft/net/minecraft/inventory/SlotFurnace.java
|
||
|
+++ ../src-work/minecraft/net/minecraft/inventory/SlotFurnace.java
|
||
|
@@ -9,6 +9,12 @@
|
||
|
import net.minecraft.stats.AchievementList;
|
||
|
import net.minecraft.util.MathHelper;
|
||
|
|
||
|
+// CraftBukkit start
|
||
|
+import net.minecraft.tileentity.TileEntityFurnace;
|
||
|
+import org.bukkit.entity.Player;
|
||
|
+import org.bukkit.event.inventory.FurnaceExtractEvent;
|
||
|
+// CraftBukkit end
|
||
|
+
|
||
|
public class SlotFurnace extends Slot
|
||
|
{
|
||
|
private EntityPlayer thePlayer;
|
||
|
@@ -74,6 +80,20 @@
|
||
|
i = j;
|
||
|
}
|
||
|
|
||
|
+ // Cauldron start - validate inventory before attempting to cast it
|
||
|
+ if (this.inventory instanceof TileEntityFurnace)
|
||
|
+ {
|
||
|
+ // CraftBukkit start
|
||
|
+ Player player = (Player) thePlayer.getBukkitEntity();
|
||
|
+ TileEntityFurnace furnace = ((TileEntityFurnace) this.inventory);
|
||
|
+ org.bukkit.block.Block block = thePlayer.worldObj.getWorld().getBlockAt(furnace.xCoord, furnace.yCoord, furnace.zCoord);
|
||
|
+ FurnaceExtractEvent event = new FurnaceExtractEvent(player, block, org.bukkit.craftbukkit.util.CraftMagicNumbers.getMaterial(p_75208_1_.getItem()), p_75208_1_.stackSize, i);
|
||
|
+ thePlayer.worldObj.getServer().getPluginManager().callEvent(event);
|
||
|
+ i = event.getExpToDrop();
|
||
|
+ // CraftBukkit end
|
||
|
+ }
|
||
|
+ // Cauldron end
|
||
|
+
|
||
|
while (i > 0)
|
||
|
{
|
||
|
j = EntityXPOrb.getXPSplit(i);
|