Work towards fixing shulkers
This commit is contained in:
		@@ -98,11 +98,17 @@ public interface IAnySilentContainer {
 | 
			
		||||
 | 
			
		||||
            Directional directional = (Directional) blockData;
 | 
			
		||||
            BlockFace face = directional.getFacing();
 | 
			
		||||
            boundingBox.shift(face.getDirection());
 | 
			
		||||
            // Return whether or not bounding boxes overlap.
 | 
			
		||||
            return block.getRelative(face, 1).getBoundingBox().overlaps(boundingBox);
 | 
			
		||||
        }
 | 
			
		||||
            Block relative = block.getRelative(face, 1);
 | 
			
		||||
 | 
			
		||||
            if (isShulkerIgnoreBoundingBox(relative)) {
 | 
			
		||||
                // Certain special cases are ignored. Signs, simple redstone, etc.
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            boundingBox.expand(face.getDirection(), 0.5);
 | 
			
		||||
            // Return whether or not bounding boxes overlap.
 | 
			
		||||
            return relative.getBoundingBox().overlaps(boundingBox);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (!(blockState instanceof org.bukkit.block.Chest)) {
 | 
			
		||||
            return false;
 | 
			
		||||
@@ -140,6 +146,14 @@ public interface IAnySilentContainer {
 | 
			
		||||
        return isChestBlocked(relative);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    boolean isShulkerIgnoreBoundingBox(Block block);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Determine whether or not a chest is blocked.
 | 
			
		||||
     *
 | 
			
		||||
     * @param chest the chest block
 | 
			
		||||
     * @return true if the chest block cannot be opened under ordinary circumstances
 | 
			
		||||
     */
 | 
			
		||||
    default boolean isChestBlocked(Block chest) {
 | 
			
		||||
        org.bukkit.block.Block relative = chest.getRelative(0, 1, 0);
 | 
			
		||||
        return relative.getType().isOccluding()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user