Sign in

    moos-sdk

    Download zip
    Author
    Version
    0.1.23
    License
    Apache-2.0
    Last updated
    last year
    Downloads
    202

    #moos-sdk

    runs_on License: GPL v3

    A sdk to build moss extensions easily with moonbit

    #Getting Started

    1. Create a new project with moon new
    2. Add moos as dependency moon add furesoft/moos-sdk
    3. Create those functions
    pub fn moss_extension_register() -> Int {
    let extensionInfo: @moss.ExtensionInfo = {
    files: []
    }

    @host.output_json_value(extensionInfo.to_json())
    0
    }

    pub fn moss_extension_loop() -> Int {
    0
    }

    pub fn moss_extension_unregister() -> Int {
    0
    }
    1. import the moos-sdk and export those functions in the moon.pkg.json
    { "import": [ "gmlewis/moonbit-pdk/pdk", "gmlewis/moonbit-pdk/pdk/host", {"path": "furesoft/moos-sdk/lib", "alias": "moss"} ], "link": { "wasm": { "exports": [ "moss_extension_register", "moss_extension_unregister", "moss_extension_loop" ], "export-memory-name": "memory" } } }
    1. Build it with moon build --target wasm

    Allocate

    pub(open) trait Allocate {
    allocate(Self) -> Int64
    }

    impl Allocate for String

    Colors

    pub struct Colors {
    }

    Colors::aliceBlue

    Colors::antiqueWhite

    Colors::aquamarine

    Colors::bisque

    Colors::blanchedAlmond

    Colors::blueViolet

    Colors::burlyWood

    Colors::cadetBlue

    Colors::chartreuse

    Colors::chocolate

    Colors::cornflowerBlue

    Colors::cornsilk

    Colors::crimson

    Colors::darkBlue

    Colors::darkCyan

    Colors::darkGoldenrod

    Colors::darkGray

    Colors::darkGreen

    Colors::darkKhaki

    Colors::darkMagenta

    Colors::darkOliveGreen

    Colors::darkOrange

    Colors::darkOrchid

    Colors::darkRed

    Colors::darkSalmon

    Colors::darkSeaGreen

    Colors::darkSlateBlue

    Colors::darkSlateGray

    Colors::darkTurquoise

    Colors::darkViolet

    Colors::deepPink

    Colors::deepSkyBlue

    Colors::dimGray

    Colors::dodgerBlue

    Colors::firebrick

    Colors::floralWhite

    Colors::forestGreen

    Colors::fuchsia

    Colors::gainsboro

    Colors::ghostWhite

    Colors::goldenrod

    Colors::greenYellow

    Colors::honeydew

    Colors::hotPink

    Colors::indianRed

    Colors::indigo

    Colors::lavender

    Colors::lavenderBlush

    Colors::lawnGreen

    Colors::lemonChiffon

    Colors::lightBlue

    Colors::lightCoral

    Colors::lightCyan

    Colors::lightGoldenrodYellow

    fn Colors::lightGoldenrodYellow() ->
    Color

    Colors::lightGray

    Colors::lightGreen

    Colors::lightPink

    Colors::lightSalmon

    Colors::lightSeaGreen

    Colors::lightSkyBlue

    Colors::lightSlateGray

    Colors::lightSteelBlue

    Colors::lightYellow

    Colors::limeGreen

    Colors::magenta

    Colors::maroon

    Colors::mediumAquamarine

    Colors::mediumBlue

    Colors::mediumOrchid

    Colors::mediumPurple

    Colors::mediumSeaGreen

    Colors::mediumSlateBlue

    Colors::mediumSpringGreen

    fn Colors::mediumSpringGreen() ->
    Color

    Colors::mediumTurquoise

    Colors::mediumVioletRed

    Colors::midnightBlue

    Colors::mintCream

    Colors::mistyRose

    Colors::moccasin

    Colors::navajoWhite

    Colors::oldLace

    Colors::oliveDrab

    Colors::orange

    Colors::orangeRed

    Colors::orchid

    Colors::paleGoldenrod

    Colors::paleGreen

    Colors::paleTurquoise

    Colors::paleVioletRed

    Colors::papayaWhip

    Colors::peachPuff

    Colors::powderBlue

    Colors::purple

    Colors::rosyBrown

    Colors::royalBlue

    Colors::saddleBrown

    Colors::salmon

    Colors::sandyBrown

    Colors::seaGreen

    Colors::seaShell

    Colors::sienna

    Colors::silver

    Colors::skyBlue

    Colors::slateBlue

    Colors::slateGray

    Colors::springGreen

    Colors::steelBlue

    Colors::thistle

    Colors::tomato

    Colors::turquoise

    Colors::violet

    Colors::whiteSmoke

    Colors::yellow

    Colors::yellowGreen

    Text

    pub struct Text {
    id : Int64
    }

    impl Default for Text
    impl ToJson for Text

    Text::display

    fn Text::display(self : Text) -> Unit

    Text::new

    fn Text::new(text : String, font : String, font_size : Int64, colors :
    TextColor
    ) -> Text

    Text::set_font

    fn Text::set_font(self : Text, font : String, font_size : Int64) ->
    Rect

    Text::set_rect

    fn Text::set_rect(self : Text, rect :
    Rect
    ) -> Unit

    Text::set_text

    fn Text::set_text(self : Text, text : String) ->
    Rect

    allocate

    fn allocate[T : ToJson](obj : T) -> Int64
    Allocates a JSON object in the host memory and returns its pointer.

    config_set

    fn config_set[T : ToJson](key : String, value : T) -> Unit

    defaults_get

    fn defaults_get[T :
    FromJson
    ](key : String) -> T?

    defaults_get_color

    fn defaults_get_color(key : String) ->
    Color
    ?

    defaults_set

    fn defaults_set[T : ToJson](key : String, value : T) -> Unit

    defaults_set_color

    fn defaults_set_color(key : String, color :
    Color
    ) -> Unit

    deserialize

    fn deserialize[T :
    FromJson
    ](ptr : Int64) -> T?
    Finds an object in the host memory and deserializes it to the given type.

    export_statistical_data

    fn export_statistical_data() -> Unit

    register_extension_button

    fn register_extension_button(button :
    ContextButton
    ) -> Unit

    send

    fn send[T : ToJson](data : T) -> Unit
    this returns a value to the host in an exported function

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io