跳转至内容

[原创][KubeJS]kubejs获取玩家所处坐标的结构

已移动 妙妙工具
1 1 203 1
  • 本文使用:CC-BY-NC-SA 4.0协议
    直接上代码
    在此推荐下来自ZZZank的ProbeJS Legacy
    (已经支持1.20.1了(喜))

    /**
     * 获取实体坐标的所有结构
     * @param {Internal.Entity} entity
     * @returns {$StructureStart_[]}
     */
    function getAllStructuresAt(entity) {
      let structureList = []
      /**@type {$ServerLevel_} */
      let serverLevel = entity.level
      let entityPos = entity.block.pos
      /** @type {Internal.Structure[]} */
      let structureArray = serverLevel.structureManager().getAllStructuresAt(entityPos).keySet().toArray()
      for (let structure of structureArray) {
        let structureStart =
          serverLevel.structureManager().getStructureAt(entityPos, structure)
        if (structureStart.isValid()) {
          structureList.push(structureStart)
        }
      }
      return structureList
    }
    
  • 草莓呜咩B 草莓呜咩 中的 妙妙工具 移动了该主题
  • 草莓呜咩B 草莓呜咩 中的 神秘代码 移动了该主题

相关推荐


  • [原创][Mod]基于opengl取色的hsv色盘屏幕

    已移动 妙妙工具 渲染
    5
    0 赞同
    5 帖子
    200 浏览
    不是客服M
    没有教程的话,哇达西?
  • 1 赞同
    1 帖子
    247 浏览
    忆然
    本文使用:CC-BY-NC-SA 4.0协议 kjs本身提供的物品注册比较有限,在注册某些kjs未提供的item的时候我们就需要用到createCustom 如果有需要的item注册可以在本文下方留言,会考虑更新 createCustom注册model是没有的,也就是你还得去写一份model.json(这部分可以参考原版wiki) 下面是使用createCustom去注册一个弓的例子 let $BowItem = Java.loadClass("net.minecraft.world.item.BowItem") let $Item$Properties = Java.loadClass("net.minecraft.world.item.Item$Properties") StartupEvents.registry("item", event => { event.createCustom("modid:item_name", () => { let properties = new $Item$Properties() //修改耐久 为0则无耐久属性 properties.durability(0) //修改最大堆叠数量 properties.stacksTo(1) //修改稀有度 properties.rarity("epic") //创建新的bowitem let item = new $BowItem(properties) //返回新的bowitem进行注册 return item }) })
  • 1 赞同
    14 帖子
    454 浏览
    sdjgeS
    补药偷走我的钱包