最MC论坛

标题: [扩展]ScriptCraft——使用JS编写你的服务器插件[全版本] [打印本页]

作者: 逍遥珺    时间: 2018-12-12 19:21
标题: [扩展]ScriptCraft——使用JS编写你的服务器插件[全版本]
本帖最后由 逍遥珺 于 2018-12-12 19:22 编辑

ScriptCraft允许你用JavaScript来做我的世界模组-JavaScript是个相对来说简单学习的编程软件。ScriptCraft是个我的世界服务器插件,也就说它必须使用与我的世界服务器。一旦你下载并且安装了我的世界服务器,你就能用已安装的ScriptCraft插件来写你自己的我的世界模组。
我创建了ScriptCraft来能让年轻程序员更容易创造他们自己的我的世界模组。模组是用JavaScript语言写的。一旦你安装了ScriptCraft模组,你就能在目录的JavaScript(.js)文件里加入你自己的模组。
以下是一个简单的模组叫greet.js,在scriptcraft/plugins目录:
  1. function greet( player ) {
  2.     echo( player, 'Hello ' + player.name );
  3. }
  4. exports.greet = greet;
复制代码
在游戏指令里,输入:
/js greet(self)
只要你能在java里做的Spigot/CanaryMod API,你也可以用JavaScript的ScriptCraft实现
简绍
ScriptCraft是我的世界服务器的一个插件,他能让操纵者,管理员和作者用JavaScript自主改变这个游戏。ScriptCraft能够让你更容易的创建你自己的模组。你能用完全体的SpigotMC API/CanaryMod API 或者JavaScript来创建模组,。ScriptCraft能兼容所有以下我的世界服务器的软件。
我推荐SpigotMC,因为CanaryMod和CraftBukkit已经不再活跃开发了。ScriptCraft模组允许你在游戏内输入JS指令。要在游戏内输入指令,先输入/然后输入js 任何js指令。比如/js 1 + 1会显示2。
ScriptCraft也包括很多功能来让大家用js创造模组的时候更容易。JS的Drone是和ScriptScraft绑定在一起的,能够提供一个更简单的方法来按照尺寸建造。请看附件temple.js,里面有个如何用Drone来创建新建筑的例子。
先决条件
ScriptCraft是个我的世界服务器模组,它只能在个人电脑(windows,mac,linux)上运行。不兼容XBOX,Playstation或者WiiU版本的游戏。你需要至少java ver7安装才行。游戏内输入java -version来检查java版本。
安装
你必须先安装SpigotMC才能安装ScriptCraft。SpigotMC是一个我的世界服务器的特殊版本,能够让你更容易的自定义化这个游戏。
安装ScriptCraft
哦恭喜,你已经安装完成了,下载可以开始你的第一个模组制作了!
安装后
安装后,plugin/scriptcraft目录会在第一次运行时创建。所有在内的文件将在服务器开始时会自动生成。只有拥有op的玩家才能用这些插件。你可以授权一位玩家op权限,只需要在服务器指令输入op 玩家名或者把名字放到位于服务器目录的ops.txt里面。
启动服务器,再启动Minecraft并且创建新的服务器连接。连接完成进入游戏后,看着地面方块输入/js up().box( blocks.wool.black, 4, 9, 1 )。
这将创建一个4*9*1的黑色柱子。这是用drone完成的。详细见src/main/javascript/drone/drone.js来看看drone能做什么。
如果你想要不仅仅在我的世界做新的建筑。看看the homes mod,这是个很好的例子关于如何创建我的世界更多姿多彩的JS插件。
你的第一个ScriptCraft插件 - 吼叫方块
这是一个让方块在被摧毁后吼叫的模组。
  1. // copy and paste this code to a new file named 'scriptcraft/plugins/howling-blocks.js'
  2. var sounds = require('sounds');
  3.     function howl(event){
  4.     sounds.entityWolfHowl( event.block );
  5. }
  6. events.blockBreak( howl );
复制代码
如果你用的是CanaryMod,代码在 这里
我的世界的JS模组就只是一个JS源文件,位于 scriptcraft/plugins。所有的js文件在服务器开始时会自动加载。
以下是一些例子 戳我查看
更多信息
由于SprigotMC API是开放的,所有的SpigotMC API是可以通过JS联系到的,只要加载了ScriptCraft插件。以下是几个位于ScriptCraft里有用的java物件。
贡献
如果你想要贡献源代码或者文件的改变请查看 这个
状态
Bukkit配置
ScriptCraft和Bukkit Plugin一起运作,并且用Bukkit Configuration API。第一次运行的时候,ScriptCraft奖会创建一个config.yml文件位于 plugins/scriptcraft/。 文件看上去是:
  1. extract-js:
  2.     plugins: true
  3.     modules: true
  4.     lib: true
复制代码
这个文件允许scriptcraft管理启动或者重新解压modules,plugins和lib文件夹(在安装新版本的ScriptCraft时候)。强烈推荐lib目录一直都调成true,以获得最新的核心ScriptCraft代码。模块和插件目录是可选的,他们并不是ScriptCraft核心的一部分。
Docker
用SpigotMC和ScriptCraft来启动一个容器:
docker run -p 25565:25565 -it tclavier/scriptcraft
在这里:https://github.com/tclavier/docker-scriptcraft
可以找到要建造这个容器的文件






欢迎光临 最MC论坛 (http://www.zuimc.com/) Powered by Discuz! X3.2