Class ExperienceDrain

java.lang.Object
io.github.pylonmc.rebar.block.RebarBlock
io.github.pylonmc.pylon.content.machines.experience.ExperienceDrain
All Implemented Interfaces:
io.github.pylonmc.rebar.block.base.RebarBreakHandler, io.github.pylonmc.rebar.block.base.RebarEntityHolderBlock, io.github.pylonmc.rebar.block.base.RebarFluidBlock, io.github.pylonmc.rebar.block.base.RebarFluidBufferBlock, io.github.pylonmc.rebar.block.base.RebarTickingBlock, net.kyori.adventure.key.Keyed, org.bukkit.Keyed

public class ExperienceDrain extends io.github.pylonmc.rebar.block.RebarBlock implements io.github.pylonmc.rebar.block.base.RebarTickingBlock, io.github.pylonmc.rebar.block.base.RebarFluidBufferBlock
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     

    Nested classes/interfaces inherited from class io.github.pylonmc.rebar.block.RebarBlock

    io.github.pylonmc.rebar.block.RebarBlock.Companion

    Nested classes/interfaces inherited from interface io.github.pylonmc.rebar.block.base.RebarFluidBufferBlock

    io.github.pylonmc.rebar.block.base.RebarFluidBufferBlock.Companion

    Nested classes/interfaces inherited from interface io.github.pylonmc.rebar.block.base.RebarTickingBlock

    io.github.pylonmc.rebar.block.base.RebarTickingBlock.Companion
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final int
     
    final int
     
    final int
     

    Fields inherited from class io.github.pylonmc.rebar.block.RebarBlock

    Companion

    Fields inherited from interface io.github.pylonmc.rebar.block.base.RebarFluidBufferBlock

    Companion

    Fields inherited from interface io.github.pylonmc.rebar.block.base.RebarTickingBlock

    Companion
  • Constructor Summary

    Constructors
    Constructor
    Description
    ExperienceDrain(@NotNull org.bukkit.block.Block block, io.github.pylonmc.rebar.block.context.BlockCreateContext ctx)
     
    ExperienceDrain(@NotNull org.bukkit.block.Block block, org.bukkit.persistence.PersistentDataContainer pdc)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    getRealTotalExperience(org.bukkit.entity.Player player)
     
    @Nullable io.github.pylonmc.rebar.waila.WailaDisplay
    getWaila(@NotNull org.bukkit.entity.Player player)
     
    int
    subtractExperience(org.bukkit.entity.Player player, int amountToSubtract)
     
    void
     

    Methods inherited from class io.github.pylonmc.rebar.block.RebarBlock

    getBlock, getBlockTextureEntity, getBlockTextureItem, getBlockTextureProperties, getDefaultItem, getDefaultWailaTranslationKey, getDisableBlockTextureEntity, getDropItem, getKey, getLoreTranslationKey, getNameTranslationKey, getPickItem, getRebarBlock, getRebarBlockKeyKey, getRebarBlockPositionKey, getRebarBlockTextureEntityKey, getSchema, getSettings, isVanillaBlock, postInitialise, postLoad, refreshBlockTextureItem, register, scheduleBlockTextureItemRefresh, setDisableBlockTextureEntity, setupBlockTexture, write, writeDebugInfo

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.bukkit.Keyed

    key

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarBreakHandler

    postBreak, preBreak

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarEntityHolderBlock

    addEntity, addEntity, areAllHeldEntitiesLoaded, getBlock, getHeldEntities, getHeldEntity, getHeldEntity, getHeldEntityOrThrow, getHeldEntityOrThrow, getHeldEntityUuid, getHeldEntityUuidOrThrow, getHeldRebarEntity, getHeldRebarEntity, getHeldRebarEntityOrThrow, isHeldEntityPresent, tryRemoveAllEntities, tryRemoveEntity, whenHeldRebarEntityLoads, whenHeldRebarEntityLoads

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarFluidBlock

    createFluidPoint, createFluidPoint, createFluidPoint, createFluidPoint, getFluidPointDisplay, getFluidPointDisplayOrThrow, onBreak

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarFluidBufferBlock

    addFluid, canSetFluid, createFluidBuffer, deleteFluidBuffer, fluidAmount, fluidAmountRequested, fluidCapacity, fluidSpaceRemaining, getSuppliedFluids, hasFluid, onFluidAdded, onFluidRemoved, removeFluid, setFluid, setFluidCapacity

    Methods inherited from interface io.github.pylonmc.rebar.block.base.RebarTickingBlock

    getTickInterval, isAsync, setAsync, setTickInterval
  • Field Details

    • xpDrainPeriodTicks

      public final int xpDrainPeriodTicks
    • xpDrainAmount

      public final int xpDrainAmount
    • xpBufferAmount

      public final int xpBufferAmount
  • Constructor Details

    • ExperienceDrain

      public ExperienceDrain(@NotNull @NotNull org.bukkit.block.Block block, io.github.pylonmc.rebar.block.context.BlockCreateContext ctx)
    • ExperienceDrain

      public ExperienceDrain(@NotNull @NotNull org.bukkit.block.Block block, org.bukkit.persistence.PersistentDataContainer pdc)
  • Method Details

    • getWaila

      @Nullable public @Nullable io.github.pylonmc.rebar.waila.WailaDisplay getWaila(@NotNull @NotNull org.bukkit.entity.Player player)
      Overrides:
      getWaila in class io.github.pylonmc.rebar.block.RebarBlock
    • getRealTotalExperience

      public int getRealTotalExperience(org.bukkit.entity.Player player)
    • subtractExperience

      public int subtractExperience(org.bukkit.entity.Player player, int amountToSubtract)
    • tick

      public void tick()
      Specified by:
      tick in interface io.github.pylonmc.rebar.block.base.RebarTickingBlock