puzzleType | PuzzleType | ITEM_FRAME | —可选值:BLOCK_PUSHLASER_GRIDMEMORY_SEQUENCELEVER_ORDERPATTERN_PLACEMENTCOOP_PRESSUREITEM_FRAMECOMBINATION_LOCKPEDESTAL_OFFERING |
fact | Ref<CachableFactEntry> | — | — |
amount | Var<Int> | 1 | — |
timeLimit | Var<Int> | 0 | — |
cooldownOnFail | Var<Int> | 0 | — |
maxAttempts | Var<Int> | 0 | — |
resetOnWrong | Var<Boolean> | false | — |
showHints | Var<Boolean> | true | — |
hintMessage | Var<String> | <yellow>Rotate the item frames to the correct angles! {progress}/{total} | Chat message sent after each step of the puzzle when hints are on. {progress} is the steps done, {total} the steps needed. Leave it empty to send nothing.占位符颜色 |
completionMessage | Var<String> | DEFAULT_PUZZLE_COMPLETION_MESSAGE | Chat message sent once to the player who solves the puzzle. Leave it empty to send nothing.占位符颜色 |
onStart | Ref<TriggerableEntry> | — | — |
onComplete | Ref<TriggerableEntry> | — | — |
onFail | Ref<TriggerableEntry> | — | — |
onTimeout | Ref<TriggerableEntry> | — | — |
onLifespanExpire | Ref<TriggerableEntry> | — | — |
lifespan | Var<Int> | 0 | — |
isShared | Var<Boolean> | false | Share the progression with the players of the group set on the fact: a step, a mistake or the solve by one player applies to the others. Needs a fact with a group; has no effect without one. |
activationRadius | Var<Double> | DEFAULT_PUZZLE_ACTIVATION_RADIUS | Detection radius in blocks around the frames. The puzzle only runs for players standing in their world, within this radius. 0 = no distance limit (the world is still enforced). |
frameTargets | List<FrameTargetDef> | empty | Frame targets with position, correct rotation (0-7), and optional required item.FrameTargetDef(3)
| 字段 | 类型 | 默认值 | 描述 |
|---|
position | Var<Position> | ORIGIN | World position of the item frame. | correctRotation | Var<Int> | 0 | Correct rotation index (0-7). | requiredItem | Var<Material> | AIR | Optional required item inside the frame. AIR = any item accepted. |
|
checkItem | Var<Boolean> | true | If true, the item inside the frame must also match the required item. |
rotateSound | Sound | — | Sound played when a frame is rotated. |
correctSound | Sound | — | Sound played when a frame is set to the correct rotation. |
solveSound | Sound | — | Sound played on puzzle completion. |
missingFrameMessage | Var<String> | <red>No item frame at <white>{x} {y} {z} | Action bar text shown to a player when a target position holds no item frame (a mistake of the entry). {x}, {y} and {z} are the block coordinates of the target. Leave it empty to send nothing.占位符颜色 |
wrongItemMessage | Var<String> | <red>That is not the right item in the frame. | Action bar text shown when the frame holds an item other than the required one. Leave it empty to send nothing.占位符颜色 |
insertingMessage | Var<String> | <gray>Inserting the item… | Action bar text shown when the player clicks a frame whose item is already being inserted. Leave it empty to send nothing.占位符颜色 |
missingItemMessage | Var<String> | <yellow>First place the requested item in the frame. | Action bar text shown when the player clicks an empty frame without holding the required item. Leave it empty to send nothing.占位符颜色 |
itemPlacedMessage | Var<String> | <green>Item placed — rotate the frame. | Action bar text shown once the required item is placed in the frame. Leave it empty to send nothing.占位符颜色 |
rotationMessage | Var<String> | <gray>Rotation {current}/{total} | Action bar text shown after each rotation that is not the right one yet. {current} is the rotation reached (from 1), {total} the number of rotations of a frame. Leave it empty to send nothing.占位符颜色 |