feat: 添加创造模式标签页
This commit is contained in:
@@ -25,6 +25,15 @@ const P_ITEM = `${MOD_ID}:item`;
|
|||||||
/** 物品模型文件基础长路径 */
|
/** 物品模型文件基础长路径 */
|
||||||
const P_ITEM_MODEL = `${MOD_ID}:models/item`;
|
const P_ITEM_MODEL = `${MOD_ID}:models/item`;
|
||||||
|
|
||||||
|
/** 属于创造模式标签页 wheat_plus:blocks 的方块 ID 列表 */
|
||||||
|
const TAB_BLOCKS_ITEMS = [];
|
||||||
|
|
||||||
|
/** 属于创造模式标签页 wheat_plus:minecart 的方块 ID 列表 */
|
||||||
|
const TAB_MINECART_ITEMS = [];
|
||||||
|
|
||||||
|
/** 属于创造模式标签页 wheat_plus:roads 的方块 ID 列表 */
|
||||||
|
const TAB_ROADS_ITEMS = [];
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 处理 ${MOD_ID} 相关内容`);
|
console.info(`${LOG_PREFIX} 处理 ${MOD_ID} 相关内容`);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -47,6 +56,8 @@ function regBlockBrick(event) {
|
|||||||
const id = `${MOD_ID}:${config.name}`;
|
const id = `${MOD_ID}:${config.name}`;
|
||||||
const block = event.create(id);
|
const block = event.create(id);
|
||||||
|
|
||||||
|
TAB_BLOCKS_ITEMS.push(id);
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
displayName: '砖块',
|
displayName: '砖块',
|
||||||
textureAll: `${P_BLOCK}/${config.texture}`,
|
textureAll: `${P_BLOCK}/${config.texture}`,
|
||||||
@@ -558,6 +569,8 @@ function regBlockBuildingAndFurniture(event) {
|
|||||||
const texturePath0 = config.texture;
|
const texturePath0 = config.texture;
|
||||||
const texturePath1 = texturePath0 ? `${P_BLOCK}/${texturePath0}` : '';
|
const texturePath1 = texturePath0 ? `${P_BLOCK}/${texturePath0}` : '';
|
||||||
|
|
||||||
|
TAB_BLOCKS_ITEMS.push(blockId);
|
||||||
|
|
||||||
// 设置基础属性
|
// 设置基础属性
|
||||||
if (blockBox) {
|
if (blockBox) {
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
@@ -742,6 +755,8 @@ function regBlockColor(event) {
|
|||||||
const colorCfg = config.color;
|
const colorCfg = config.color;
|
||||||
const isGrow = config.grow;
|
const isGrow = config.grow;
|
||||||
|
|
||||||
|
TAB_BLOCKS_ITEMS.push(id);
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
displayName: config.label,
|
displayName: config.label,
|
||||||
isSolid: false,
|
isSolid: false,
|
||||||
@@ -785,15 +800,6 @@ function regBlockLampModern(event) {
|
|||||||
// wheat_plus:block/lamp_modern/color_
|
// wheat_plus:block/lamp_modern/color_
|
||||||
const textureBase = `${P_BLOCK}/lamp_modern/${color.CODE}`;
|
const textureBase = `${P_BLOCK}/lamp_modern/${color.CODE}`;
|
||||||
|
|
||||||
setBlockProps(block, {
|
|
||||||
boxType: 'full',
|
|
||||||
displayName: `现代${color.LABEL_CN}灯`,
|
|
||||||
isSolid: false,
|
|
||||||
lightLevel: 1,
|
|
||||||
renderType: 'translucent',
|
|
||||||
soundType: 'glass',
|
|
||||||
});
|
|
||||||
|
|
||||||
JSON_ASSETS.push({
|
JSON_ASSETS.push({
|
||||||
path: `${P_BLOCK_MODEL}/${blockName}`,
|
path: `${P_BLOCK_MODEL}/${blockName}`,
|
||||||
data: {
|
data: {
|
||||||
@@ -806,6 +812,17 @@ function regBlockLampModern(event) {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
TAB_BLOCKS_ITEMS.push(blockId);
|
||||||
|
|
||||||
|
setBlockProps(block, {
|
||||||
|
boxType: 'full',
|
||||||
|
displayName: `现代${color.LABEL_CN}灯`,
|
||||||
|
isSolid: false,
|
||||||
|
lightLevel: 1,
|
||||||
|
renderType: 'translucent',
|
||||||
|
soundType: 'glass',
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 现代灯 - 完成`);
|
console.info(`${LOG_PREFIX} 注册方块 - 现代灯 - 完成`);
|
||||||
@@ -852,13 +869,6 @@ function regBlockLampSimple(event) {
|
|||||||
// 用于替换默认模型
|
// 用于替换默认模型
|
||||||
const modelJSON = { parent: `${P_BLOCK}/${config.model}` };
|
const modelJSON = { parent: `${P_BLOCK}/${config.model}` };
|
||||||
|
|
||||||
setBlockProps(block, {
|
|
||||||
displayName: config.label,
|
|
||||||
lightLevel: 0.8,
|
|
||||||
renderType: 'translucent',
|
|
||||||
soundType: 'glass',
|
|
||||||
});
|
|
||||||
|
|
||||||
// 按钮方块默认状态
|
// 按钮方块默认状态
|
||||||
JSON_ASSETS.push({
|
JSON_ASSETS.push({
|
||||||
path: `${P_BLOCK_MODEL}/${blockName}`,
|
path: `${P_BLOCK_MODEL}/${blockName}`,
|
||||||
@@ -877,6 +887,15 @@ function regBlockLampSimple(event) {
|
|||||||
data: modelJSON,
|
data: modelJSON,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
TAB_BLOCKS_ITEMS.push(blockId);
|
||||||
|
|
||||||
|
setBlockProps(block, {
|
||||||
|
displayName: config.label,
|
||||||
|
lightLevel: 0.8,
|
||||||
|
renderType: 'translucent',
|
||||||
|
soundType: 'glass',
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
console.info(`${LOG_PREFIX} 注册方块 - 简约灯 - 完成`);
|
console.info(`${LOG_PREFIX} 注册方块 - 简约灯 - 完成`);
|
||||||
@@ -956,12 +975,9 @@ function regBlockMinecart(event) {
|
|||||||
const blockId = `${MOD_ID}:minecart_${blockName}`;
|
const blockId = `${MOD_ID}:minecart_${blockName}`;
|
||||||
const block = event.create(blockId, 'cardinal');
|
const block = event.create(blockId, 'cardinal');
|
||||||
|
|
||||||
const modelPathL = `${P_BLOCK_MODEL}/minecart_${blockName}`;
|
|
||||||
const modelPathS = `${P_BLOCK}/minecart_${blockName}`;
|
|
||||||
|
|
||||||
// 生成模型 JSON 文件
|
// 生成模型 JSON 文件
|
||||||
JSON_ASSETS.push({
|
JSON_ASSETS.push({
|
||||||
path: modelPathL,
|
path: `${P_BLOCK_MODEL}/minecart_${blockName}`,
|
||||||
data: {
|
data: {
|
||||||
parent: modelParent,
|
parent: modelParent,
|
||||||
textures: {
|
textures: {
|
||||||
@@ -970,6 +986,8 @@ function regBlockMinecart(event) {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
TAB_MINECART_ITEMS.push(blockId);
|
||||||
|
|
||||||
// 设置基础属性
|
// 设置基础属性
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxConfig: [-3, 0, -6, 19, 16, 22, true],
|
boxConfig: [-3, 0, -6, 19, 16, 22, true],
|
||||||
@@ -1004,6 +1022,8 @@ function regBlockReinforcedConcrete(event) {
|
|||||||
const block = event.create(id);
|
const block = event.create(id);
|
||||||
const texture = `${P_BLOCK}/reinforced_concrete/${color.CODE}`;
|
const texture = `${P_BLOCK}/reinforced_concrete/${color.CODE}`;
|
||||||
|
|
||||||
|
TAB_BLOCKS_ITEMS.push(id);
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxType: 'full',
|
boxType: 'full',
|
||||||
displayName: `${color.LABEL_CN}强化混凝土`,
|
displayName: `${color.LABEL_CN}强化混凝土`,
|
||||||
@@ -1143,6 +1163,8 @@ function regBlockRoad(event) {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
TAB_ROADS_ITEMS.push(fullId);
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxType: 'full',
|
boxType: 'full',
|
||||||
displayName: `${label},完整${suffix}`,
|
displayName: `${label},完整${suffix}`,
|
||||||
@@ -1170,6 +1192,8 @@ function regBlockRoad(event) {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
TAB_ROADS_ITEMS.push(fullId);
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxType: 'full',
|
boxType: 'full',
|
||||||
displayName: `${label},完整${suffix}`,
|
displayName: `${label},完整${suffix}`,
|
||||||
@@ -1197,6 +1221,8 @@ function regBlockRoad(event) {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
TAB_ROADS_ITEMS.push(fullId);
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxType: 'half',
|
boxType: 'half',
|
||||||
displayName: `${label},一半${suffix}`,
|
displayName: `${label},一半${suffix}`,
|
||||||
@@ -1224,6 +1250,8 @@ function regBlockRoad(event) {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
TAB_ROADS_ITEMS.push(fullId);
|
||||||
|
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
boxType: 'half',
|
boxType: 'half',
|
||||||
displayName: `${label},一半${suffix}`,
|
displayName: `${label},一半${suffix}`,
|
||||||
@@ -1312,6 +1340,8 @@ function regBlockOtherBasic(event) {
|
|||||||
const texturePath0 = config.texture;
|
const texturePath0 = config.texture;
|
||||||
const texturePath1 = texturePath0 ? `${P_BLOCK}/${texturePath0}` : '';
|
const texturePath1 = texturePath0 ? `${P_BLOCK}/${texturePath0}` : '';
|
||||||
|
|
||||||
|
TAB_BLOCKS_ITEMS.push(blockId);
|
||||||
|
|
||||||
// 设置基础属性
|
// 设置基础属性
|
||||||
if (blockBox) {
|
if (blockBox) {
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
@@ -1383,6 +1413,8 @@ function regBlockOtherShaped(event) {
|
|||||||
const id = `${MOD_ID}:${config.name}`;
|
const id = `${MOD_ID}:${config.name}`;
|
||||||
const block = event.create(id, config.type);
|
const block = event.create(id, config.type);
|
||||||
|
|
||||||
|
TAB_BLOCKS_ITEMS.push(id);
|
||||||
|
|
||||||
// 设置基础属性
|
// 设置基础属性
|
||||||
setBlockProps(block, {
|
setBlockProps(block, {
|
||||||
displayName: config.label,
|
displayName: config.label,
|
||||||
@@ -1408,6 +1440,53 @@ StartupEvents.registry('block', regBlockReinforcedConcrete);
|
|||||||
StartupEvents.registry('block', regBlockOtherBasic);
|
StartupEvents.registry('block', regBlockOtherBasic);
|
||||||
StartupEvents.registry('block', regBlockOtherShaped);
|
StartupEvents.registry('block', regBlockOtherShaped);
|
||||||
|
|
||||||
|
// 注册创造模式标签页
|
||||||
|
StartupEvents.registry('creative_mode_tab', (event) => {
|
||||||
|
|
||||||
|
// 创建标签页
|
||||||
|
const tabBlocks = event.create('wheat_plus:blocks');
|
||||||
|
const tabMinecart = event.create('wheat_plus:minecart');
|
||||||
|
const tabRoads = event.create('wheat_plus:roads');
|
||||||
|
|
||||||
|
// 设置名称
|
||||||
|
tabBlocks.displayName('Wheat Plus | 方块');
|
||||||
|
tabMinecart.displayName('Wheat Plus | 矿车');
|
||||||
|
tabRoads.displayName('Wheat Plus | 路');
|
||||||
|
|
||||||
|
// 设置图标
|
||||||
|
tabBlocks.icon(() => {
|
||||||
|
return 'minecraft:hay_block';
|
||||||
|
});
|
||||||
|
tabMinecart.icon(() => {
|
||||||
|
return 'minecraft:minecart';
|
||||||
|
});
|
||||||
|
tabRoads.icon(() => {
|
||||||
|
return 'minecraft:gray_concrete';
|
||||||
|
});
|
||||||
|
|
||||||
|
// 设置内容
|
||||||
|
// 注:若通过该方式添加,顺序会乱
|
||||||
|
tabBlocks.content(() => {
|
||||||
|
return ['minecraft:paper'];
|
||||||
|
});
|
||||||
|
tabMinecart.content(() => {
|
||||||
|
return ['minecraft:paper'];
|
||||||
|
});
|
||||||
|
tabRoads.content(() => {
|
||||||
|
return ['minecraft:paper'];
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
StartupEvents.modifyCreativeTab('wheat_plus:blocks', (event) => {
|
||||||
|
event.add(TAB_BLOCKS_ITEMS);
|
||||||
|
});
|
||||||
|
StartupEvents.modifyCreativeTab('wheat_plus:minecart', (event) => {
|
||||||
|
event.add(TAB_MINECART_ITEMS);
|
||||||
|
});
|
||||||
|
StartupEvents.modifyCreativeTab('wheat_plus:roads', (event) => {
|
||||||
|
event.add(TAB_ROADS_ITEMS);
|
||||||
|
});
|
||||||
|
|
||||||
// 注册物品
|
// 注册物品
|
||||||
// onEvent('item.registry', function (event) {
|
// onEvent('item.registry', function (event) {
|
||||||
// console.info(`${LOG_PREFIX} 注册物品 - 开始`);
|
// console.info(`${LOG_PREFIX} 注册物品 - 开始`);
|
||||||
|
|||||||
Reference in New Issue
Block a user