全局的静态类

kubejs提供了以下的全局静态类和对应的方法

Utils

方法
方法参数
方法作用
方法返回参数
备注

toTitleCase(string)

->

将传入字符串第一个文本转化为大写

处理后的字符串 string

除了"a", "an", "the", "of", "on", "in", "and", "or", "but" 和 "for"

getStat(ResourceLocation)

~

~

Stat<ResourceLocation>

后续补充

snakeCaseToTitleCase(string)

->

将蛇形命名转换为标题大小写

处理后的字符串 string

如a_bc_def 转为 A Bc Def

newCountingMap()

-

获取一个新的CountingMap

CountingMap

-

toTitleCase(string,bool)

->

设置会true后将上面除了的内容也会进行大写

理后的字符串 string

-

parseDouble(any,number)

->

将第一个参数转化为Double类型,如果失败了,则返回第二个数

number

-

getRandom()

-

获取Random类

Random

-

newList()

-

获取一个列表

List<T>

-

rollChestLoot(ResourceLocation)

战利品表id

获取指定战利品表里的战利品数组

List<ItemStack>

-

newRandom(number)

->

用一个数字当作种子生成一个Random类

Random

-

getRegistryIds(ResourceLocation)

->

获取指定注册表里的的所有id

List<ResourceLocation>

-

emptyList()

-

获取一个不可变的空列表?

List<T>

-

getSystemTime()

-

获取当前系统时间,以毫秒为单位

number

-

supplyAsync(Supplier<any>)

~

~

CompletableFuture<any>

后续补充

id(string,string)

->

将字符串转为ResourceLocation

ResourceLocation

-

lazy(Supplier<T>)

~

~

Lazy<T>

?

isWrapped(any)

->

判断传入对象是否为WrappedJS

boolean

-

snakeCaseToCamelCase(string)

->

将蛇形命名转化为驼峰命名

处理后的字符串 string

如 a_bc_def 转为 aBcDef

findCreativeTab(ResourceLocation)

id

获取该id的所在创造物品栏

CreativeModeTab

-

emptyMap()

-

获取一个空的不可变的map?

Map<K, V>

-

expiringLazy(Supplier<T>,number)

~

~

Lazy<T>

后续补充

getSound(ResourceLocation)

id

从id中获取SoundEvent

SoundEvent

-

randomOf(Random,Collection<any>)

~

使用传入的参数从列表中获取随机对象?

any

?

newMap()

-

获取一个map

Map<any, any>

-

getRegistry(ResourceLocation)

id

通过id获取对应的注册信息

RegistryInfo<any>

-

particleOptions(any)

~

~

ParticleOptions

-

copy(any)

->

复制一份传入的对象,如果不可以则返回本身

any

-

regex(string,number)

string pattern / number flags

~

Pattern

-

id(string)

->

将字符串直接包装成ResourceLocation

ResourceLocation

-

regex(any)

->

~

Pattern

-

runAsync(Runnable)

->

~

CompletableFuture<void>

-

parseBlockState(any)

->

从输入内容中解析方块状态可能会抛出无效输入

BlockState

-

queueIO(Runnable)

->

立即在try-catch块中运行传递的可运行函数,并在它抛出异常时记录异常?

void

-

parseInt(any,number)

->

将第一个参数转化为整数,如果失败则返回第二个参数

number

-

getServer()

-

获取游戏服务端,如果是在没有服务器的地方调用则为null(startup和client)

MinecraftServer

-

rollChestLoot(ResourceLocation,Entity)

战利品表id,触发实体

用指定实体生成一个战利品表物品列表

List<ItemStack>

不一定是箱子

JsonIO

方法
方法参数
方法作用
方法返回参数
备注

readJson(path)

路径字符串

读取指定路径的文件

JsonElement

文件必须为json

toPrettyString(JsonElement)

->

将json转化为字符串

string

-

getJsonHashString(JsonElement)

->

获取json的hash值

string

-

toObject(JsonElement)

->

将json转化为对象???

any

后续测试

primitiveOf(any)

?

?

JsonPrimitive

后续测试

readString(path)

路径

读取指定路径的文件

string

读取为string格式

writeJsonHash(DataOutputStream,JsonElement)

?

~

void

后续测试

parseRaw(string)

?

?

JsonElement

后续测试

write(path,JsonObject)

->

将json对象写入到指定路径的文件里

void

一定要是json对象,不能是数组

read(path)

->

读取指定路径的文件

Map<any,any>

建议使用readJson

toArray(JsonElement)

->

将JsonElement转为JsonArray

JsonArray

-

parse(string)

->

?

any

后续测试

toPrimitive(JsonElement)

->

?

any

后续测试

copy(JsonElement)

->

复制一份JsonElement

JsonElement

-

toString(JsonElement)

->

将json转为字符串

string

-

getJsonHashBytes(JsonElement)

->

将json转为hashByte

number[]

-

of(any)

?

?

JsonElement

-

BlockPos

方法
方法参数
方法作用
方法返回参数
备注

asLong(number,number,number)

依次顺序为X,Y,Z坐标

通过坐标获取对应的数值

number

-

betweenClosed(n1,n2,n3,n4,n5,n6)

依次顺序为x1,y1,z1,x2,y2,z2

通过两个坐标获取该区域内的所有坐标

Iterable<BlockPos>

-

betweenClosedStream(BlockPos,BlockPos)

-

同上

Stream<BlockPos>

-

breadthFirstTraversal(BlockPos,number,BiConsumer<BlockPos, Consumer<BlockPos>>,Predicate<BlockPos>)

坐标,最大距离,-,回调用于处理每个遍历到的方块位置

按广度优先的顺序遍历周围的方块

number

-

containing(Position)

->

根据Position返回BlockPos

BlockPos

-

findClosestMatch(BlockPos,number,number,Predicate<BlockPos>)

~

~

Optional<BlockPos>

-

getFlatIndex(number)

~

~

number

-

getX(number)

->

获取对应值

number

-

getY(number)

->

获取对应值

number

-

getZ(number)

->

获取对应值

number

-

of(number)

坐标数值(asLong获取的这种数字数值

-

BlockPos

-

offset(number,number,number)

~

~

number

-

offset(number,Direction)

~

~

number

-

offsetCodec(number)

~

~

Codec<Vec3i>

-

randomBetweenClosed(RandomSource,n1,n2,n3,n4,n5,n6)

->

在一个区域内随机生成坐标

Iterable<BlockPos>

-

randomInCube(RandomSource,number,BlockPos,number)

?

通过一个坐标中心点向外延申到指定距离的方块区域内生成坐标?

Iterable<BlockPos>

-

spiralAround(BlockPos,number,Direction,Direction)

~

按照螺旋式路径遍历周围的方块位置

Iterable<BlockPos$MutableBlockPos>

-

withinManhattan(BlockPos,number,number,number)

->

获取在曼哈顿距离范围内的所有坐标

Iterable<BlockPos>

-

withinManhattanStream(BlockPos,number,number,number)

->

同上

Stream<BlockPos>

-

Block

Vec3d

KMath

方法
方法参数
方法作用
方法返回参数
备注

block(n1,n2,n3)

->

根据xyz返回blockPos

BlockPos

-

deg(number)

?

?

number

-

v3d(n1,n2,n3)

->

根据xyz返回Vector3d

Vector3d

-

ceil(number)

?

?

number

-

map(n1,n2,n3,n4,n5)

value,min1,max1,min2,max2

?

number

?

clamp(n1,n2.n3)

value,min,max

?

number

?

v4f(n1,n2,n3,n4)

->

根据xyz和w(猜测是宽度)返回Vec4f

Vec4f

-

rad(number)

?

?

number

-

degreesDifference(n1,n2)

current,target

~

number

待测试

floor(number)

->

向下取整

number

-

poseStack()

-

->

PoseStack

-

lerp(n1,n2,n3)

value,min,max

线性插值,通过修改value的比例,返回特定的数值

number

举个栗子value=0.5,min=0,max=10,则会返回5

clampedLerp(n1,n2,n3)

同上

同上但是不会超值max的值

number

同上但是不会超出max

v3f(n1,n2,n3)

->

通过xyz返回Vec3f

Vec3f

-

rotateIfNecessary(n1,n2,n3)

current,target,max

~

number

-

m4f()

-

`

Matrix4f

-

v3(n1,n2,n3)

->

通过xyz获取Vec3d

Vec3d

-

quaternion(n1,n2,n3,n4)

根据xyz和w(猜测是宽度)返回Quaternionf

Quaternionf

-

wrapDegrees(number)

->

处理角度

number

-

m3f()

-

-

Matrix3f

-

approachDegrees(n1,n2,n3)

current,target,speed

~

number

-

approach(n1,n2,n3)

current,target,speed

~

number

-

isPowerOfTwo(number)

->

判断是否为 2 的幂次方

bool

-

PI

-

-

3.141592653589793

-

RADIANS_TO_DEGREES

-

-

57.29577951308232

-

DEGREES_TO_RADIANS

-

-

0.017453292519943295

-

E

-

-

2.718281828459045

-

RotationAxis

ResourceLocation

Items

SoundType

类型常量
对应方块/物品类型

EMPTY

空类型(无声音)

SAND

沙子

DECORATED_POT

装饰性陶罐

TUFF

凝灰岩

GRAVEL

gravel

SHROOMLIGHT

菌光体

MOSS

苔藓

SOUL_SOIL

灵魂土

WEEPING_VINES

垂泪藤

ANCIENT_DEBRIS

远古残骸

SCULK_SENSOR

幽匿感测体

POINTED_DRIPSTONE

滴水石锥

ROOTED_DIRT

植根泥土

FROGSPAWN

青蛙卵

NETHER_ORE

下界矿石

COPPER

LANTERN

灯笼

BONE_BLOCK

骨块

FROGLIGHT

蛙明灯

SNOW

SCULK_VEIN

幽匿脉络

CHERRY_WOOD

樱花木

POLISHED_DEEPSLATE

抛光深板岩

NYLIUM

菌岩

DEEPSLATE

深板岩

SPORE_BLOSSOM

孢子花

BASALT

玄武岩

CHERRY_WOOD_HANGING_SIGN

樱花木悬挂牌

SMALL_AMETHYST_BUD

小型紫水晶芽

CANDLE

蜡烛

FLOWERING_AZALEA

开花杜鹃

ANVIL

铁砧

SCAFFOLDING

脚手架

DEEPSLATE_BRICKS

深板岩砖

CORAL_BLOCK

珊瑚块

BAMBOO_SAPLING

竹子幼苗

LILY_PAD

睡莲

MOSS_CARPET

苔藓地毯

LADDER

梯子

LARGE_AMETHYST_BUD

大型紫水晶芽

GLOW_LICHEN

发光地衣

CROP

农作物

PINK_PETALS

粉色花瓣

AZALEA_LEAVES

杜鹃树叶

POWDER_SNOW

细雪

METAL

金属

HONEY_BLOCK

蜂蜜块

NETHER_BRICKS

下界砖块

SUSPICIOUS_SAND

可疑的沙子

GILDED_BLACKSTONE

镶金黑石

HARD_CROP

坚硬农作物

SCULK_CATALYST

幽匿催化体

DEEPSLATE_TILES

深板岩瓦

PACKED_MUD

压实泥土

SCULK

幽匿块

VINE

藤蔓

BAMBOO

竹子

GLASS

玻璃

DRIPSTONE_BLOCK

滴水石块

CHERRY_SAPLING

樱花树苗

CALCITE

方解石

MUD_BRICKS

泥砖

STEM

茎(如蘑菇茎)

BAMBOO_WOOD

竹材

SOUL_SAND

灵魂沙

MUD

泥土

BIG_DRIPLEAF

大型滴水叶

BAMBOO_WOOD_HANGING_SIGN

竹材悬挂牌

TWISTING_VINES

扭曲藤

NETHERRACK

下界岩

AMETHYST_CLUSTER

紫水晶簇

SLIME_BLOCK

史莱姆块

SCULK_SHRIEKER

幽匿尖啸体

CHAIN

链条

WOOD

木材

AZALEA

杜鹃花

MANGROVE_ROOTS

红树根

CHISELED_BOOKSHELF

雕花书架

NETHER_GOLD_ORE

下界金矿

CHERRY_LEAVES

樱花树叶

AMETHYST

紫水晶

DECORATED_POT_CRACKED

破损的装饰性陶罐

CAVE_VINES

洞穴藤

SUSPICIOUS_GRAVEL

可疑的 gravel

LODESTONE

磁石

FUNGUS

真菌

SMALL_DRIPLEAF

小型滴水叶

HANGING_ROOTS

悬挂的根

SWEET_BERRY_BUSH

甜浆果丛

NETHER_WOOD

下界木材

NETHER_WART

下界 wart

STONE

石头

NETHER_WOOD_HANGING_SIGN

下界木材悬挂牌

HANGING_SIGN

悬挂牌

WET_GRASS

湿润的草

NETHERITE_BLOCK

Netherite块

MEDIUM_AMETHYST_BUD

中型紫水晶芽

MUDDY_MANGROVE_ROOTS

泥泞的红树根

WOOL

羊毛

ROOTS

根部

WART_BLOCK

Wart块

NETHER_SPROUTS

下界苗

Stats

使用方法简单示例1: Utils.server.getPlayer("gu__meng").getStats().get(Stats.BLOCK_MINED.get(Block.getBlock("stone")))

使用方法简单示例2: Utils.server.getPlayer("gu__meng").getStats().get(Stats.SWIM_ONE_CM)

状态常量
描述
备注

SWIM_ONE_CM

游泳的总距离

-

FLY_ONE_CM

飞行的总距离

-

WALK_ONE_CM

步行的总距离

-

CLIMB_ONE_CM

攀爬的总距离

-

FALL_ONE_CM

下落的总距离

-

BOAT_ONE_CM

乘船的总距离

-

STRIDER_ONE_CM

骑炽足兽的总距离

-

HORSE_ONE_CM

骑马的总距离

-

PIG_ONE_CM

骑猪的总距离

-

MINECART_ONE_CM

乘坐矿车的总距离

-

WALK_ON_WATER_ONE_CM

在水上行走的总距离

-

WALK_UNDER_WATER_ONE_CM

在水下行走的总距离

-

SPRINT_ONE_CM

奔跑的总距离

-

CROUCH_ONE_CM

蹲下移动的总距离

-

AVIATE_ONE_CM

滑翔(如用鞘翅)的总距离

-

PLAYER_KILLS

杀死玩家的数量

-

MOB_KILLS

杀死生物的数量

-

DEATHS

死亡次数

-

DAMAGE_DEALT

造成的总伤害

-

DAMAGE_DEALT_RESISTED

对有抗性的目标造成的伤害

-

DAMAGE_DEALT_ABSORBED

被目标吸收的伤害

-

DAMAGE_TAKEN

受到的总伤害

-

DAMAGE_RESISTED

抵抗的伤害(如通过盔甲)

-

DAMAGE_ABSORBED

吸收的伤害(如通过吸收效果)

-

DAMAGE_BLOCKED_BY_SHIELD

用盾牌格挡的伤害

-

ENTITY_KILLED

杀死的实体类型

需要get(实体类型)

ENTITY_KILLED_BY

被哪些实体杀死

需要get(实体类型)

ITEM_PICKED_UP

捡起的物品

需要get(物品)

ITEM_DROPPED

丢弃的物品

需要get(物品)

ITEM_USED

使用的物品

需要get(物品)

ITEM_BROKEN

损坏的物品

需要get(物品)

ITEM_CRAFTED

合成的物品

需要get(物品)

BLOCK_MINED

挖掘的方块

需要get(方块)

POT_FLOWER

种植的花数量

-

EAT_CAKE_SLICE

吃掉的蛋糕片数量

-

OPEN_CHEST

打开箱子的次数

-

OPEN_ENDERCHEST

打开末影箱的次数

-

OPEN_SHULKER_BOX

打开潜影盒的次数

-

OPEN_BARREL

打开木桶的次数

-

TRIGGER_TRAPPED_CHEST

触发陷阱箱的次数

-

INSPECT_DISPENSER

查看发射器的次数

-

INSPECT_DROPPER

查看投掷器的次数

-

INSPECT_HOPPER

查看漏斗的次数

-

INTERACT_WITH_CRAFTING_TABLE

使用工作台的次数

-

INTERACT_WITH_FURNACE

使用熔炉的次数

-

INTERACT_WITH_BLAST_FURNACE

使用高炉的次数

-

INTERACT_WITH_SMOKER

使用烟熏炉的次数

-

INTERACT_WITH_BREWINGSTAND

使用酿造台的次数

-

INTERACT_WITH_ANVIL

使用铁砧的次数

-

INTERACT_WITH_GRINDSTONE

使用砂轮的次数

-

INTERACT_WITH_STONECUTTER

使用切石机的次数

-

INTERACT_WITH_LOOM

使用织布机的次数

-

INTERACT_WITH_CARTOGRAPHY_TABLE

使用制图台的次数

-

INTERACT_WITH_SMITHING_TABLE

使用锻造台的次数

-

INTERACT_WITH_LECTERN

使用讲台的次数

-

INTERACT_WITH_BEACON

使用信标的次数

-

ENCHANT_ITEM

附魔物品的次数

-

TOTAL_WORLD_TIME

游戏世界总时间

-

PLAY_TIME

玩家游戏时长

-

TIME_SINCE_REST

上次睡觉至今的时间

-

TIME_SINCE_DEATH

上次死亡至今的时间

-

LEAVE_GAME

退出游戏的次数

-

SLEEP_IN_BED

在床上睡觉的次数

-

JUMP

跳跃次数

-

CROUCH_TIME

蹲下的总时间

-

BELL_RING

敲响铃铛的次数

-

INTERACT_WITH_CAMPFIRE

与营火交互的次数

-

FISH_CAUGHT

钓到鱼的数量

-

USE_CAULDRON

使用炼药锅的次数

-

FILL_CAULDRON

装满炼药锅的次数

-

PLAY_NOTEBLOCK

播放音符盒的次数

-

TUNE_NOTEBLOCK

调谐音符盒的次数

-

PLAY_RECORD

播放唱片的次数

-

TARGET_HIT

击中目标的次数

-

CLEAN_SHULKER_BOX

清理潜影盒的次数

-

CLEAN_ARMOR

清理盔甲的次数

-

CLEAN_BANNER

清理旗帜的次数

-

DROP

丢弃物品的总次数

-

Duration

OutputItem

Fluid

InputItem

DamageSource

Platform

Vec3f

Vec4f

Notification

Quaternionf

JavaMath

BlockProperties

Vec3i

Matrix3f

Matrix4f

Blocks

Component

Last updated