Class RewardInventoryGrantHandler

java.lang.Object
com.cotani.reward.integration.RewardInventoryGrantHandler
All Implemented Interfaces:
com.cotani.reward.api.RewardGrantHandler

@NullMarked public final class RewardInventoryGrantHandler extends Object implements com.cotani.reward.api.RewardGrantHandler
Settles item grants through the entity-thread-safe inventory mutation API.

Each delivered stack carries a claim/index marker. A recovered claim therefore becomes a no-op when the previous item delivery is still present in the player's inventory.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.cotani.reward.api.RewardGrantHandler

    com.cotani.reward.api.RewardGrantHandler.RewardSettlementContext
  • Constructor Summary

    Constructors
    Constructor
    Description
    RewardInventoryGrantHandler(org.bukkit.plugin.Plugin plugin, com.cotani.inventory.api.InventorySyncService inventoryService, RewardItemResolver itemResolver)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    settleAsync(com.cotani.reward.api.RewardGrantHandler.RewardSettlementContext context, com.cotani.reward.api.RewardGrant grant)
     
    boolean
    supports(com.cotani.reward.api.RewardGrant grant)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RewardInventoryGrantHandler

      public RewardInventoryGrantHandler(org.bukkit.plugin.Plugin plugin, com.cotani.inventory.api.InventorySyncService inventoryService, RewardItemResolver itemResolver)
  • Method Details

    • supports

      public boolean supports(com.cotani.reward.api.RewardGrant grant)
      Specified by:
      supports in interface com.cotani.reward.api.RewardGrantHandler
    • settleAsync

      public CompletionStage<Void> settleAsync(com.cotani.reward.api.RewardGrantHandler.RewardSettlementContext context, com.cotani.reward.api.RewardGrant grant)
      Specified by:
      settleAsync in interface com.cotani.reward.api.RewardGrantHandler