Klasse DisplayService

java.lang.Object
de.delinkedde.areashopreborn.application.DisplayService
Alle implementierten Schnittstellen:
org.bukkit.event.Listener

public final class DisplayService extends Object implements org.bukkit.event.Listener
Registers, caches, renders, and handles interactions with persistent estate signs.

The position cache is populated asynchronously and then read synchronously by Bukkit events. No event handler waits for SQLite. Detailed region and listing data is resolved asynchronously after an interaction has been identified as belonging to a registered display.

  • Konstruktorübersicht

    Konstruktoren
    Konstruktor
    Beschreibung
    DisplayService(org.bukkit.plugin.java.JavaPlugin plugin, Database database, DisplayRepository displays, EstateRepository estates, PurchaseService purchases, RentalService rentals, EconomyGateway economy, MessageService messages, OperationalModeService modes, boolean enabled, int maximumPerRegion, int maximumCachedDisplays, int refreshBatchSize, org.bukkit.Material automaticSignMaterial)
    Creates the persistent display service with global cache and per-tick rendering ceilings.
    DisplayService(org.bukkit.plugin.java.JavaPlugin plugin, Database database, DisplayRepository displays, EstateRepository estates, PurchaseService purchases, RentalService rentals, EconomyGateway economy, MessageService messages, OperationalModeService modes, boolean enabled, int maximumPerRegion, org.bukkit.Material automaticSignMaterial)
    Creates the persistent display service.
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    Loads the position cache and refreshes signs in currently loaded chunks.
    void
    onBlockExplode(org.bukkit.event.block.BlockExplodeEvent event)
    Protects display signs and their supporting blocks from block explosions.
    void
    onBreak(org.bukkit.event.block.BlockBreakEvent event)
    Protects registered signs from untracked removal.
    void
    onBurn(org.bukkit.event.block.BlockBurnEvent event)
    Protects display signs and their supporting blocks from fire.
    void
    onEntityChangeBlock(org.bukkit.event.entity.EntityChangeBlockEvent event)
    Prevents entities such as endermen from changing display support blocks.
    void
    onEntityExplode(org.bukkit.event.entity.EntityExplodeEvent event)
    Protects display signs and their supporting blocks from entity explosions such as creepers.
    void
    onFade(org.bukkit.event.block.BlockFadeEvent event)
    Prevents natural fading of a block that currently supports a registered display.
    void
    onFlow(org.bukkit.event.block.BlockFromToEvent event)
    Prevents water and lava updates from replacing registered display positions.
    void
    onInteract(org.bukkit.event.player.PlayerInteractEvent event)
    Handles direct transactions and information clicks on registered signs.
    void
    onPhysics(org.bukkit.event.block.BlockPhysicsEvent event)
    Keeps Bukkit physics from detaching a registered wall sign behind the persistence layer.
    void
    onPistonExtend(org.bukkit.event.block.BlockPistonExtendEvent event)
    Prevents pistons from moving a display, its support, or a block into either position.
    void
    onPistonRetract(org.bukkit.event.block.BlockPistonRetractEvent event)
    Prevents sticky pistons from pulling a display or its supporting block.
    placeOnBoundary(UUID actorId, String regionName, org.bukkit.block.Block support, org.bukkit.block.BlockFace face, boolean administrative)
    Places and registers a wall sign on the outside face of a parcel boundary block.
    Refreshes every cached display located in an already loaded chunk.
    register(UUID actorId, String regionName, org.bukkit.block.Block block, boolean administrative)
    Registers the targeted physical sign for an authorized region.
    remove(UUID actorId, org.bukkit.block.Block block, boolean administrative)
    Removes the targeted display after verifying region management.
    Resolves the first registered display of a named region as a teleport destination.

    Von Klasse geerbte Methoden java.lang.Object

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

    • DisplayService

      public DisplayService(org.bukkit.plugin.java.JavaPlugin plugin, Database database, DisplayRepository displays, EstateRepository estates, PurchaseService purchases, RentalService rentals, EconomyGateway economy, MessageService messages, OperationalModeService modes, boolean enabled, int maximumPerRegion, org.bukkit.Material automaticSignMaterial)
      Creates the persistent display service.
      Parameter:
      plugin - owning plugin
      database - asynchronous database executor
      displays - display repository
      estates - estate repository
      purchases - sale purchase use cases
      rentals - rental use cases
      economy - currency formatter
      messages - configurable message renderer
      modes - runtime mutation gate
      enabled - feature switch
      maximumPerRegion - maximum signs associated with one region
      automaticSignMaterial - wall-sign material placed at selected parcel boundaries
    • DisplayService

      public DisplayService(org.bukkit.plugin.java.JavaPlugin plugin, Database database, DisplayRepository displays, EstateRepository estates, PurchaseService purchases, RentalService rentals, EconomyGateway economy, MessageService messages, OperationalModeService modes, boolean enabled, int maximumPerRegion, int maximumCachedDisplays, int refreshBatchSize, org.bukkit.Material automaticSignMaterial)
      Creates the persistent display service with global cache and per-tick rendering ceilings.
      Parameter:
      plugin - owning plugin
      database - asynchronous database executor
      displays - display repository
      estates - estate repository
      purchases - sale purchase use cases
      rentals - rental use cases
      economy - currency formatter
      messages - configurable message renderer
      modes - runtime mutation gate
      enabled - feature switch
      maximumPerRegion - maximum signs associated with one region
      maximumCachedDisplays - maximum complete protection snapshot size
      refreshBatchSize - maximum signs rendered in one server tick
      automaticSignMaterial - wall-sign material placed at selected parcel boundaries
  • Methodendetails

    • loadAndRefresh

      public CompletableFuture<Integer> loadAndRefresh()
      Loads the position cache and refreshes signs in currently loaded chunks.
      Gibt zurück:
      completion future containing the number of registered displays
    • teleportDestination

      public CompletableFuture<TeleportDestination> teleportDestination(String regionName)
      Resolves the first registered display of a named region as a teleport destination.

      The returned point is centered one block above the display. The safe teleport resolver must still validate or replace the point before a player is moved.

      Parameter:
      regionName - case-insensitive region name
      Gibt zurück:
      future containing a raw display point constrained to its estate bounds
    • register

      public CompletableFuture<EstateDisplay> register(UUID actorId, String regionName, org.bukkit.block.Block block, boolean administrative)
      Registers the targeted physical sign for an authorized region.
      Parameter:
      actorId - player performing the registration
      regionName - associated region
      block - targeted sign block
      administrative - whether management checks may be bypassed
      Gibt zurück:
      future containing the created display
    • placeOnBoundary

      public CompletableFuture<EstateDisplay> placeOnBoundary(UUID actorId, String regionName, org.bukkit.block.Block support, org.bukkit.block.BlockFace face, boolean administrative)
      Places and registers a wall sign on the outside face of a parcel boundary block.
      Parameter:
      actorId - landlord or delegated manager placing the sign
      regionName - associated parcel; the command layer resolves omitted names by location
      support - selected parcel-boundary block that will hold the sign
      face - horizontal face on which the sign is placed
      administrative - whether management checks may be bypassed
      Gibt zurück:
      future containing the generated persistent display
    • remove

      public CompletableFuture<Void> remove(UUID actorId, org.bukkit.block.Block block, boolean administrative)
      Removes the targeted display after verifying region management.
      Parameter:
      actorId - player performing the removal
      block - targeted block
      administrative - whether management checks may be bypassed
      Gibt zurück:
      completion future
    • refreshAll

      public CompletableFuture<Void> refreshAll()
      Refreshes every cached display located in an already loaded chunk.
      Gibt zurück:
      completion future
    • onInteract

      public void onInteract(org.bukkit.event.player.PlayerInteractEvent event)
      Handles direct transactions and information clicks on registered signs.
      Parameter:
      event - player block interaction
    • onBreak

      public void onBreak(org.bukkit.event.block.BlockBreakEvent event)
      Protects registered signs from untracked removal.
      Parameter:
      event - block break event
    • onBurn

      public void onBurn(org.bukkit.event.block.BlockBurnEvent event)
      Protects display signs and their supporting blocks from fire.
      Parameter:
      event - block burn event
    • onBlockExplode

      public void onBlockExplode(org.bukkit.event.block.BlockExplodeEvent event)
      Protects display signs and their supporting blocks from block explosions.
      Parameter:
      event - block explosion event
    • onEntityExplode

      public void onEntityExplode(org.bukkit.event.entity.EntityExplodeEvent event)
      Protects display signs and their supporting blocks from entity explosions such as creepers.
      Parameter:
      event - entity explosion event
    • onPistonExtend

      public void onPistonExtend(org.bukkit.event.block.BlockPistonExtendEvent event)
      Prevents pistons from moving a display, its support, or a block into either position.
      Parameter:
      event - piston extension event
    • onPistonRetract

      public void onPistonRetract(org.bukkit.event.block.BlockPistonRetractEvent event)
      Prevents sticky pistons from pulling a display or its supporting block.
      Parameter:
      event - piston retraction event
    • onFlow

      public void onFlow(org.bukkit.event.block.BlockFromToEvent event)
      Prevents water and lava updates from replacing registered display positions.
      Parameter:
      event - fluid movement event
    • onFade

      public void onFade(org.bukkit.event.block.BlockFadeEvent event)
      Prevents natural fading of a block that currently supports a registered display.
      Parameter:
      event - block fade event
    • onEntityChangeBlock

      public void onEntityChangeBlock(org.bukkit.event.entity.EntityChangeBlockEvent event)
      Prevents entities such as endermen from changing display support blocks.
      Parameter:
      event - entity block-change event
    • onPhysics

      public void onPhysics(org.bukkit.event.block.BlockPhysicsEvent event)
      Keeps Bukkit physics from detaching a registered wall sign behind the persistence layer.
      Parameter:
      event - block physics event