[编程]PVPINCore —— 开源的JavaScript脚本加载及简单前置类库 - 服务端插件 - Minecraft(我的世界)中文论坛 -.html

[编程]PVPINCore —— 开源的JavaScript脚本加载及简单前置类库 - 服务端插件 - Minecraft(我的世界)中文论坛 -

Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 1478|回复: 14
打印 上一主题 下一主题

[原创插件] [编程]PVPINCore —— 开源的JavaScript脚本加载及简单前置类库

[复制链接]
William_Shi 当前离线
积分
4450
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2017-10-8
查看详细资料

来自:上海

跳转到指定楼层
楼主
发表于 2021-8-15 12:43:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
服务端插件
英文名称:PVPINCore
中文名称:PVPIN核心
插件来源:原创
适用服务端:Spigot Paper 
插件类型:前置API 其他 
语言支持:简体中文 
适用版本:1.16.X 1.12 
前置Mod|插件:无前置插件
下载地址:http://www.帖内.com
原帖地址:-
插件Logo:
插件简介:提供简单的 JavaScript 脚本加载功能。

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 William_Shi 于 2022-4-6 12:15 编辑

PVPINCore
本插件用于加载 JavaScript 程序。目前已经升级到 Version 1.3,完全重写 Context 相关部分架构,效率大幅提升。如果你还不知道如何编写 JavaScript 插件,欢迎试用 test.pvpin.net

QQ群: 681811254

本插件以 MIT License 开源,见 https://github.com/PVPINStudio/PVPINCore
下载地址:https://github.com/PVPINStudio/PVPINCore/releases
具体使用方法参见 README.md

本插件可以加载文件中的 js 代码,并且提供了注册指令、事件监听、任务调度、持久化的 API,参见
src/main/javascript/api.js
此文件有一个带注释的接口版本,目前暂时私有化。(项目即将重构)。

本插件首次加载会下载 Graal JS 引擎,文件较大,请耐心等待。
本插件无游戏内效果,后台输出如下:



本插件所用所有代码均为原创,不存在借用/抄袭等行为
来自群组: PVPINStudio

评分

参与人数 3人气 +7金粒 +16收起 理由
Wudji+ 3MCBBS有你更精彩~
红人丶云浩+ 2+ 16MCBBS没你真不行~
RarityEG.Bye+ 2(是大佬,逃了

查看全部评分

帖子永久链接: 

Minecraft中文论坛 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖若有内容转载自其它媒体,不代表本站赞同其观点和对其真实性负责
6、若本帖涉及任何版权问题,请立即告知本站,本站将及时予以删除并致以最深的歉意
7、Minecraft(我的世界)中文论坛管理员和版主有权不事先通知发贴者而删除本文

_zZ白熊Zz_ 当前离线
积分
1571
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-3-2
查看详细资料

来自:广东

沙发
发表于 2021-8-15 12:50:10 来自手机 | 只看该作者
为什么不用 Nashorn 呢?Graal.JS虽然他们说很快但我觉得就交互 API 上其实还差点
比如 你无法在 graalJs 中: Java.type("Java.lang.System").out.println
回复

使用道具 举报

William_Shi 当前离线
积分
4450
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2017-10-8
查看详细资料

来自:上海

板凳
 楼主| 发表于 2021-8-15 12:51:02 | 只看该作者
本帖最后由 William_Shi 于 2021-8-15 13:00 编辑
iceBear67 发表于 2021-8-15 12:50
为什么不用 Nashorn 呢?Graal.JS虽然他们说很快但我觉得就交互 API 上其实还差点
比如 你无法在 graalJs  ...
比如 你无法在 graalJs 中: Java.type("Java.lang.System").out.println

为什么不可以?你 allowHostAccess 了吗?
回复

使用道具 举报

_zZ白熊Zz_ 当前离线
积分
1571
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-3-2
查看详细资料

来自:日本日本

地板
发表于 2021-8-15 12:56:28 | 只看该作者
William_Shi 发表于 2021-8-15 12:51
为什么不可以?你 allowHostAccess 了吗?

如果你不会使用 Graal 可以来问我。 ...

我不知道我是否开了 allowHostAccess,因为我测试的时候用的是他的 cli 工具。如果说错那我还得道个歉

没有人比你更懂 Graal
回复

使用道具 举报

William_Shi 当前离线
积分
4450
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2017-10-8
查看详细资料

来自:上海

5#
 楼主| 发表于 2021-8-15 12:59:59 | 只看该作者
iceBear67 发表于 2021-8-15 12:56
我不知道我是否开了 allowHostAccess,因为我测试的时候用的是他的 cli 工具。如果说错那我还得道个歉

[ ...

我是在 Java 里面用代码直接新建的 Context,因为是作为插件运行的
对Graal的理解还差得远。。只是会一点 Graal JS 的使用
回复

使用道具 举报

名副其实 当前离线
积分
22197
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2016-8-31
查看详细资料

来自:浙江

6#
发表于 2021-8-15 13:16:54 | 只看该作者
是你!期待好久了——
话说回来这个积木界面为什么没有一些最基础的数值获取
例如获取服务器版本号, 获取玩家生命值这种的东西呢?xwx
回复

使用道具 举报

William_Shi 当前离线
积分
4450
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2017-10-8
查看详细资料

来自:上海

7#
 楼主| 发表于 2021-8-15 13:39:15 | 只看该作者
名副其实 发表于 2021-8-15 13:16
是你!期待好久了——
话说回来这个积木界面为什么没有一些最基础的数值获取
例如获取服务器版本号, 获取玩 ...

主要是因为它没有完成。。。
获取玩家生命值 这个我准备放在生物这个大类里面,而这个大类甚至没有动笔
获取服务器版本号这个确实是我欠考虑了,主要是还没发布的时候我也不太清楚用户的需求,版本号是要做成v1_1x_Rx 还是 1.1x.x  ?
回复

使用道具 举报

名副其实 当前离线
积分
22197
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2016-8-31
查看详细资料

来自:浙江

8#
发表于 2021-8-15 13:40:50 | 只看该作者
William_Shi 发表于 2021-8-15 13:39
主要是因为它没有完成。。。
获取玩家生命值 这个我准备放在生物这个大类里面,而这个大类甚至没有动笔
...

建议两个都可以加


另外那些监听器和事件最好能从外部插件作为依赖导入
这样就更好了

话说回来这个可以写插件吗(bushi
回复

使用道具 举报

William_Shi 当前离线
积分
4450
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2017-10-8
查看详细资料

来自:上海

9#
 楼主| 发表于 2021-8-15 14:39:43 | 只看该作者
名副其实 发表于 2021-8-15 13:40
建议两个都可以加

两个都已经添加了。

那个事件监听从外部导入。。。只能说我目前能力所限仅仅支持了spigot原生的事件,当然稍微升级下也可以支持paper的,MiaoScript能不能支持我不清楚,你可以试试看。

这个当然可以写插件啦。。。PVPIN有MoRan_Sky 用10000+块积木写过插件,在旧版本的Blockly里甚至可以把电脑卡死。新版本Blockly应该会好点,因为改一个stack(比如一个函数)对其他stack的影响几乎没有了。

评分

参与人数 1人气 +1收起 理由
名副其实+ 1妙!

查看全部评分

回复

使用道具 举报

秋灯Lantern 当前离线
积分
2976
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-1-25
查看详细资料

来自:安徽

10#
发表于 2021-8-16 18:36:00 | 只看该作者
我* PVPIN居然复活了
回复

使用道具 举报

秋灯Lantern 当前离线
积分
2976
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2018-1-25
查看详细资料

来自:安徽

11#
发表于 2021-8-16 18:36:19 | 只看该作者
PVPIN 冲!
回复

使用道具 举报

白色的小熊 当前离线
积分
767
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2015-3-15
查看详细资料

来自:山东

12#
发表于 2021-8-16 19:48:56 | 只看该作者
怎么用这玩意开发我的世界插件?应该出个教程吧
回复

使用道具 举报

William_Shi 当前离线
积分
4450
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2017-10-8
查看详细资料

来自:上海

13#
 楼主| 发表于 2021-8-16 20:05:38 | 只看该作者
白色的小熊 发表于 2021-8-16 19:48
怎么用这玩意开发我的世界插件?应该出个教程吧

还没有完成呢。教程没有时间写,积木的工作量太大了,整个团队的人手,不是在写积木编辑器的网站就是在写积木。只能说您可以自行摸索一下搭积木的方法。
回复

使用道具 举报

William_Shi 当前离线
积分
4450
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2017-10-8
查看详细资料

来自:上海

14#
 楼主| 发表于 2021-8-18 22:48:25 | 只看该作者
名副其实 发表于 2021-8-15 13:40
建议两个都可以加
另外那些监听器和事件最好能从外部插件作为依赖导入


实现了这一功能,可以直接对任何继承 org.bukkit.event.Event 的类进行监听。
但是如果这一事件并不继承于这个类(有一些大型前置插件可能提供了自己的事件系统)则无法访问这个类,因为我增加了对于类访问的控制。

回复

使用道具 举报

William_Shi 当前离线
积分
4450
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2017-10-8
查看详细资料

来自:上海

15#
 楼主| 发表于 2022-2-19 15:14:51 | 只看该作者
目前我们正在计划一次较大的更新,将所有脚本按照模块化的方式进行加载。
先前的方式在加载插件时,每一个插件都需要一个独立 Context,导致加载缓慢。(与实际运行时速度无关)
准备将所有插件全部加载在同一个 Context 中的独立 Module 内,并做好隔离,以便管理。
更新推出时间未知。专此预告。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2022-11-12 23:14 , Processed in 0.977159 second(s), Total 30, Slave 29 queries, Release: Build.2022.11.08 1046, Gzip On, Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2022 我的世界中文论坛 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载