-
Notifications
You must be signed in to change notification settings - Fork 2
Settings
Settings are properties of a block type that can be changed.
They are defined inside a blocks.xml inside the mod folder.
The path to it should therefore look like this \<YOUR MAP>\switchBlocksMod\blocks.xml.
When starting the game in debug mode switch blocks provide a pause menu item that lets you generate this file automatically, assuming it can find the Worldsmith folder structure.
This means the map is started using the compiled files inside the bin folder, compiled from files outside the bin folder, one folder level up.
The file then contains all settings for your used block types commented out, or retaining already set settings from before.
Once you have changed settings you may then select the pause menu option to reload the blocks.xml for your changes to apply.
It should be noted that changes are made in the blocks.xml that contains your uncompiled files (where the .png images are, NOT .xnb).
| Auto | Basic | Countdown | Group | Jump | Sand | Sequence | Threshold | |
|---|---|---|---|---|---|---|---|---|
| Duration | ✓ | ✓ | ✓ | ✓ | ||||
| DurationOff | ✓ | |||||||
| Multiplier | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| LeverDirections | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| PlatformDirections | ✓ | ✓ | ||||||
| ForceSwitch | ✓ | ✓ | ✓ | ✓ | ||||
| SaveCarriesOver | ✓ | |||||||
| SingleUseReset | ✓ | |||||||
| IsV2 | ✓ | |||||||
| DisableOnLeaving | ✓ | |||||||
| DefaultActive | ✓ | |||||||
| Stat | ✓ | |||||||
| Count | ✓ | |||||||
| Warn - Count | ✓ | ✓ | ||||||
| Warn - Duration | ✓ | ✓ | ||||||
| Warn - DisableOn | ✓ | |||||||
| Warn - DisableOff | ✓ |
The duration setting changes for how long a state lasts.
The setting supports decimal numbers.
The default duration of the auto and countdown type is 3 seconds.
The default duration of the group and sequence type is 0 seconds. This sets them to be duration agnostic and function entirely based on the player touching and leaving the platforms.
The duration off setting changes for how long the off state lasts.
The setting supports decimal numbers.
The default duration of the off state is based on the overall duration.
The multiplier setting changes how fast the animation of drawables on state switch plays.
The setting supports decimal numbers.
The default multiplier is 1. This results in the animation taking half a second to finish.
As the animation starts playing only after the state has switched it is not recommended to set this value lower than the default 1.
This setting is effectively deprecated as the animation curve Stepped exists for cases where the animation should be instant as well as the Multiplier element for drawables to control the speed of scrolling.
The lever directions setting specifies from which side a lever can be activated from.
The settings supports the values Up, Down, Left, and Right.
The values are separated by comma.
The default value is Up, Down, Left, Right (all sides allowed).
The platform directions setting specifies from which side a platform can be activated from.
The settings supports the values Up, Down, Left, and Right.
The values are separated by comma.
The default value is Up, Down, Left, Right (all sides allowed).
The force switch setting disables the safe switching feature. Block types that do not support this feature do not support safe switching and it is the map maker responsibility to not allow for situations that would see the player stuck inside a solid block.
It is never recommended to use this feature. Placing the player inside a solid block prevents block behaviours from running. Using this feature places any all responsibility on the map maker.
The default value is false.
The save carries over setting allows a save to carry over from a previous playthrough.
The default value is false.
The single use reset setting makes it so single use levers are able to be used again once the state switches effectively turning them from single use to normal levers with the difference being that normal levers, as long as they are touched, do not progress the duration, where as a single use lever counts down the duration starting from the first touch.
The default value is false.
The IsV2 settings fixes the sand type being able to push the player through ceilings.
As functionality had to be moved around and the GotIB map was already using the flawed version this tag exists to cause no changes in gameplay. Should the map end up using this tag it will be removed and the v2 sand will become the default.
It is highly recommended to use this feature.
The default value is false.
The disable on leaving setting makes it so, regardless of touch or duration, the platform will disable once left.
The default value is false.
The default active setting specifies which block group ids are active at the start of the map.
The default value is 1.
The stat setting specifies the stat the threshold type uses.
The settings supports the values Falls, Jumps, Time, and Session.
The default value is Falls.
The count setting specifies the stat threshold.
The default value for Falls, Jumps, and Session is 1.
Should the stat be Time the default value becomes 60 seconds.
The stat is exclusive, as such setting a threshold of 3 jumps will switch the state on the third jump.
This is a warn setting, it is placed inside a <Warn> element.
The warn count setting specifies the amount of times the warn sound is played.
The default value is 2.
This is a warn setting, it is placed inside a <Warn> element.
The warn duration setting specifies the duration between plays of the warn sound as well as the switch sound.
The setting supports decimal numbers.
The default value is 1 second.
This is a warn setting, it is placed inside a <Warn> element.
The warn disable on setting specifies whether the warn sounds should not be played during the on state.
The default value is false.
This is a warn setting, it is placed inside a <Warn> element.
The warn disable off setting specifies whether the warn sounds should not be played during the off state.
The default value is false.
Boolean settings, that is those that are either true or false, can be provided as a self closing element. This is effectively a short form to provide a true value.
A self closing element is an element that contains no value between two elements, just one element like this <Example />
| Element | Result |
|---|---|
| No element | false |
| <Example>false</Example> | false |
| <Example>true</Example> | true |
| <Example /> | true |
This will be generated by the debug menu option, not used block types excluded.
To uncomment a setting remove <!-- --> surrounding the actual element.
The values inside the setting may not reflect the default are only an example.
<?xml version="1.0" encoding="utf-8"?>
<Blocks>
<Auto>
<!-- <Duration>3.0</Duration> -->
<!-- <DurationOff>3.0</DurationOff> -->
<!-- <Multiplier>1.0</Multiplier> -->
<!-- <ForceStateSwitch /> -->
<Warn>
<!-- <Count>2</Count> -->
<!-- <Duration>1.0</Duration> -->
<!-- <DisableOn /> -->
<!-- <DisableOff /> -->
</Warn>
</Auto>
<Basic>
<!-- <Multiplier>1.0</Multiplier> -->
<!-- <LeverSideDisable>Up, Down, Left, Right</LeverSideDisable> -->
<!-- <SaveCarriesOver /> -->
</Basic>
<Countdown>
<!-- <Duration>3.0</Duration> -->
<!-- <Multiplier>1</Multiplier> -->
<!-- <LeverSideDisable>Up, Down, Left, Right</LeverSideDisable> -->
<!-- <ForceStateSwitch /> -->
<!-- <SingleUseReset /> -->
<Warn>
<!-- <Count>2</Count> -->
<!-- <Duration>1.0</Duration> -->
</Warn>
</Countdown>
<Group>
<!-- <Duration>0</Duration> -->
<!-- <Multiplier>1.0</Multiplier> -->
<!-- <LeverSideDisable>Up, Down, Left, Right</LeverSideDisable> -->
<!-- <PlatformSideDisable>Up, Down, Left, Right</PlatformSideDisable> -->
</Group>
<Jump>
<!-- <Multiplier>1.0</Multiplier> -->
<!-- <ForceStateSwitch /> -->
</Jump>
<Sand>
<!-- <IsV2 /> -->
<!-- <Multiplier>1.0</Multiplier> -->
<!-- <LeverSideDisable>Up, Down, Left, Right</LeverSideDisable> -->
</Sand>
<Sequence>
<!-- <Duration>0.0</Duration> -->
<!-- <Multiplier>1.0</Multiplier> -->
<!-- <LeverSideDisable>Up, Down, Left, Right</LeverSideDisable> -->
<!-- <PlatformSideDisable>Up, Down, Left, Right</PlatformSideDisable> -->
<!-- <DisableOnLeaving /> -->
<!-- <DefaultActive>1, 3, 5</DefaultActive> -->
</Sequence>
<Threshold>
<!-- Stats to check for are: Jumps, Falls, Time, Session -->
<!-- <Stat>Time</Stat> -->
<!-- <Count>300</Count> -->
<!-- <Multiplier>1.0</Multiplier> -->
<!-- <ForceStateSwitch /> -->
</Threshold>
</Blocks>