Package net.createmod.ponder.api.scene
Interface SceneBuilder
- All Known Implementing Classes:
PonderSceneBuilder
public interface SceneBuilder
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddInstruction(Consumer<PonderScene> callback) Adds a simple instruction to the scene.voidaddInstruction(PonderInstruction instruction) Adds an instruction to the scene.voidAdds a Key Frame at the end of the last delay() instruction for the users to skip tovoidAdds a Key Frame a couple ticks after the last delay() instruction for the users to skip tovoidconfigureBasePlate(int xOffset, int zOffset, int basePlateSize) Communicates to the ponder UI which parts of the schematic make up the base horizontally.debug()Additional tools for debugging ponder and bypassing the facadeeffects()Special effects to embellish and communicate withgetScene()voididle(int ticks) Before running the upcoming instructions, wait for a duration to let previous actions play out.voididleSeconds(int seconds) Before running the upcoming instructions, wait for a duration to let previous actions play out.voidOnce the scene reaches this instruction in the timeline, mark it as "finished".overlay()Ponder's toolkit for showing information on top of the scene world, such as highlighted bounding boxes, texts, icons and keybindings.voidUse this to disable the base plate's shadow for this scenevoidrotateCameraY(float degrees) Pans the scene's camera view around the vertical axis by the given amountvoidscaleSceneView(float factor) Use this in case you are not happy with the scale of the scene relative to the overlayvoidsetNextUpEnabled(boolean isEnabled) Control whether the "next scene" popup should be displayed for this scene once the previous scene has finished running all of its instructions.voidsetSceneOffsetY(float yOffset) Use this in case you are not happy with the vertical alignment of the scene relative to the overlayvoidFade the layer of blocks into the scene ponder assumes to be the base plate of the schematic's structure.special()Random other instructions that might come in handyvoidAssign a unique translation key, as well as the standard english translation for this scene's title using this method, anywhere inside the program function.world()Instructions for manipulating the schematic and its currently visible areas.
-
Method Details
-
overlay
OverlayInstructions overlay()Ponder's toolkit for showing information on top of the scene world, such as highlighted bounding boxes, texts, icons and keybindings. -
world
WorldInstructions world()Instructions for manipulating the schematic and its currently visible areas. Allows to show, hide and modify blocks as the scene plays out. -
debug
DebugInstructions debug()Additional tools for debugging ponder and bypassing the facade -
effects
EffectInstructions effects()Special effects to embellish and communicate with -
special
SpecialInstructions special()Random other instructions that might come in handy -
getScene
PonderScene getScene() -
title
Assign a unique translation key, as well as the standard english translation for this scene's title using this method, anywhere inside the program function.- Parameters:
sceneId- unique ID for this scene, used as a prefix for translation entriestitle- title for this scene, in english
-
configureBasePlate
void configureBasePlate(int xOffset, int zOffset, int basePlateSize) Communicates to the ponder UI which parts of the schematic make up the base horizontally. Use of this is encouraged whenever there are components outside the base plate.
As a result, showBasePlate() will only show the configured size, and the scene's scaling inside the UI will be consistent with its base size.- Parameters:
xOffset- Block spaces between the base plate and the schematic boundary on the Western side.zOffset- Block spaces between the base plate and the schematic boundary on the Northern side.basePlateSize- Length in blocks of the base plate itself. Ponder assumes it to be square
-
scaleSceneView
void scaleSceneView(float factor) Use this in case you are not happy with the scale of the scene relative to the overlay- Parameters:
factor- >1 will make the scene appear larger, smaller otherwise
-
removeShadow
void removeShadow()Use this to disable the base plate's shadow for this scene -
setSceneOffsetY
void setSceneOffsetY(float yOffset) Use this in case you are not happy with the vertical alignment of the scene relative to the overlay- Parameters:
yOffset- >0 moves the scene up, down otherwise
-
showBasePlate
void showBasePlate()Fade the layer of blocks into the scene ponder assumes to be the base plate of the schematic's structure. Makes for a nice opener -
addInstruction
Adds an instruction to the scene. It is recommended to only use this method if another method in this class or its subclasses does not already allow adding a certain instruction. -
addInstruction
Adds a simple instruction to the scene. It is recommended to only use this method if another method in this class or its subclasses does not already allow adding a certain instruction. -
idle
void idle(int ticks) Before running the upcoming instructions, wait for a duration to let previous actions play out.
Idle does not stall any animations, only schedules a time gap between instructions.- Parameters:
ticks- Ticks to wait for
-
idleSeconds
void idleSeconds(int seconds) Before running the upcoming instructions, wait for a duration to let previous actions play out.
Idle does not stall any animations, only schedules a time gap between instructions.- Parameters:
seconds- Seconds to wait for
-
markAsFinished
void markAsFinished()Once the scene reaches this instruction in the timeline, mark it as "finished". This happens automatically when the end of a storyboard is reached, but can be desirable to do earlier, in order to bypass the wait for any residual text windows to time out.
So far this event only affects the "next scene" button in the UI to flash. -
setNextUpEnabled
void setNextUpEnabled(boolean isEnabled) Control whether the "next scene" popup should be displayed for this scene once the previous scene has finished running all of its instructions. -
rotateCameraY
void rotateCameraY(float degrees) Pans the scene's camera view around the vertical axis by the given amount -
addKeyframe
void addKeyframe()Adds a Key Frame at the end of the last delay() instruction for the users to skip to -
addLazyKeyframe
void addLazyKeyframe()Adds a Key Frame a couple ticks after the last delay() instruction for the users to skip to
-