Klasse DisplayService
java.lang.Object
de.delinkedde.areashopreborn.application.DisplayService
- Alle implementierten Schnittstellen:
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
KonstruktorenKonstruktorBeschreibungDisplayService(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 TypMethodeBeschreibungLoads the position cache and refreshes signs in currently loaded chunks.voidonBlockExplode(org.bukkit.event.block.BlockExplodeEvent event) Protects display signs and their supporting blocks from block explosions.voidonBreak(org.bukkit.event.block.BlockBreakEvent event) Protects registered signs from untracked removal.voidonBurn(org.bukkit.event.block.BlockBurnEvent event) Protects display signs and their supporting blocks from fire.voidonEntityChangeBlock(org.bukkit.event.entity.EntityChangeBlockEvent event) Prevents entities such as endermen from changing display support blocks.voidonEntityExplode(org.bukkit.event.entity.EntityExplodeEvent event) Protects display signs and their supporting blocks from entity explosions such as creepers.voidonFade(org.bukkit.event.block.BlockFadeEvent event) Prevents natural fading of a block that currently supports a registered display.voidonFlow(org.bukkit.event.block.BlockFromToEvent event) Prevents water and lava updates from replacing registered display positions.voidonInteract(org.bukkit.event.player.PlayerInteractEvent event) Handles direct transactions and information clicks on registered signs.voidonPhysics(org.bukkit.event.block.BlockPhysicsEvent event) Keeps Bukkit physics from detaching a registered wall sign behind the persistence layer.voidonPistonExtend(org.bukkit.event.block.BlockPistonExtendEvent event) Prevents pistons from moving a display, its support, or a block into either position.voidonPistonRetract(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.Registers the targeted physical sign for an authorized region.Removes the targeted display after verifying region management.teleportDestination(String regionName) Resolves the first registered display of a named region as a teleport destination.
-
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 plugindatabase- asynchronous database executordisplays- display repositoryestates- estate repositorypurchases- sale purchase use casesrentals- rental use caseseconomy- currency formattermessages- configurable message renderermodes- runtime mutation gateenabled- feature switchmaximumPerRegion- maximum signs associated with one regionautomaticSignMaterial- 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 plugindatabase- asynchronous database executordisplays- display repositoryestates- estate repositorypurchases- sale purchase use casesrentals- rental use caseseconomy- currency formattermessages- configurable message renderermodes- runtime mutation gateenabled- feature switchmaximumPerRegion- maximum signs associated with one regionmaximumCachedDisplays- maximum complete protection snapshot sizerefreshBatchSize- maximum signs rendered in one server tickautomaticSignMaterial- wall-sign material placed at selected parcel boundaries
-
-
Methodendetails
-
loadAndRefresh
Loads the position cache and refreshes signs in currently loaded chunks.- Gibt zurück:
- completion future containing the number of registered displays
-
teleportDestination
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 registrationregionName- associated regionblock- targeted sign blockadministrative- 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 signregionName- associated parcel; the command layer resolves omitted names by locationsupport- selected parcel-boundary block that will hold the signface- horizontal face on which the sign is placedadministrative- 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 removalblock- targeted blockadministrative- whether management checks may be bypassed- Gibt zurück:
- completion future
-
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
-