📄
XPlus KubeJS Tutorial v1 (zh_cn)
  • 前言
    • 本文更新日志
  • 一、一切的开始
    • 1.1 常用指令
    • 1.2 文件结构
    • 1.3 脚本基础
    • 1.4 事件列表
  • 二、配方
    • 2.1 新建配方及物品表示
    • 2.2 配方的修改和删除
    • 2.3 非标准配方修改
  • 三、自定义修改初步
    • 3 标签
    • 4 自定义Loot Table
    • 5 自定义流体
    • 6 自定义世界生成
    • 7 添加方块
    • 10:自定义窗口标题和logo
  • 四、事件初步
    • 8 聊天事件
    • 9 计划重启
  • 五、针对其他模组的修改
    • 11.1 JEI信息修改
    • 11.2 REI信息修改
    • 11.3 FTB Quest相关修改
    • 11.4 KubeJs内置游戏阶段 (类似于GameStage)
  • 六、拓展模组简介
    • 12.1 KubeJS Create
    • 12.2 KubeJS Blood Magic
    • 12.3 KubeJS Mekanism
    • 12.4 KubeJS UI
    • 12.5 KubeJS Termal
    • 12.7 便捷战利品表修改(LootJS Forge)
    • 12.8 LootJS战利品表修改实例
  • 七、游戏内容修改进阶
    • 13 自定义物品和物品ToolTip
    • 14 方块和物品属性修改
  • 八、事件进阶
    • 15.0 事件列表
    • 15.1 玩家&实体事件,信息获取及操作
    • 15.2 实体生成 & RayTraceResultJS & ItemStackJS及其他
    • 15.3 方块信息获取及操作
    • 15.4 WorldJS 和 ServerJS
    • 15.5 本章例子
    • 15.6 测试用例
  • 九、杂项
    • 16 网络包和Painter API
    • 17 本地化相关
    • 18.1 熔炼之镐
    • 18.2 罐头示例(包含物品注册, 配方添加, 玩家交互和persistentData的使用)
    • 19 Forge事件监听
  • 十、1.18.2的变化和介绍
    • 20 1.18.2中的变化和功能
    • 20.1 ProbeJS
    • 20.2 组件(Component)的使用
    • 20.3 格式变化
      • 20.3.1 世界生成
      • 20.3.2 方块 / 物品注册
      • 20.3.3 事件
      • 20.3.4 global[] 的使用
    • 20.4 命令注册
    • 20.5 反射与Java access
由 GitBook 提供支持
在本页
  • 一、BlockContainerJS
  • 1、属性
  • 2、方法
  • 二、ExplosionJS

这有帮助吗?

在GitHub上编辑
  1. 八、事件进阶

15.3 方块信息获取及操作


一、BlockContainerJS

1、属性

属性
功能
返回值类型

world

返回WorldJS

WorldJS

pos

返回BlockPos

BlockPos

x

返回方块x坐标

整形

y

返回方块y坐标

整形

z

返回方块z坐标

整形

down

返回该方块下方的方块

BlockContainerJS

up

返回该方块上方的方块

BlockContainerJS

north

返回该方块北方的方块

BlockContainerJS

south

返回该方块南方的方块

BlockContainerJS

west

返回该方块西方的方块

BlockContainerJS

east

返回该方块东方的方块

BlockContainerJS

blockState

返回包含该方块状态的对象

BlockState

id

返回方块ID

字符串

light

返回光照等级

整形

canSeeSky

是否露天

布尔值

item

返回方块对应的物品

ItemStackJS

playersInRadius

返回范围内的玩家

biomeId

返回所处群系的ID

字符串

properties

返回带有当前方块所有属性的对象[1]

对象

[1]如block.properties.facing会返回当前方块朝向的字符串

2、方法

方法
功能
返回值类型

offset(Direction 方向, int 格数)

返回在给定方向上指定格数以外的方块

BlockContainerJS

offset(Direction 方向)

返回在给定方向上一格以外的方块

BlockContainerJS

offset(整形 x, 整形 y, 整形 z)

返回以当前方块为坐标系原点,指定X,Y,Z以外的方块

BlockContainerJS

setBlockState(BlockState 状态值, int )

设置方块状态值

void

hasTag(tag)

返回是否具有指定标签

布尔值

set(命名空间 方块ID, Map<字符串, 字符串> 方块属性, 整形 flags)

在当前位置设置方块

void

set(命名空间 方块ID, Map<字符串, 字符串> 方块属性)

在当前位置设置方块

void

set(命名空间 方块ID)

在当前位置设置方块

void

createExplosion()

新建爆炸事件(见下文)

ExplosionJS

createEntity(命名空间ID)

新建实体(见15.2)

EntityJS

spawnLightning(布尔值 是否只有效果, nullable EntityJS 玩家)

生成闪电

void

spawnLightning(布尔值 是否只有效果)

生成闪电

void

spawnFireworks(FireworksJS 烟花)

生成烟花(见下文)

void

getInventory(Direction 方向)

获取方块的库存

nullable InventoryJS

getPlayersInRadius(浮点型 范围)

返回指定范围内的玩家列表

EntityArrayList

二、ExplosionJS

新建爆炸和新建实体类似,你需要先新建一个爆炸,然后设置属性,再在合适的时间生成它即可

函数
功能
返回值类型

exploder(EntityJS 实体)

设定是谁引起的爆炸

ExplosionJS

strength(浮点型 爆炸强度)

设定爆炸的强度

ExplosionJS

causesFire(布尔值 是否引火)

设定爆炸是否会生成火

ExplosionJS

damagesTerrain(布尔值 是否破坏环境)

设定爆炸是否破坏地形[2]

ExplosionJS

destroysTerrain(布尔值 是否破坏环境)

设定爆炸是否破坏地形[2]

ExplosionJS

explode()

炸!

void

[2]damagesTerrain会破坏方块但是掉落方块,destroysTerrain会破坏方块且不掉落方块。若不设置默认为破坏且掉落方块。

一个简单的例子,在玩家右键方块时生成一个小爆炸

onEvent('block.right_click', event => {
	// 新建爆炸
	let explosion = event.block.createExplosion();
	// 设置爆炸强度,默认值为3
	explosion.strength(100.0);
	// 设置是否生成火,默认值为false
	explosion.causesFire(true);
	explosion.explode();
})

(应该很小吧)

上一页15.2 实体生成 & RayTraceResultJS & ItemStackJS及其他下一页15.4 WorldJS 和 ServerJS

这有帮助吗?

EntityArrayList