Merge pull request #91 from OdiumxXx/master

Updated for CB1.2.3-R0.1
This commit is contained in:
DiddiZ
2012-03-04 08:48:52 -08:00
4 changed files with 16 additions and 16 deletions

View File

@@ -30,7 +30,7 @@ import java.util.logging.Level;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.BlockState;
import org.bukkit.block.ContainerBlock;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.block.Sign;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
@@ -133,7 +133,7 @@ public class Consumer extends TimerTask
* The respective container. Must be an instance of Chest, Dispencer or Furnace.
*/
public void queueChestAccess(String playerName, BlockState container, short itemType, short itemAmount, byte itemData) {
if (!(container instanceof ContainerBlock))
if (!(container instanceof InventoryHolder))
return;
queueChestAccess(playerName, new Location(container.getWorld(), container.getX(), container.getY(), container.getZ()), container.getTypeId(), itemType, itemAmount, itemData);
}
@@ -150,12 +150,12 @@ public class Consumer extends TimerTask
* Logs a container block break. The block type before is assumed to be o (air). All content is assumed to be taken.
*
* @param container
* Must be instanceof ContainerBlock
* Must be instanceof InventoryHolder
*/
public void queueContainerBreak(String playerName, BlockState container) {
if (!(container instanceof ContainerBlock))
if (!(container instanceof InventoryHolder))
return;
queueContainerBreak(playerName, new Location(container.getWorld(), container.getX(), container.getY(), container.getZ()), container.getTypeId(), container.getRawData(), ((ContainerBlock)container).getInventory());
queueContainerBreak(playerName, new Location(container.getWorld(), container.getX(), container.getY(), container.getZ()), container.getTypeId(), container.getRawData(), ((InventoryHolder)container).getInventory());
}
/**

View File

@@ -19,7 +19,7 @@ import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState;
import org.bukkit.block.ContainerBlock;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.block.Sign;
import org.bukkit.inventory.ItemStack;
import org.bukkit.material.Bed;
@@ -159,8 +159,8 @@ public class WorldEditor implements Runnable
}
if (!(equalTypes(block.getTypeId(), type) || replaceAnyway.contains(block.getTypeId())))
return PerformResult.NO_ACTION;
if (state instanceof ContainerBlock) {
((ContainerBlock)state).getInventory().clear();
if (state instanceof InventoryHolder) {
((InventoryHolder)state).getInventory().clear();
state.update();
}
if (block.getTypeId() == replaced) {

View File

@@ -9,7 +9,7 @@ import java.util.Map;
import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.block.ContainerBlock;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@@ -36,9 +36,9 @@ public class ChestAccessLogging extends LoggingListener
if (cont != null) {
final ItemStack[] before = cont.items;
final BlockState state = cont.loc.getBlock().getState();
if (!(state instanceof ContainerBlock))
if (!(state instanceof InventoryHolder))
return;
final ItemStack[] after = compressInventory(((ContainerBlock)state).getInventory().getContents());
final ItemStack[] after = compressInventory(((InventoryHolder)state).getInventory().getContents());
final ItemStack[] diff = compareInventories(before, after);
for (final ItemStack item : diff)
consumer.queueChestAccess(player.getName(), cont.loc, state.getTypeId(), (short)item.getTypeId(), (short)item.getAmount(), rawData(item));
@@ -48,9 +48,9 @@ public class ChestAccessLogging extends LoggingListener
public void checkInventoryOpen(Player player, Block block) {
final BlockState state = block.getState();
if (!(state instanceof ContainerBlock))
if (!(state instanceof InventoryHolder))
return;
containers.put(player, new ContainerState(block.getLocation(), compressInventory(((ContainerBlock)state).getInventory().getContents())));
containers.put(player, new ContainerState(block.getLocation(), compressInventory(((InventoryHolder)state).getInventory().getContents())));
}
@EventHandler(priority = EventPriority.MONITOR)

View File

@@ -13,7 +13,7 @@ import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.BlockState;
import org.bukkit.block.ContainerBlock;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.entity.TNTPrimed;
@@ -156,8 +156,8 @@ public class BukkitUtils
}
public static int modifyContainer(BlockState b, ItemStack item) {
if (b instanceof ContainerBlock) {
final Inventory inv = ((ContainerBlock)b).getInventory();
if (b instanceof InventoryHolder) {
final Inventory inv = ((InventoryHolder)b).getInventory();
if (item.getAmount() < 0) {
item.setAmount(-item.getAmount());
final ItemStack tmp = inv.removeItem(item).get(0);