@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
	public void handleHangingEntities(HangingBreakByEntityEvent event) {
		
		if (!(event.getRemover() instanceof Player))
			return;
		
		Player player = (Player) event.getRemover();
		User user = EdgeCoreAPI.userAPI().getUser(player.getName());
		
		if (user == null)
			return;
		
		if (event.getEntity() instanceof ItemFrame || event.getEntity() instanceof Vine) {
			if (Cuboid.getCuboid(event.getEntity().getLocation()) != null) {
				
				Cuboid c = Cuboid.getCuboid(event.getEntity().getLocation());
				
				if (c.getCuboidType() == CuboidType.Survival.getTypeID())
					return;
				
				if (!Flag.hasFlag(c, Flag.BreakBlocks, player.getName())) {
					event.setCancelled(true);
					player.sendMessage(EdgeCoreAPI.languageAPI().getColoredMessage(user.getLanguage(), "cuboid_nopermission"));
				}
			}
		}
	}