PrototypePlayerBuilderToolSettings
Package: com.hypixel.hytale.builtin.buildertools
public class PrototypePlayerBuilderToolSettingsPer-player runtime settings for builder tool operations. Stores clipboard data for selection transform mode, scripted brush configuration, paint history for de-duplication, and miscellaneous tool state. Created and retrieved via ToolOperation.getOrCreatePrototypeSettings(UUID).
Constructor
Section titled “Constructor”public PrototypePlayerBuilderToolSettings(UUID player)Initializes the settings for the specified player UUID with a default BrushConfig and BrushConfigCommandExecutor.
Selection Transform Mode
Section titled “Selection Transform Mode”When the player enters selection transformation mode, clipboard data (blocks, fluids, entities) is cached here for repeated transform-and-paste operations without re-copying from the world.
isInSelectionTransformationMode
Section titled “isInSelectionTransformationMode”public boolean isInSelectionTransformationMode()Returns true if the player is currently in selection transformation mode.
setInSelectionTransformationMode
Section titled “setInSelectionTransformationMode”public void setInSelectionTransformationMode(boolean inSelectionTransformationMode)Enters or exits transformation mode. Exiting clears all cached clipboard data (blockChanges, fluidChanges, entityChanges, blockChangeOffsetOrigin).
Clipboard Data Accessors
Section titled “Clipboard Data Accessors”public void setBlockChangesForPlaySelectionToolPasteMode(@Nullable BlockChange[] blockChangesForPlaySelectionToolPasteMode)@Nullablepublic BlockChange[] getBlockChangesForPlaySelectionToolPasteMode()public void setFluidChangesForPlaySelectionToolPasteMode(@Nullable PrototypePlayerBuilderToolSettings.FluidChange[] fluidChanges)@Nullablepublic PrototypePlayerBuilderToolSettings.FluidChange[] getFluidChangesForPlaySelectionToolPasteMode()public void setEntityChangesForPlaySelectionToolPasteMode(@Nullable PrototypePlayerBuilderToolSettings.EntityChange[] entityChanges)@Nullablepublic PrototypePlayerBuilderToolSettings.EntityChange[] getEntityChangesForPlaySelectionToolPasteMode()Block Change Offset Origin
Section titled “Block Change Offset Origin”public void setBlockChangeOffsetOrigin(@Nullable Vector3i blockChangeOffsetOrigin)@Nullablepublic Vector3i getBlockChangeOffsetOrigin()Transform Entity References
Section titled “Transform Entity References”public void setLastTransformEntityRefs(@Nullable List<Ref<EntityStore>> refs)@Nullablepublic List<Ref<EntityStore>> getLastTransformEntityRefs()public void clearLastTransformEntityRefs()Brush Configuration
Section titled “Brush Configuration”public BrushConfig getBrushConfig()Returns the player’s scripted brush configuration.
public void setBrushConfig(BrushConfig brushConfig)Replaces the brush configuration.
public BrushConfigCommandExecutor getBrushConfigCommandExecutor()Returns the executor for scripted brush operations.
public String getCurrentlyLoadedBrushConfigName()public void setCurrentlyLoadedBrushConfigName(String currentlyLoadedBrushConfigName)public boolean isLoadingBrush()public void setLoadingBrush(boolean loadingBrush)public boolean usePrototypeBrushConfigurations()public void setUsePrototypeBrushConfigurations(boolean usePrototypeBrushConfigurations)Paint History (De-duplication)
Section titled “Paint History (De-duplication)”Tracks which block positions have been painted in recent brush strokes to avoid re-painting the same position during hold-down operations.
addIgnoredPaintOperation
Section titled “addIgnoredPaintOperation”@Nonnullpublic LongOpenHashSet addIgnoredPaintOperation()Creates a new empty set of packed block positions for a paint operation and adds it to the history queue.
containsLocation
Section titled “containsLocation”public boolean containsLocation(int x, int y, int z)Returns true if the packed block position (x, y, z) exists in any active paint operation history set.
getIgnoredPaintOperations
Section titled “getIgnoredPaintOperations”@Nonnullpublic LinkedList<LongOpenHashSet> getIgnoredPaintOperations()Returns the full paint operation history queue.
History Length
Section titled “History Length”public int getMaxLengthOfIgnoredPaintOperations()public void setMaxLengthOfIgnoredPaintOperations(int maxLengthOfIgnoredPaintOperations)Sets the maximum number of paint operation history sets to retain. Excess entries are removed from the front (oldest first).
public void clearHistoryUntilFitMaxLength()Trims the paint history queue to the maximum length.
Editor Settings
Section titled “Editor Settings”public boolean isShouldShowEditorSettings()public void setShouldShowEditorSettings(boolean shouldShowEditorSettings)Brush Position
Section titled “Brush Position”@Nullablepublic Vector3i getLastBrushPosition()public void setLastBrushPosition(@Nullable Vector3i lastBrushPosition)public void clearLastBrushPosition()Static Methods
Section titled “Static Methods”isOkayToDoCommandsOnSelection
Section titled “isOkayToDoCommandsOnSelection”public static boolean isOkayToDoCommandsOnSelection(Ref<EntityStore> ref, @Nonnull Player player, ComponentAccessor<EntityStore> componentAccessor)Returns false and sends a warning message if the player is currently in selection transformation mode. Used by commands to prevent conflicting operations. Retrieves the player’s UUID from the UUIDComponent and checks isInSelectionTransformationMode().
Inner Types
Section titled “Inner Types”- EntityChange — record storing entity position and holder for clipboard transform
- FluidChange — record storing fluid position, ID, and level for clipboard transform
Related Types
Section titled “Related Types”- BuilderToolsPlugin.BuilderState — the per-player builder state that works alongside these settings
- BuilderToolsPacketHandler — reads and writes these settings during packet handling