Skip to content

Releases: SuperIceCN/BlocklyNukkit

BlocklyNukkitLoader-1.2.9.1-beta-r18

08 Feb 07:28
31013c0
Compare
Choose a tag to compare
Pre-release

Bug Fixed

  • 修复射箭函数中参数依赖问题
  • 修复方块实体无法不坠落
  • 重构BNNPC的AI架构,修复bnnpc两格高出不去问题
  • 修复bn插件包资源文件解压错误问题

particle

  • void drawDot(Position pos,int pid)

entity

  • Entity spawnFallingBlock(Position pos, Block block, boolean enableGravity,boolean canBePlaced)
  • EntityArrow shootArrow(Position from,Position to,Entity shooter,boolean canPickUp,double multiply)
  • EntityArrow shootArrow(Position from,Position to,boolean canPickUp,double multiply)
  • EntityArrow shootArrow(Position from,Position to,double multiply)
  • EntityArrow shootArrow(Position from,Position to,boolean canPickUp)
  • EntityArrow shootArrow(Position from,Position to)
  • EntitySnowball shootSnowball(Position from,Position to,Entity shooter,boolean canPickUp,double multiply)
  • EntitySnowball shootSnowball(Position from,Position to,boolean canPickUp,double multiply)
  • EntitySnowball shootSnowball(Position from,Position to,double multiply)
  • EntitySnowball shootSnowball(Position from,Position to,boolean canPickUp)
  • EntitySnowball shootSnowball(Position from,Position to)

manager

  • void removeCommand(String name) --移除名为name的命令
  • void sendMail(String smtpMailServer,String from,String to,String cc,String bcc,String subject,String content)
    • 发送电子邮件,默认为utf-8编码
  • <E> syncCallFunction(String functionName,Object... args) --同步执行函数

blockitem

  • void addShapedCraft(String shape,Item output,(String key,Item value)...)
    • 这是更舒服的添加有序合成API,shape是合成形状字符串,
    • 用一个字母或数字代表合成原材料的摆放方式,用"|"来连接三行,用空格来占格,如果最后的一行或列没有东西,请不要保留
    • output是合成产物,后面的参数是映射表,key是你之前的shape中的字符,value是这个key代表的物品
    • shape中有多少种字符串就得有多少个这也的映射参数
    • 例如 石镐:addShapedCraft("SSS| I | I ",石镐物品,"S",圆石物品,"I",木棍物品)
    • 工作台: addShapedCraft("MM|MM",工作台物品,"M",橡木木板物品)

BNNPC

  • void reFresh() --强制客户端刷新bnnpc以防止隐身

BlocklyNukkitLoader-1.2.9.0-beta-r43

27 Jan 10:38
Compare
Choose a tag to compare
Pre-release

Bug fixed:

  • 新增预处理语句pragma autoload false/true,是否让bn解释器自动加载此插件,默认true
  • 修复了射箭不会触发EntityDamageByEntityEvent问题
  • 修复了http处理时url无法自动编码问题
  • 修复了bnnpc无法被回收的问题

还修复了很多其他问题

BlocklyNukkitLoader-1.2.9.0-beta-r39

24 Jan 01:24
Compare
Choose a tag to compare
Pre-release

manager

  • void requireMinVersion(String minVersion,String failMessage) --检查bn解释器版本,如果太低停止运行并发出failMessage
    database
  • memoryStorage: 内存共享存储管理器
  • void memoryStorage.setItem(Object key,Object item) --设置指定key对应的数据为item
  • String memoryStorage.getItem(Object key) --获取指定key对应的数据
  • void memoryStorage.removeItem(Object key) --移除指定key对应的数据
  • Object[] localStorage.getKeys() --获取所有的key

BlocklyNukkitLoader-1.2.9.0-beta-r37

22 Jan 13:52
Compare
Choose a tag to compare
Pre-release

manager

  • void downloadFromURL(String url,String saveDir,String saveName)
    window
  • void setSwingStyle(String style) --设置swing的样式
    • 目前有:Darcula Intellij Metal Motif Multi Nimbus OS(系统样式)
  • JFrame getStyledSwingWindow(String title,int width,int height,String iconPath)
    • 根据之前设置的样式获取Swing窗口对象,iconPath为null或""将使用bnLOGO替代
      database
  • void localStorage.cacheAll() --从本地读取数据并缓存,增加运行时获取数据速度
  • String localStorage.cache(String key) --从本地读取指定数据并缓存
  • void localStorage.setItem(String key,String item) --设置指定key对应的数据为item
  • String localStorage.getItem(String key) --获取指定key对应的数据
  • void localStorage.removeItem(String key) --移除指定key对应的数据
  • String[] localStorage.getKeys() --获取所有的key
  • void localStorage.save() --强制立即保存数据,bn会每3秒检查并保存一次数据

BlocklyNukkitLoader-1.2.9.0-beta-r35

14 Jan 12:46
Compare
Choose a tag to compare
Pre-release

Bug Fixed:

  • 修复了文件读写出现乱码的问题

C/C++ API:

  • int getJArrayLength(int jStackIndex);
  • int getJObjectArrayLength(int jStackIndex);

BlocklyNukkitLoader-1.2.9.0-beta-r33

13 Jan 04:51
Compare
Choose a tag to compare
Pre-release

修复:
C/C++API新增:

  • void setJArrayByIndex(int jStackIndex, int jObjStackIndex,int index);
  • int getJObjectField(int jStackIndex, char* fieldName);

BlocklyNukkitLoader-1.2.9.0-beta-r32

09 Jan 04:33
Compare
Choose a tag to compare
Pre-release

Bug Fixed:

  • 修复了无法监听修改version命令的问题

C/C++

  • 更新了基于webassembly技术栈的C/C++插件编写支持
  • 可以直接调用java并于java进行交互,一次编译,处处运行,支持windows linux macos

BlocklyNukkitLoader-1.2.9.0-beta-r27

27 Dec 06:53
Compare
Choose a tag to compare
Pre-release

Bug Fixed:

  • 修复了BNNPC无法在重启时被回收掉的问题
  • 修复了bn的qqbot模块回收未正常释放问题
  • 修复了自定义注册方块有时导致客户端卡死问题

blockitem

  • void registerSimpleItem(int id,String name)
    • 注册简单的物品堆,但是现在无法显示材质,只能在覆写教育版物品时显示材质

world

  • void drawPic(Position pos1,Position pos2,String img,int faceData)
    • 从pos1到pos2绘制img路径上的图片,faceData指定物品展示框的朝向,pos1和pos2必须在同一垂直面上

manager

  • void interrupt(String info) --强制中断当前函数运行并抛出info作为警告
    • 当此函数不在任何一个函数中被调用时,将会中止全局运行

BlocklyNukkitLoader-1.2.9.0-beta-r24

29 Nov 05:30
Compare
Choose a tag to compare
Pre-release

Bug Fixed:
修复了logger(console)输出null、nil或None报错的问题

world

  • void regenerateChunk(Position pos)
  • void defineChunkRenderByName(String forLevel,String callback,int priority / void)
    • forLevel是渲染器能够渲染的指定世界名称
    • callback是渲染器回调函数
    • priority是优先级,优先级越大先调用,不填默认为0

blockitem

  • void registerSolidBlock(int id,String name,double hardness,double resistance,int toolType,boolean isSilkTouchable,int dropMinExp,int dropMaxExp,int mineTier)
    • 注册固体方块,参数分别为方块id(可覆写原版方块),方块名称,方块硬度,方块抗爆炸度,挖掘工具,是否受精准采集影响,最小掉落经验,最大掉落经验,挖掘等级
    • 方块硬度越大挖掘时间越长,抗爆炸度越高越不容易被炸
    • 挖掘工具0-无,1-剑,2-铲,3-镐,4-斧,5-剪刀
    • 挖掘等级0-空手,1-木,2-金,3-石,4-铁,5-钻石

BlocklyNukkitLoader-1.2.9.0-beta-r22

22 Nov 14:42
Compare
Choose a tag to compare
Pre-release

window

  • void sendPlayerXboxInfo(Player from,Player to) --向to玩家展示from玩家的xbox信息
  • void startEndPoem(Player player) --让玩家屏幕上开始展示终末之诗

SimpleWindowBuilder

  • buildButton(String text,String img)
  • button(String text,String img)
  • button(String text)
  • setAction(String actionFunctionName/F function)
  • action(String actionFunctionName/F function)
  • setTitle(String title)
  • title(String title)
  • setContext(String context)
  • context(String context)
  • showToPlayer(Player p)
  • showToPlayer(Player p,boolean acceptClose)
  • showToPlayer(Player p,String callbackFunctionName/F function)
  • showToPlayer(Player p,String callbackFunctionName/F function,boolean acceptClose)
  • show(Player p)
  • show(Player p,boolean accpetClose)
  • show(Player p,String callbackFunctionName/F function)
  • show(Player p,String callbackFunctionName/F function,boolean acceptClose)

ModalWindowBuilder

  • setTitle(String title)
  • title(String title)
  • setContext(String context)
  • context(String context)
  • setButton1(String text)
  • setButton2(String text)
  • button1(String text)
  • button2(String text)
  • setAction(String callbackFunctionName/F function)
  • action(String callbackFunctionName/F function)
  • showToPlayer(Player p)
  • showToPlayer(Player p,boolean acceptClose)
  • showToPlayer(Player p,String callbackFunctionName/F function)
  • showToPlayer(Player p,String callbackFunctionName/F function,boolean acceptClose)
  • show(Player p)
  • show(Player p,boolean accpetClose)
  • show(Player p,String callbackFunctionName/F function)
  • show(Player p,String callbackFunctionName/F function,boolean acceptClose)

CustomWindowBuilder

  • setTitle(String title)
  • showToPlayer(Player p)
  • showToPlayer(Player p,boolean acceptClose)
  • showToPlayer(Player p,String callbackFunctionName/F function)
  • show(Player p)
  • show(Player p,boolean accpetClose)
  • show(Player p,String callbackFunctionName/F function)
  • show(Player p,String callbackFunctionName/F function,boolean acceptClose)
  • showToPlayer(Player p,String callbackFunctionName/F function,boolean acceptClose)
  • showAsSetting(Player p, String callbackFunctionName/F function)
  • showAsSetting(Player p, String imageURL, String callbackFunctionName/F function)
  • buildLabel(String text)
  • label(String text)
  • buildInput(String title,String placeholder)
  • input(String title,String placeholder)
  • buildInput(String title,String placeholder,String defaulttext)
  • input(String title,String placeholder,String defaulttext)
  • buildToggle(String title)
  • toggle(String title)
  • buildToggle(String title,boolean open)
  • toggle(String title,boolean open)
  • buildDropdown(String title,String inner)
  • dropdown(String title,String inner)
  • buildDropdown(String title,String inner,int index)
  • dropdown(String title,String inner,int index)
  • buildSlider(String title,double min,double max,int step,double defaultvalue)
  • slider(String title,double min,double max,int step,double defaultvalue)
  • buildSlider(String title,double min,double max,int step)
  • slider(String title,double min,double max,int step)
  • buildSlider(String title,double min,double max)
  • slider(String title,double min,double max)
  • buildStepSlider(String title,String options)
  • stepSlider(String title,String options)
  • stepslider(String title,String options)
  • buildStepSlider(String title,String options,int index)
  • stepSlider(String title,String options,int index)
  • stepslider(String title,String options,int index)
  • setAction(String callbackFunctionName/F function)
  • action(String callbackFunctionName/F function)

BNNPC

  • void doEmote(String action/void) --让npc执行指定的表情动作
    • action可以是 Wave Punch Clap OverThere Hammer Fall Diamond Pickaxe
    • 也可以填写对应的中文 挥手 拳击 鼓掌 在那 锤子 摔倒 钻石
    • 不填的话将上面的五个动作中任选一个
    • 至于为什么只有8个: 因为剩下的要氪金购买之后才能获取uuid,冰凉没钱
    • 欢迎大家贡献uuid
  • boolean directMove(Position to) --直线移动到某处

world

  • void regenerateChunk(Position pos)