#UI Projecting errors

1 messages · Page 1 of 1 (latest)

red sparrow
#
import * as server from '@minecraft/server'
import * as ui from '@minecraft/server-ui'
const world = server.world

import { ExplosionOptions } from 'mojang-minecraft'

//Form Creation
let form1 = new ui.ActionFormData()
form1.title("Tutorial")
form1.body("Tutorial Body")
//Starts at 0
form1.button("-=Warps=-")
form1.button("-=Shop=-")
form1.button("-=Money transfer=-")
form1.button("Buy Diamond $50", "textures/ui_icons/diamond_icon")

let form2 = new ui.ActionFormData()
form2.title("Tutorial")
form2.body("Hi")
form2.button("Back")

function page1(player) {
    form1.show(player).then(result => {
        let selection = result.selection
        if (selection == 0) {
            player.runCommand(
                "gamemode c @s"
            )
        }
        if (selection == 1) {
            player.runCommand(
                "gamemode s @s"
            )
        }
        if (selection == 2) {
            player.dimension.createExplosion(player.location, 4, new ExplosionOptions())
        }
        if (selection == 3) {
            let enoughMoney = player.runCommand(`scoreboard players test @s values 50 50`)
            if (enoughMoney) {
                player.runCommand("give @s diamond 1")
                player.runCommand("scoreboard players remove @s values 50")
            }
        }
        if (selection == 4) {
            page2(player)
        }
    })
}

function page2(player) {
    form2.show(player).then(result => {
        let selection = result.selection
        if (selection == 0) {
            page1(player)
        }
    })
}

world.events.beforeItemUse.subscribe(eventData => {
    let player = eventData.source
    let item = eventData.item

    if (item.id == "minecraft:compass") {
        page1(player)
    }
})```
steady tideBOT
#
Debug Result

There are 2 errors in this [code](#1116002757032292462 message):

<repl>.js:5:34 - error TS2307: Cannot find module 'mojang-minecraft' or its corresponding type declarations.

5 import { ExplosionOptions } from 'mojang-minecraft'
                                   ~~~~~~~~~~~~~~~~~~

``````ansi
<repl>.js:64:14 - error TS2339: Property 'id' does not exist on type 'ItemStack'.

64     if (item.id == "minecraft:compass") {
                ~~

red sparrow
#

Whats the fix to this?

undone sequoia
#

your code is outdated

  • mojang-minecraft is not a thing. ExplosionOptions is an interface and doesn't need to be imported
  • item.id is now item.type.id
  • new ExplosionOptions() you cannot create instance of an interface. Either pass an object for options or pass nothing
red sparrow
#
import { world } from "@minecraft/server";
import * as ui from "@minecraft/server-ui";

//Form Creation
let form1 = new ui.ActionFormData()
form1.title("Tutorial")
form1.body("Tutorial Body")
//Starts at 0
form1.button("-=Warps=-")
form1.button("-=Shop=-")
form1.button("-=Money transfer=-")
form1.button("Buy Diamond $50", "textures/ui_icons/diamond_icon")

let form2 = new ui.ActionFormData()
form2.title("Tutorial")
form2.body("Hi")
form2.button("Back")

function page1(player) {
    form1.show(player).then(result => {
        let selection = result.selection
        if (selection == 0) {
            player.runCommand(
                "gamemode c @s"
            )
        }
        if (selection == 1) {
            player.runCommand(
                "gamemode s @s"
            )
        }
        if (selection == 2) {
            player.dimension.createExplosion(player.location, 4, {})
        }
        if (selection == 3) {
            let enoughMoney = player.runCommand(`scoreboard players test @s values 50 50`)
            if (enoughMoney) {
                player.runCommand("give @s diamond 1")
                player.runCommand("scoreboard players remove @s values 50")
            }
        }
        if (selection == 4) {
            page2(player)
        }
    })
}

function page2(player) {
    form2.show(player).then(result => {
        let selection = result.selection
        if (selection == 0) {
            page1(player)
        }
    })
}

world.events.beforeItemUse.subscribe(eventData => {
    let player = eventData.source
    let item = eventData.item

    if (item.typeId == "minecraft:compass") {
        page1(player)
    }
})```
#

Heres the updated version

#

But it still wont work

stuck pier
#

manifest issue

undone sequoia
#

bro why u giving the entire file- just give a screenshot of only latest errors

red sparrow
undone sequoia
#

which version u on

#

minecraft

red sparrow
#

Lasted version

undone sequoia
#

1.19.83?

#

or is 1.20 out already

stuck pier
#

1.20 comes today or tomorrow

undone sequoia
#

ooh

stuck pier
#

maybe about 2~3 hours later?

red sparrow
#

Yeah 1.19.83

undone sequoia
#

then use 1.2.0-beta for minecraft/server

stuck pier
red sparrow
#

Still, not working

stuck pier
#

any errors?

red sparrow
stuck pier
#

server is 1.2.0-beta now

#

ui is 1.0.0-beta

undone sequoia
#

and gametest too

stuck pier
#

and you should delete server-gametest module if you don't use it

stuck pier
red sparrow
#

so ] }, { "module_name": "@minecraft/server", "version": "1.2.0-beta" }, { "module_name": "@minecraft/server-gametest", "version": "1.0.0-beta" }, { "module_name": "@minecraft/server-ui", "version": "1.0.0-beta" } ] }

stuck pier
#

server-admin works only on Bedrock server

red sparrow
#

Lemme delete it

#

So essentially that?

undone sequoia
#

yup

red sparrow
#

Still no luck

#

Actually nvm