您尚未登录,请登录后浏览更多内容! 登录 | 加入最MC

QQ登录

只需一步,快速开始

 找回密码
 加入最MC

QQ登录

只需一步,快速开始

查看: 9365|回复: 0
打印 上一主题 下一主题

[转载插件] [扩展]ScriptCraft——使用JS编写你的服务器插件[全版本]

[复制链接]
  • TA的每日心情
    无聊
    2018-5-15 20:27
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    跳转到指定楼层
    楼主
    发表于 2018-12-12 19:21:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    服务端插件
    中文名称: 脚本工艺
    英文名称: ScriptCraft
    来源: 转载
    类型: |Bukkit/Spigot插件| 
    前置插件:
    原帖地址: https://github.com/walterhiggins/ScriptCraft
    下载地址: http://scriptcraftjs.org/download/latest
    更新时间: 2018-12-12
    语言支持: English 依赖于预先设置的字段语言 
    本帖最后由 逍遥珺 于 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(推荐)
    • 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插件 - 吼叫方块
    这是一个让方块在被摧毁后吼叫的模组。
    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物件。
    • __plugin - ScriptCraft本体。这是查看其它SpigotMC物品的有用的起点。他是个org.bukkit.plugin.Plugin插件,所有的方法和属性都是能看到的。例如:js __plugin.name会输出插件的名字(JS比java的__plugin.getName()更简洁,虽然有同样的功能)
    • server - 最高层的org.bukkit.Server物件,详细见这里
    • self - 输入了/js指令的玩家、命令方块或者服务器终端。这是一个好的开始深入SpigotMC API的地方。
    贡献
    如果你想要贡献源代码或者文件的改变请查看 这个
    状态
    Bukkit配置
    • 如果你使用CanaryMod可忽略
    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
    可以找到要建造这个容器的文件

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    您需要登录后才可以回帖 登录 | 加入最MC

    本版积分规则