Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Post install problem: '/js up()' causes ScriptException #447

Open
nickmalleson opened this issue Aug 22, 2020 · 4 comments
Open

Post install problem: '/js up()' causes ScriptException #447

nickmalleson opened this issue Aug 22, 2020 · 4 comments
Labels

Comments

@nickmalleson
Copy link

I'm new to ScriptCraft, so apologies in advance if I've done something stupid. I am using ScriptCraft version 3.4.0 (https://github.com/walterhiggins/ScriptCraft/releases/tag/3.4.0) running with spigot-1.16.2 on OS X Catalina (10.15.6). I have successfully installed the ScriptCraft plugin and can make the simple 'greet' mod to print my username. But if I try to run the command

/js up().box( blocks.wool.black, 4, 9, 1 )

I get the following error:

Error: java.lang.RuntimeException: javax.script.ScriptException: ReferenceError: "up" is not defined in <eval> at line number 1

(full stack trace below).

A few commands work, e.g. \js blocks.oak returns "5" but any function calls give similar errors to the one above.

There are also some warnings thrown when the server stars up which may be relevant:

[05:37:56] [Server thread/ERROR]: [scriptcraft] Plugin /Users/nick/minecraft/scriptcraft/plugins/arrows.js Error: Error executing module /Users/nick/minecraft/scriptcraft/plugins/arrows.js line #336 : Error executing module drone line #undefined : java.lang.ClassNotFoundException: org.bukkit.craftbukkit.v1_16_R2.util.CraftEvil
 undefined
> undefined

[05:37:56] [Server thread/ERROR]: [scriptcraft] Plugin /Users/nick/minecraft/scriptcraft/plugins/drone/contrib/cottage.js Error: Error executing module /Users/nick/minecraft/scriptcraft/plugins/drone/contrib/cottage.js line #158 : Drone.extend is not a function
 }

Any ideas why function calls don't work?

Thanks in advance,
Nick

Full stack trace from /js up().box( blocks.wool.black, 4, 9, 1 ):

[05:31:46] [Server thread/INFO]: nsm99999 issued server command: /js up().box( blocks.wool.black, 4, 9, 1 )
[05:31:46] [Server thread/ERROR]: [scriptcraft] Error while trying to evaluate javascript: up().box( blocks.wool.black, 4, 9, 1 ), Error: java.lang.RuntimeException: javax.script.ScriptException: ReferenceError: "up" is not defined in <eval> at line number 1
[05:31:46] [Server thread/ERROR]: [scriptcraft] javax.script.ScriptException: java.lang.RuntimeException: javax.script.ScriptException: ReferenceError: "up" is not defined in <eval> at line number 1 in <eval> at line number 695 at column number 8
[05:31:46] [Server thread/WARN]: javax.script.ScriptException: java.lang.RuntimeException: javax.script.ScriptException: ReferenceError: "up" is not defined in <eval> at line number 1 in <eval> at line number 695 at column number 8
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:477)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.invokeImpl(NashornScriptEngine.java:399)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.invokeFunction(NashornScriptEngine.java:197)
[05:31:46] [Server thread/WARN]: 	at org.scriptcraftjs.bukkit.ScriptCraftPlugin.onCommand(ScriptCraftPlugin.java:75)
[05:31:46] [Server thread/WARN]: 	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
[05:31:46] [Server thread/WARN]: 	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149)
[05:31:46] [Server thread/WARN]: 	at org.bukkit.craftbukkit.v1_16_R2.CraftServer.dispatchCommand(CraftServer.java:756)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.PlayerConnection.handleCommand(PlayerConnection.java:1697)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.PlayerConnection.a(PlayerConnection.java:1540)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.PacketPlayInChat.a(PacketPlayInChat.java:47)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.PacketPlayInChat.a(PacketPlayInChat.java:1)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.TickTask.run(SourceFile:18)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeTask(SourceFile:144)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeNext(SourceFile:118)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.MinecraftServer.ba(MinecraftServer.java:941)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.MinecraftServer.executeNext(MinecraftServer.java:934)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.awaitTasks(SourceFile:127)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.MinecraftServer.sleepForTick(MinecraftServer.java:918)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:850)
[05:31:46] [Server thread/WARN]: 	at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164)
[05:31:46] [Server thread/WARN]: 	at java.base/java.lang.Thread.run(Thread.java:830)
[05:31:46] [Server thread/WARN]: Caused by: <eval>:695:8 java.lang.RuntimeException: javax.script.ScriptException: ReferenceError: "up" is not defined in <eval> at line number 1
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAException.create(ECMAException.java:113)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$531$\^eval\_.__onEnable#__onCommand(<eval>:695)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:646)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.ScriptObjectMirror.callMember(ScriptObjectMirror.java:202)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.invokeImpl(NashornScriptEngine.java:393)
[05:31:46] [Server thread/WARN]: 	... 21 more
[05:31:46] [Server thread/WARN]: Caused by: java.lang.RuntimeException: javax.script.ScriptException: ReferenceError: "up" is not defined in <eval> at line number 1
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays.IteratorAction.apply(IteratorAction.java:116)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.objects.NativeArray.forEach(NativeArray.java:1580)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$531$\^eval\_.__onEnable#__onCommand(<eval>:649)
[05:31:46] [Server thread/WARN]: 	... 26 more
[05:31:46] [Server thread/WARN]: Caused by: javax.script.ScriptException: ReferenceError: "up" is not defined in <eval> at line number 1
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:477)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:461)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:162)
[05:31:46] [Server thread/WARN]: 	at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$66$19876A$\^eval\_.__onEnable#engineEval(<eval>:598)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$514$21161A$\^eval\_.__onEnable#__onCommand#L:649(<eval>:650)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.objects.NativeArray$9.forEach(NativeArray.java:1577)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.arrays.IteratorAction.apply(IteratorAction.java:110)
[05:31:46] [Server thread/WARN]: 	... 28 more
[05:31:46] [Server thread/WARN]: Caused by: <eval>:1 ReferenceError: "up" is not defined
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:319)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:291)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.objects.Global.__noSuchProperty__(Global.java:1616)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$592$\^eval\_/0x0000000801b6f440.:program(<eval>:1)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
[05:31:46] [Server thread/WARN]: 	at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
[05:31:46] [Server thread/WARN]: 	... 36 more

@nickmalleson nickmalleson changed the title Post install problem: /js up().box( blocks.wool.black, 4, 9, 1 ) causes ScriptException: ReferenceError: "up" is not defined Post install problem: '/js up()' causes ScriptException Aug 22, 2020
@rururudy
Copy link

rururudy commented Sep 4, 2020

Confirmed. I have same issue -- first time setting up ScriptCraft as well. /js 1+1 works fine, the 'blocks howl' demo works fine, but /js up() throws an exception.

@Markus-1974
Copy link

Markus-1974 commented Sep 6, 2020

The exceptions above are easy to fix:

(As you seem to use MC 1.16.2, possibly, you also should integrate the changes from pull request "minor workable fix for drone on 1.15.x and 1.16.x #443", before...)

Find these lines in your spigot server folder ./scriptcraft/modules/drone/index.js (must be about line 349)

    console.log('Drone using CraftEvil.setTypeIdAndData method');
    var CraftEvil = Java.type(server.class.package.name + '.util.CraftEvil');
    return function(block, typeId, data, applyPhysics) {

and change them to become these lines:

    console.log('Drone using CraftEvil.setTypeIdAndData method');
    var CraftEvil = Java.type(server.class.package.name + '.legacy.CraftEvil');
    return function(block, typeId, data, applyPhysics) {

Greetings,

Markus

@nickmalleson
Copy link
Author

Thanks Markus, changing those three lines worked a treat. I didn't integrate the changes from #443 but will do that first if I hit any other problems. I'll leave this open in case you intend to integrate the changes into the main branch first.

And thanks for helping this great library, I'm playing minecraft with my son and am tricking him into learning to code without him realising it :-)

@MrDoomBringer
Copy link

Huge thanks @Markus-1974

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants