1
0
Files
wheat-server-kubejs/kubejs/constants.d.ts

243 lines
5.7 KiB
TypeScript
Raw Permalink Normal View History

// 注:需要在 `jsconfig.json` 配置文件的 `files` 字段中包含该文件(若在 `include` 字段中,定义会被覆盖)。
import type {
$BasicBlockJS$Builder,
} from 'dev.latvian.mods.kubejs.block.custom.BasicBlockJS$Builder';
import {
$BlockRenderType$$Type,
} from 'dev.latvian.mods.kubejs.block.BlockRenderType';
import type {
$ButtonBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.ButtonBlockBuilder';
import type {
$CarpetBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.CarpetBlockBuilder';
import type {
$CropBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.CropBlockBuilder';
import type {
$DetectorBlock$Builder,
} from 'dev.latvian.mods.kubejs.block.DetectorBlock$Builder';
import type {
$DoorBlockBuilder
} from 'dev.latvian.mods.kubejs.block.custom.DoorBlockBuilder';
import type {
$FallingBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.FallingBlockBuilder';
import type {
$FenceBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.FenceBlockBuilder';
import type {
$FenceGateBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.FenceGateBlockBuilder';
import type {
$HorizontalDirectionalBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.HorizontalDirectionalBlockBuilder';
import type {
$PressurePlateBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.PressurePlateBlockBuilder';
import type {
$SlabBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.SlabBlockBuilder';
import type {
$StairBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.StairBlockBuilder';
import type {
$TrapdoorBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.TrapdoorBlockBuilder';
import type {
$WallBlockBuilder,
} from 'dev.latvian.mods.kubejs.block.custom.WallBlockBuilder';
import type {
$Block,
} from 'moe.wolfgirl.probejs.generated.registry.minecraft.Block';
import {
$MapColor$$Type,
} from 'net.minecraft.world.level.material.MapColor';
import {
$SoundType$$Type,
} from 'net.minecraft.world.level.block.SoundType';
/** 方块构造器 */
type BlockBuilder = (
$BasicBlockJS$Builder &
$ButtonBlockBuilder &
$CarpetBlockBuilder &
$CropBlockBuilder &
$DetectorBlock$Builder &
$DoorBlockBuilder &
$FallingBlockBuilder &
$FenceBlockBuilder &
$FenceGateBlockBuilder &
$HorizontalDirectionalBlockBuilder &
$PressurePlateBlockBuilder &
$SlabBlockBuilder &
$StairBlockBuilder &
$TrapdoorBlockBuilder &
$WallBlockBuilder
);
/** 配置选项 */
type SetBlockPropsOpts = {
/** 碰撞箱配置默认null */
boxConfig?: [number, number, number, number, number, number, boolean?];
/** 碰撞箱类型,默认 full */
boxType?: 'custom' | 'full' | 'half';
/** 方块显示名称 */
displayName: string;
/** 坚硬程度默认8 */
hardness?: number;
/** 开启碰撞箱默认true */
hasCollision?: boolean;
/** 是否为完整方块默认true */
isSolid?: boolean;
/** 亮度等级范围0 ~ 1默认0 */
lightLevel?: number;
/** 地图颜色默认none */
mapColor?: $MapColor$$Type;
/** 模型文件路径配置 */
modelPath?: {
/** 方块所属命名空间,示例:`minecraft` */
blockNamespace: string;
/** 方块名称,示例:`stone` */
blockName: string;
/** 模型文件路径,示例:`minecraft:block/stone` */
filePath: string;
};
/**
* solid
* - `cutout`: required for blocks with texture like glass
* - `translucent`: required for blocks like stained glass
*/
renderType?: $BlockRenderType$$Type;
/** 坚固程度默认16 */
resistance?: number;
/** 声音类型默认stone */
soundType?: $SoundType$$Type;
/** 纹理文件路径,每一面都相同时指定 */
textureAll?: string;
/** 方块粒子效果纹理文件路径,不使用 `textureAll` 的情况下才需要指定 */
textureParticle?: string;
/** 纹理文件路径,侧面都相同时指定 */
textureSide?: string;
2025-05-02 18:16:41 +08:00
/** 纹理文件路径,南北面都相同时指定 */
textureSideNS?: string;
/** 纹理文件路径,东西面都相同时指定 */
textureSideWE?: string;
/** 纹理文件路径,上下面都相同时指定 */
textureUpDown?: string;
};
declare global {
/** 方块注册事件 */
type _RegistryBlock = $Block;
2025-04-29 23:41:17 +08:00
/** 配置选项 */
type _SetBlockPropsOpts = SetBlockPropsOpts;
const global: {
/**
* @description
* @param v
* @param d
*/
defaults<TValue>(v: TValue, d: TValue): TValue;
/**
* @description
* @param block
* @param options
*/
setBlockProps(block: BlockBuilder, options: SetBlockPropsOpts): boolean;
/**
* @description
* @param block
* @param type
* @param model
*/
setHorizontalFacing(
block: BlockBuilder,
type: 'revert' | 'same',
model: string
): boolean;
/**
* @description JSON
* @param path `.minecraft`
* @param data JSON
*/
writeJSON(path: string, data: object): void;
/** 颜色列表 */
COLORS: {
[key: string]: {
CODE: string;
HEX: string;
LABEL_CN: string;
LABEL_EN: string;
};
};
/** 需要在 `client.generate_assets` 生成的 JSON 文件 */
JSON_ASSETS: Array<{
/** JSON 完整路径,示例:`minecraft:models/block/stone` */
path: string;
data: object;
}>;
/** 日志前缀 */
LOG_PREFIX: string;
};
}
export { };