Interface ManaPool

All Superinterfaces:
ManaReceiver
All Known Implementing Classes:
ManaPoolBlockEntity

public interface ManaPool extends ManaReceiver
Any ManaReceiver that also implements this is considered a Mana Pool, by which nearby functional flowers will pull mana from it.
Mana Distributors will also accept it as valid output.

Implementation Instructions:
- When joining the world (e.g. on first tick), call ManaNetwork.fireManaNetworkEvent(vazkii.botania.api.mana.ManaReceiver, vazkii.botania.api.mana.ManaBlockType, vazkii.botania.api.mana.ManaNetworkAction) with this object, type ManaBlockType.POOL, and action ManaNetworkAction.ADD. - When leaving the world (e.g. in setRemoved), call ManaNetwork.fireManaNetworkEvent(vazkii.botania.api.mana.ManaReceiver, vazkii.botania.api.mana.ManaBlockType, vazkii.botania.api.mana.ManaNetworkAction) with this object, type ManaBlockType.POOL, and action ManaNetworkAction.REMOVE. Get the mana network using BotaniaAPI.getManaNetworkInstance().
  • Method Details

    • isOutputtingPower

      boolean isOutputtingPower()
      Returns false if the mana pool is accepting power from other power items, true if it's sending power into them.
    • getMaxMana

      int getMaxMana()
      Returns:
      Maximum amount of storable mana
    • getColor

      Optional<net.minecraft.world.item.DyeColor> getColor()
      Returns:
      The color of this pool.
    • setColor

      void setColor(Optional<net.minecraft.world.item.DyeColor> color)
      Sets the color of this pool.
      Parameters:
      color - The color to set.