Skip to content

全局静态类

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