Skip to content

运行在nukkit服务器上的图形化插件制作器和JavaScript加载器

License

Notifications You must be signed in to change notification settings

wellwhz/BlocklyNukkit

 
 

Repository files navigation

BlocklyNukkit

介绍

我们的在线使用网址:点击进入

blocklynukkit友好界面中文插件编辑器是由超神的冰凉发起的开源插件编辑器项目,其目的为致力于为广大服主提供清爽、强大、实用、简洁的中文服务器插件开发服务,使得更多想要开发自己的插件却对晦涩难懂的JAVA编程望而却步的服主能够很容易的,以拖拽的形式开发出自己想要的各种功能。

我们的代码完全基于AGPL3.0开源,任何人都可以加入我们或者做出贡献,如果您是使用者或者服主,您可以在此进入教程学习如何使用本项目并构建自己的插件。

赞助我们

一些正式发布的bn插件:

给bn插件开发者

bn开发者恰饭攻略

1.接定制单

在各大nukkit服主群内有很多的服主会发布定制插件需求,你可以接单来赚钱,如果你想要接单的话,修改自己的群名片或者私聊发布定制需求的服主都是很好的方式。
一般情况下,接一个定制单50起步,稍微难一点100+RMB,你可以至少赚到每天写插件花的电费。

2.在mcbbs卖绿宝石

mcbbs论坛有一个开发者奖励机制,不管你的插件有没有人用,只要你做出来并且发布,就可以申领绿宝石这种虚拟货币作为奖励。
mcbbs有很多绿宝石商人专门收购绿宝石,这里的收购其实是指帮别人代购,基本上绿宝石的价格维持在40rmb/颗这样,每次收购只会收购12颗/17颗/24颗这样的,每发布一个普通插件会有1-3颗绿宝石,用心做的话会有8颗左右,如果还持续更新的话会有15颗左右,相当于600RMB,是比较稳定而且收入还比较可观的恰饭方式。

3.在minebbs卖钻石

minebbs论坛的开发者奖励机制是钻石,申请精华插件可以获得钻石,而且门槛比mcbbs低了不少,几乎所有插件都能获得钻石,用心的好插件可以获得15个左右,一般的小插件在2、3个这样。
minebbs由于有转账机制,所以出售钻石给收钻石的商人更便捷,每个钻石大概在8RMB左右,1个就能卖,是新手恰饭的好去处

4.参与blocklynukkit开发赛

bn会定期在minebbs举办开发比赛,优胜者将获得数十元不等的现金奖励和丰富的钻石奖励,参加一次比赛用心做的话恰个几十块钱没问题

如何让你的插件更加容易获得高绿宝石/钻石奖励

1.用心给你的帖子排版

众所周知,给你的插件帖子做一个美观的排版十分重要,尤其是mcbbs,同样的插件因为帖子排版最多能差出5-6个绿宝石
上百度稍微学习一下BBCode,十分有用。记住,一个好的排版十分重要!

2.加一些无关痛痒的功能

插件功能越多越好,而且实际上给你的插件拓展功能很简单,我举个例子,比如实时cps插件,显然只能显示cps功能太少了。完全可以添加一个cps过高玩家记录,cps排行榜等等,会让插件出彩很多

3.把你的js插件打包为jar

mcbbs对jar的好感度远高于js,学习如何打包

4.多图!多图!

重要性不言而喻

5.主动挖掘插件适用场景

将你的插件的使用场景都写出来放在帖子并最好配图,只要扯上边都算上,审核就会认为你这个插件很有价值

6.适当的"虚假宣传"

把一些并不完全属于你插件的优点写上,比如基于bn驱动高性能,极速自定义,高并发,快速配置等等

7.抓住痛点

想想你开服的时候被没有这个插件难受到了什么地步,大肆渲染一下/滑稽

更新日志

1.2.7.5

window

  • void setBelowName(Player player,String str)

manager

  • void loadJar(String path)

entity

  • BNNPC buildNPC(Position pos,String name,String skinID)

BNNPC

  • void turnRound(double yaw)
  • void headUp(double pitch)
  • void setEnableAttack(boolean attack)
  • void setEnableAttack()
  • void setEnableHurt(boolean hurt)
  • void setEnableHurt()
  • void displayHurt()
  • void start()

1.2.7.4

Languages

现在可以使用python2.7来制作插件了 添加了对python开发插件的完全支持,只需要下载额外的py支持包即可使用python插件 对于python开发插件的支持将与JavaScript保持同步,python与js使用同一套bn类库,所有js的bn类库(除了Java模块)之外都可以在python中直接调用,无需import 支持全部的python2.7原生标准语法和标准库,运行时与js相同,编译为java字节码运行,不必担心效率低下问题 pythonForBN支持模块下载:https://tools.blocklynukkit.com/pythonForBN.jar 下载后直接放到./plugins/BlocklyNukkit文件夹下面即可

EventLoader

  • PlayerInteractEntityEvent
  • PlayerDamageByPlayerEvent
  • PlayerDamageByEntityEvent
  • EntityKilledByEntityEvent
  • EntityKilledByPlayerEvent
  • PlayerRespawnEvent

window

  • void setPlayerBossBar(Player player,String text,float len)
  • void removePlayerBossBar(Player player)
  • double getLengthOfPlayerBossBar(Player player)
  • String getTextOfPlayerBossBar(Player player)

manager

  • void createPermission(String per,String description,String defaultper)
  • void removePermission(String per)
  • boolean checkPlayerPermission(String per,Player player)
  • String MD5Encryption(String str)
  • String SHA1Encryption(String str)
  • void createCommand(String name, String description, String callbackFunctionName, String per)
  • void newCommand(String name, String description, Function jsFunction,String per)

entity

  • int getNetworkID(Entity entity)
  • String getIDName(Entity entity)
  • void spawnEntity(String name,Position pos)

notemusic

  • HornSongPlayer buildHorn(Song song, Position pos, boolean isloop, boolean isautodestroy)
  • void addPlayerToHorn(HornSongPlayer SongPlayer, Player player)
  • void removePlayerToHorn(HornSongPlayer SongPlayer, Player player)
  • Array getPlayerInHorn(HornSongPlayer radioSongPlayer)
  • void setHornStatus(HornSongPlayer radioSongPlayer, boolean isplaying)
  • Song getSongInHorn(HornSongPlayer radioSongPlayer)

world

  • genLevel新增"OCEAN"海洋世界生成器

bug fixed

  • setNameTagAlwaysVisable error

1.2.7.3

blockitem

  • 修复了nbt函数的错误

EventLoader

  • 修复了玩家判断错误的bug

entity

  • 更换浮空字的pid为盔甲架的pid

Loader

  • 现在bn插件控制台输出会使用文件名作为前缀而不是[BlocklyNukkit]
  • 非op不再可见bn命令

编辑器

  • 添加JSON模块
  • 添加jar在线编译器

1.2.7.2

manager

  • String formatJSON(String json)
  • 修复writeFile函数无法自动创建路径的错误

1.2.7.1

修复部分老版本nk/pn内核无法加载的错误

1.2.7.0

manager

  • String readFile(String path)
  • void wirteFile(String path,String text)
  • boolean isFileSame(String path1,String path2)
  • String JSONtoYAML(String json)
  • String YAMLtoJSON(String yaml)
  • void newCommand(String name, String description, Function fun)
  • int setTimeout(Function fun,int delay,<E+>... args)
  • void clearTimeout(int id)
  • int setInterval(Function fun,int delay,<E+>... args)
  • void clearInterval(int id)
  • void isWindows()
  • int getPlayerGameMode(Player player)

Loader

  • __NAME__ 表示加载的js文件的名称(可防御低级改名倒卖)
  • 新版发布后,24小时强制更新

Custom/Modal/Simple (WindowBuilder)

  • void showToPlayerCallLambda(Player p, Function fun)

blockitem

  • Array getItemEnchant(Item item)
  • int getEnchantID(Enchantment enchantment)
  • int getEnahcntLevel(Enchantment enchantment)

EventLoader

  • PlayerJumpEvent
  • PlayerToggleFlightEvent
  • PlayerToggleGlideEvent
  • PlayerToggleSwimEvent
  • PlayerToggleSneakEvent
  • PlayerToggleSprintEvent

About

运行在nukkit服务器上的图形化插件制作器和JavaScript加载器

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 85.5%
  • HTML 6.6%
  • CSS 4.0%
  • Python 1.3%
  • PHP 1.1%
  • Dart 0.6%
  • Other 0.9%