JPAKx4

Joined 31 December 2024
Revision as of 18:02, 19 April 2025 by JPAKx4 (talk | contribs) (Added MoLang Types page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Types

Cobblemon uses Bedrockk MoLang to parse and execute MoLang. This is a table of types used in Cobblemon as documented, and the class it extends from.

MoLang Functions

Name Type Description
MoValue Class This is the parent class of all values. Does nothing on it's own, can be treated like Any in Kotlin.
DoubleValue Subclass of MoValue Doubles are also used as Integers and Booleans.
StringValue Subclass of MoValue Represents a String.
MoStruct Subclass of MoValue Used like a map, can get or set using a string key.
VariableStruct Subclass of MoStruct A struct that can get and set values.
ArrayStruct Subclass of VariableStruct A struct that uses integers as keys. NOTE: For the purpose of documentation, ArrayStruct is notated as ArrayStruct<Type> when only one type is expected. All ArrayStructs have no required types and can be mixed.
QueryStruct Subclass of MoStruct A struct that contains functions that can be executed using get. Does not support setting values.
ObjectValue Subclass of QueryStruct Cobblemon class used to implement many types. Can get the value of the type, get a double value using asDouble(), and get a string value using asString(). This is used for Players, Pokémon, Battles, and the rest of our implemented Minecraft and Cobblemon types. These may have special functions which are listed below.