本帖最后由 逍遥珺 于 2018-12-12 19:22 编辑
ScriptCraft允许你用JavaScript来做我的世界模组-JavaScript是个相对来说简单学习的编程软件。ScriptCraft是个我的世界服务器插件,也就说它必须使用与我的世界服务器。一旦你下载并且安装了我的世界服务器,你就能用已安装的ScriptCraft插件来写你自己的我的世界模组。 我创建了ScriptCraft来能让年轻程序员更容易创造他们自己的我的世界模组。模组是用JavaScript语言写的。一旦你安装了ScriptCraft模组,你就能在目录的JavaScript(.js)文件里加入你自己的模组。 以下是一个简单的模组叫greet.js,在scriptcraft/plugins目录: - function greet( player ) {
- echo( player, 'Hello ' + player.name );
- }
- exports.greet = greet;
复制代码在游戏指令里,输入: /js greet(self) 只要你能在java里做的Spigot/CanaryMod API,你也可以用JavaScript的ScriptCraft实现 简绍ScriptCraft是我的世界服务器的一个插件,他能让操纵者,管理员和作者用JavaScript自主改变这个游戏。ScriptCraft能够让你更容易的创建你自己的模组。你能用完全体的SpigotMC API/CanaryMod API 或者JavaScript来创建模组,。ScriptCraft能兼容所有以下我的世界服务器的软件。 - SpigotMC(推荐)
- GlowStone
- CanaryMod
我推荐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- 下载scriptcraft.jar(戳我),保存在plugins目录里,输入java -jar spigot-1.10.2.jar重启服务器。
- 在服务器指令里输入 /js 1 + 1 然后回车。会显示2.
哦恭喜,你已经安装完成了,下载可以开始你的第一个模组制作了! 安装后安装后,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插件 - 吼叫方块这是一个让方块在被摧毁后吼叫的模组。 - // copy and paste this code to a new file named 'scriptcraft/plugins/howling-blocks.js'
- var sounds = require('sounds');
- function howl(event){
- sounds.entityWolfHowl( event.block );
- }
- events.blockBreak( howl );
复制代码我的世界的JS模组就只是一个JS源文件,位于 scriptcraft/plugins。所有的js文件在服务器开始时会自动加载。 更多信息由于SprigotMC API是开放的,所有的SpigotMC API是可以通过JS联系到的,只要加载了ScriptCraft插件。以下是几个位于ScriptCraft里有用的java物件。 - __plugin - ScriptCraft本体。这是查看其它SpigotMC物品的有用的起点。他是个org.bukkit.plugin.Plugin插件,所有的方法和属性都是能看到的。例如:js __plugin.name会输出插件的名字(JS比java的__plugin.getName()更简洁,虽然有同样的功能)
- server - 最高层的org.bukkit.Server物件,详细见这里
- self - 输入了/js指令的玩家、命令方块或者服务器终端。这是一个好的开始深入SpigotMC API的地方。
贡献状态Bukkit配置ScriptCraft和Bukkit Plugin一起运作,并且用Bukkit Configuration API。第一次运行的时候,ScriptCraft奖会创建一个config.yml文件位于 plugins/scriptcraft/。 文件看上去是: - extract-js:
- plugins: true
- modules: true
- lib: true
复制代码这个文件允许scriptcraft管理启动或者重新解压modules,plugins和lib文件夹(在安装新版本的ScriptCraft时候)。强烈推荐lib目录一直都调成true,以获得最新的核心ScriptCraft代码。模块和插件目录是可选的,他们并不是ScriptCraft核心的一部分。 Docker用SpigotMC和ScriptCraft来启动一个容器: docker run -p 25565:25565 -it tclavier/scriptcraft 可以找到要建造这个容器的文件
|