RebarEntityGroupCulledBlock

A variant of RebarEntityCulledBlock that defines groups of RebarEntityGroupCulledBlocks and entity UUIDs that should be culled together. (i.e. all blocks in the group must be culled for the entities to be culled)

For example, FluidPipe and CargoDuct both use greedy meshing, on the display entities (multiple blocks use the same entity), and therefor should only cull said entities if all blocks using that entity are culled.

Inheritors

Types

Link copied to clipboard
class EntityCullingGroup(id: String, blocks: MutableSet<RebarGroupCulledBlock> = mutableSetOf(), val entityIds: MutableSet<UUID> = mutableSetOf()) : RebarGroupCulledBlock.CullingGroup

Properties

Link copied to clipboard
Link copied to clipboard
open override val isCulledAsync: Boolean

If onVisible and onCulled should be called asynchronously instead of scheduled to be called on the main thread.

Functions

Link copied to clipboard
open override fun isVisible(player: Player): Boolean

If the block is currently visible to the player. Used only to determine which io.github.pylonmc.rebar.culling.PlayerCullingConfig interval to use

Link copied to clipboard
open override fun onCulled(player: Player)

Does not do anything for group culled blocks, see onGroupCulled

Link copied to clipboard
open override fun onGroupCulled(player: Player, group: RebarGroupCulledBlock.CullingGroup)
Link copied to clipboard
open override fun onGroupVisible(player: Player, group: RebarGroupCulledBlock.CullingGroup)
Link copied to clipboard
open override fun onVisible(player: Player)

Does not do anything for group culled blocks, see onGroupVisible