Interface IBlockAnalyzer<T>

Type Parameters:
T - The type of block or material that is processed by this analyzer. This is usually a platform-specific type.
All Known Implementing Classes:
BlockAnalyzerSpigot

public interface IBlockAnalyzer<T>
Analyzes blocks and materials for various properties. This is used to determine if a block can be used for animations. For example, air and liquids are processed differently than solid blocks, and users can blacklist or whitelist certain blocks to override the default behavior.

An instance of this class can be obtained through IAnimatedArchitecturePlatform.getBlockAnalyzer().

This class is platform-independent, and should be implemented for each platform.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    Represents the status of a material.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Check if a block at a given location is air or liquid (water, lava).
    boolean
    Check if a block is air or liquid (water, lava).
    boolean
    isAllowed(T block)
    Check if a block is on the blacklist of block that is not allowed for animations.
  • Method Details

    • isAirOrLiquid

      boolean isAirOrLiquid(T block)
      Check if a block is air or liquid (water, lava).
      Parameters:
      block - The block to analyze.
      Returns:
      True if the block is air or liquid.
    • isAirOrLiquid

      boolean isAirOrLiquid(ILocation location)
      Check if a block at a given location is air or liquid (water, lava).
      Parameters:
      location - The location of the block to analyze.
      Returns:
      True if the block is air or liquid.
    • isAllowed

      boolean isAllowed(T block)
      Check if a block is on the blacklist of block that is not allowed for animations.
      Parameters:
      block - The block to analyze.
      Returns:
      True if the block can be used for animations.