Skip to content
This repository has been archived by the owner on Apr 3, 2024. It is now read-only.

Tutorial: Switch

ricochet1k edited this page Dec 11, 2012 · 1 revision

Note: This was pulled from the tutorial. It may need to be cleaned up and placed elsewhere.

####Switch Routines

Switch routines complement Conditional statements with a different method of control commonly referred to as "branching". Switches are designed to work very similarly to switch statements in Java, and have relatively simple syntax:

- 'switch.something':
    - 'FirstCase':
      [SOME STATEMENTS]
    - 'SecondCase':
      [SOME STATEMENTS]
    #...etc.
#Sample Spawn config
Spawn:
    - 'switch.entity.type':       # You must use "entity" in this EntityType conditional, 
                                  #   due to an update.
        - 'Creeper': 'range(3,7)'  # A simple equation that defines an upper and lower bound that randomly assigns
                                  #   a value between that range. In this example, Creepers now spawn with 
                                  #   health between 3 and 7.
                                  
        - 'Ghast': '0'            # If a nonpositive result is calculated for spawning, it simply cancels the event :D
        
        - 'Human': '15'           # Give 'em something to aspire to.
        - 'Player': '14'

There is a problem that may not be immediately obvious with this configuration - the Player case never gets executed! As we mentioned before, Player is a subcategory of Human - and thus any Player would get caught by the Human case! Switches only execute a single case - this is what makes them unique in regard to Conditionals. Be wary of these potential logical mistakes as you configure MD. Also know that there is a switchall option, which can execute Multiple cases in the same set.

Clone this wiki locally