forked from LogBlock/LogBlock
@@ -30,7 +30,7 @@ import java.util.logging.Level;
|
|||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.BlockState;
|
import org.bukkit.block.BlockState;
|
||||||
import org.bukkit.block.ContainerBlock;
|
import org.bukkit.inventory.InventoryHolder;
|
||||||
import org.bukkit.block.Sign;
|
import org.bukkit.block.Sign;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Player;
|
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.
|
* 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) {
|
public void queueChestAccess(String playerName, BlockState container, short itemType, short itemAmount, byte itemData) {
|
||||||
if (!(container instanceof ContainerBlock))
|
if (!(container instanceof InventoryHolder))
|
||||||
return;
|
return;
|
||||||
queueChestAccess(playerName, new Location(container.getWorld(), container.getX(), container.getY(), container.getZ()), container.getTypeId(), itemType, itemAmount, itemData);
|
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.
|
* Logs a container block break. The block type before is assumed to be o (air). All content is assumed to be taken.
|
||||||
*
|
*
|
||||||
* @param container
|
* @param container
|
||||||
* Must be instanceof ContainerBlock
|
* Must be instanceof InventoryHolder
|
||||||
*/
|
*/
|
||||||
public void queueContainerBreak(String playerName, BlockState container) {
|
public void queueContainerBreak(String playerName, BlockState container) {
|
||||||
if (!(container instanceof ContainerBlock))
|
if (!(container instanceof InventoryHolder))
|
||||||
return;
|
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());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -19,7 +19,7 @@ import org.bukkit.World;
|
|||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.block.BlockState;
|
import org.bukkit.block.BlockState;
|
||||||
import org.bukkit.block.ContainerBlock;
|
import org.bukkit.inventory.InventoryHolder;
|
||||||
import org.bukkit.block.Sign;
|
import org.bukkit.block.Sign;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.material.Bed;
|
import org.bukkit.material.Bed;
|
||||||
@@ -159,8 +159,8 @@ public class WorldEditor implements Runnable
|
|||||||
}
|
}
|
||||||
if (!(equalTypes(block.getTypeId(), type) || replaceAnyway.contains(block.getTypeId())))
|
if (!(equalTypes(block.getTypeId(), type) || replaceAnyway.contains(block.getTypeId())))
|
||||||
return PerformResult.NO_ACTION;
|
return PerformResult.NO_ACTION;
|
||||||
if (state instanceof ContainerBlock) {
|
if (state instanceof InventoryHolder) {
|
||||||
((ContainerBlock)state).getInventory().clear();
|
((InventoryHolder)state).getInventory().clear();
|
||||||
state.update();
|
state.update();
|
||||||
}
|
}
|
||||||
if (block.getTypeId() == replaced) {
|
if (block.getTypeId() == replaced) {
|
||||||
|
@@ -9,7 +9,7 @@ import java.util.Map;
|
|||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockState;
|
import org.bukkit.block.BlockState;
|
||||||
import org.bukkit.block.ContainerBlock;
|
import org.bukkit.inventory.InventoryHolder;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
@@ -36,9 +36,9 @@ public class ChestAccessLogging extends LoggingListener
|
|||||||
if (cont != null) {
|
if (cont != null) {
|
||||||
final ItemStack[] before = cont.items;
|
final ItemStack[] before = cont.items;
|
||||||
final BlockState state = cont.loc.getBlock().getState();
|
final BlockState state = cont.loc.getBlock().getState();
|
||||||
if (!(state instanceof ContainerBlock))
|
if (!(state instanceof InventoryHolder))
|
||||||
return;
|
return;
|
||||||
final ItemStack[] after = compressInventory(((ContainerBlock)state).getInventory().getContents());
|
final ItemStack[] after = compressInventory(((InventoryHolder)state).getInventory().getContents());
|
||||||
final ItemStack[] diff = compareInventories(before, after);
|
final ItemStack[] diff = compareInventories(before, after);
|
||||||
for (final ItemStack item : diff)
|
for (final ItemStack item : diff)
|
||||||
consumer.queueChestAccess(player.getName(), cont.loc, state.getTypeId(), (short)item.getTypeId(), (short)item.getAmount(), rawData(item));
|
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) {
|
public void checkInventoryOpen(Player player, Block block) {
|
||||||
final BlockState state = block.getState();
|
final BlockState state = block.getState();
|
||||||
if (!(state instanceof ContainerBlock))
|
if (!(state instanceof InventoryHolder))
|
||||||
return;
|
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)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
@@ -13,7 +13,7 @@ import org.bukkit.Chunk;
|
|||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.BlockState;
|
import org.bukkit.block.BlockState;
|
||||||
import org.bukkit.block.ContainerBlock;
|
import org.bukkit.inventory.InventoryHolder;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.entity.TNTPrimed;
|
import org.bukkit.entity.TNTPrimed;
|
||||||
@@ -156,8 +156,8 @@ public class BukkitUtils
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static int modifyContainer(BlockState b, ItemStack item) {
|
public static int modifyContainer(BlockState b, ItemStack item) {
|
||||||
if (b instanceof ContainerBlock) {
|
if (b instanceof InventoryHolder) {
|
||||||
final Inventory inv = ((ContainerBlock)b).getInventory();
|
final Inventory inv = ((InventoryHolder)b).getInventory();
|
||||||
if (item.getAmount() < 0) {
|
if (item.getAmount() < 0) {
|
||||||
item.setAmount(-item.getAmount());
|
item.setAmount(-item.getAmount());
|
||||||
final ItemStack tmp = inv.removeItem(item).get(0);
|
final ItemStack tmp = inv.removeItem(item).get(0);
|
||||||
|
Reference in New Issue
Block a user