1
0

10 Commits

96 changed files with 1437 additions and 175 deletions
+1
View File
@@ -12,6 +12,7 @@
- 暂不支持解构赋值(2022-08-28 - 暂不支持解构赋值(2022-08-28
- 暂不支持设置函数参数默认值(2022-08-28) - 暂不支持设置函数参数默认值(2022-08-28)
- 暂不支持 try catch2022-08-28 - 暂不支持 try catch2022-08-28
- 可以使用 `/kubejs export pack-zips` 命令导出动态生成的资源(`blockstates``models` 等)。
## 参考资料 ## 参考资料
+9
View File
@@ -152,9 +152,18 @@ type SetBlockPropsOpts = {
/** 纹理文件路径,每一面都相同时指定 */ /** 纹理文件路径,每一面都相同时指定 */
textureAll?: string; textureAll?: string;
/** 方块粒子效果纹理文件路径,不使用 `textureAll` 的情况下才需要指定 */
textureParticle?: string;
/** 纹理文件路径,侧面都相同时指定 */ /** 纹理文件路径,侧面都相同时指定 */
textureSide?: string; textureSide?: string;
/** 纹理文件路径,南北面都相同时指定 */
textureSideNS?: string;
/** 纹理文件路径,东西面都相同时指定 */
textureSideWE?: string;
/** 纹理文件路径,上下面都相同时指定 */ /** 纹理文件路径,上下面都相同时指定 */
textureUpDown?: string; textureUpDown?: string;
+5
View File
@@ -131,6 +131,7 @@ global.setBlockProps = function (block, opts) {
let resistance = defaults(opts.resistance, 16); let resistance = defaults(opts.resistance, 16);
let soundType = defaults(opts.soundType, 'stone'); let soundType = defaults(opts.soundType, 'stone');
let textureAll = defaults(opts.textureAll, ''); let textureAll = defaults(opts.textureAll, '');
let textureParticle = defaults(opts.textureParticle, '');
let textureSide = defaults(opts.textureSide, ''); let textureSide = defaults(opts.textureSide, '');
let textureSideNS = defaults(opts.textureSideNS, ''); let textureSideNS = defaults(opts.textureSideNS, '');
let textureSideWE = defaults(opts.textureSideWE, ''); let textureSideWE = defaults(opts.textureSideWE, '');
@@ -177,6 +178,10 @@ global.setBlockProps = function (block, opts) {
block.texture(textureAll); block.texture(textureAll);
} }
if (textureParticle) {
block.texture('particle', textureParticle);
}
if (textureSide) { if (textureSide) {
block.texture([ block.texture([
Direction.NORTH, Direction.NORTH,
+377 -128
View File
@@ -48,25 +48,54 @@ function getFenceBlockstateJson(postPath, sidePath) {
return { return {
multipart: [ multipart: [
{ {
apply: { model: postPath } apply: { model: postPath, uvlock: false, y: 0 },
}, },
{ {
apply: { model: sidePath, uvlock: true }, apply: { model: sidePath, uvlock: true, y: 0 },
when: { north: 'true' } when: { north: 'true' },
}, },
{ {
apply: { model: sidePath, uvlock: true, y: 90 }, apply: { model: sidePath, uvlock: true, y: 90 },
when: { east: 'true' } when: { east: 'true' },
}, },
{ {
apply: { model: sidePath, uvlock: true, y: 180 }, apply: { model: sidePath, uvlock: true, y: 180 },
when: { south: 'true' } when: { south: 'true' },
}, },
{ {
apply: { model: sidePath, uvlock: true, y: 270 }, apply: { model: sidePath, uvlock: true, y: 270 },
when: { west: 'true' } when: { west: 'true' },
} },
] ],
};
}
/**
* @description 获取活板门方块状态 JSON
* @param {string} bottomPath 活板门 bottom 模型短路径
* @param {string} topPath 活板门 top 模型短路径
* @param {string} openPath 活板门 open 模型短路径
*/
function getTrapdoorBlockstateJson(bottomPath, topPath, openPath) {
return {
variants: {
'facing=east,half=bottom,open=false': { model: bottomPath, y: 0 },
'facing=east,half=bottom,open=true': { model: bottomPath, y: 0 },
'facing=east,half=top,open=false': { model: topPath, y: 180 },
'facing=east,half=top,open=true': { model: openPath, y: 180 },
'facing=north,half=bottom,open=false': { model: bottomPath, y: 0 },
'facing=north,half=bottom,open=true': { model: bottomPath, y: 0 },
'facing=north,half=top,open=false': { model: topPath, y: 90 },
'facing=north,half=top,open=true': { model: openPath, y: 90 },
'facing=south,half=bottom,open=false': { model: bottomPath, y: 0 },
'facing=south,half=bottom,open=true': { model: bottomPath, y: 0 },
'facing=south,half=top,open=false': { model: topPath, y: 270 },
'facing=south,half=top,open=true': { model: openPath, y: 270 },
'facing=west,half=bottom,open=false': { model: bottomPath, y: 0 },
'facing=west,half=bottom,open=true': { model: bottomPath, y: 0 },
'facing=west,half=top,open=false': { model: topPath, y: 0 },
'facing=west,half=top,open=true': { model: openPath, y: 0 },
},
}; };
} }
@@ -304,7 +333,20 @@ function regBlockCommon(event) {
console.info(`${LOG_PREFIX} 注册方块 - 常规 - 开始`); console.info(`${LOG_PREFIX} 注册方块 - 常规 - 开始`);
let blockList = [ let blockList = [
// 普通方块 // -- 普通方块 --
// {
// name: 'barrier_gate_a',
// label: '道闸',
// blockstate: getTrapdoorBlockstateJson(
// `${P_BLOCK}/common/barrier_gate_a_base`,
// `${P_BLOCK}/common/barrier_gate_a_closed`,
// `${P_BLOCK}/common/barrier_gate_a_opened`,
// ),
// box: null,
// model: '',
// texture: 'minecraft:block/yellow_concrete',
// type: 'trapdoor',
// },
{ {
name: 'carton_a', name: 'carton_a',
label: '纸箱', label: '纸箱',
@@ -312,6 +354,7 @@ function regBlockCommon(event) {
box: null, box: null,
model: '', model: '',
texture: '', texture: '',
textureParticle: 'common/carton_a_ud',
textureSideNS: 'common/carton_a_ns', textureSideNS: 'common/carton_a_ns',
textureSideWE: 'common/carton_a_we', textureSideWE: 'common/carton_a_we',
textureUpDown: 'common/carton_a_ud', textureUpDown: 'common/carton_a_ud',
@@ -422,6 +465,120 @@ function regBlockCommon(event) {
texture: '', texture: '',
type: '', type: '',
}, },
{
name: 'rail_transit_sign_a_black',
label: '指示牌(黑色)',
blockstate: getFenceBlockstateJson(
`${P_BLOCK}/rail_transit_sign/sign_a_black_post`,
`${P_BLOCK}/rail_transit_sign/sign_a_black_side`,
),
box: null,
model: '',
texture: 'minecraft:block/black_concrete',
type: 'fence',
},
{
name: 'rail_transit_sign_a_white',
label: '指示牌(白色)',
blockstate: getFenceBlockstateJson(
`${P_BLOCK}/rail_transit_sign/sign_a_white_post`,
`${P_BLOCK}/rail_transit_sign/sign_a_white_side`,
),
box: null,
model: '',
texture: 'minecraft:block/white_concrete',
type: 'fence',
},
{
name: 'rail_transit_sign_b',
label: '指示牌',
blockstate: null,
box: [0, 0, 6, 16, 16, 10, true],
model: 'rail_transit_sign/sign_b',
texture: '',
type: 'cardinal',
},
{
name: 'rail_transit_sign_char_a',
label: '指示牌字符(AA',
blockstate: null,
box: [0, 0, 21, 16, 16, 22, true],
model: 'rail_transit_sign/char_a',
texture: '',
type: 'cardinal',
},
{
name: 'rail_transit_sign_char_b',
label: '指示牌字符(B',
blockstate: null,
box: [0, 0, 21, 16, 16, 22, true],
model: 'rail_transit_sign/char_b',
texture: '',
type: 'cardinal',
},
{
name: 'rail_transit_sign_char_c',
label: '指示牌字符(C',
blockstate: null,
box: [0, 0, 21, 16, 16, 22, true],
model: 'rail_transit_sign/char_c',
texture: '',
type: 'cardinal',
},
{
name: 'rail_transit_sign_char_d',
label: '指示牌字符(D',
blockstate: null,
box: [0, 0, 21, 16, 16, 22, true],
model: 'rail_transit_sign/char_d',
texture: '',
type: 'cardinal',
},
{
name: 'rail_transit_sign_char_e',
label: '指示牌字符(E',
blockstate: null,
box: [0, 0, 21, 16, 16, 22, true],
model: 'rail_transit_sign/char_e',
texture: '',
type: 'cardinal',
},
{
name: 'rail_transit_sign_char_f',
label: '指示牌字符(F',
blockstate: null,
box: [0, 0, 21, 16, 16, 22, true],
model: 'rail_transit_sign/char_f',
texture: '',
type: 'cardinal',
},
{
name: 'rail_transit_sign_char_entrance_a',
label: '指示牌字符(进站)',
blockstate: null,
box: [0, 0, 21, 16, 16, 22, true],
model: 'rail_transit_sign/char_entrance_a',
texture: '',
type: 'cardinal',
},
{
name: 'rail_transit_sign_char_exit_a',
label: '指示牌字符(出口)',
blockstate: null,
box: [0, 0, 21, 16, 16, 22, true],
model: 'rail_transit_sign/char_exit_a',
texture: '',
type: 'cardinal',
},
{
name: 'rail_transit_sign_char_exit_b',
label: '指示牌字符(出站)',
blockstate: null,
box: [0, 0, 21, 16, 16, 22, true],
model: 'rail_transit_sign/char_exit_b',
texture: '',
type: 'cardinal',
},
{ {
name: 'real_wooden_ladder_bottom', name: 'real_wooden_ladder_bottom',
label: '木制梯子(下部分)', label: '木制梯子(下部分)',
@@ -557,7 +714,7 @@ function regBlockCommon(event) {
texture: '', texture: '',
type: 'cardinal', type: 'cardinal',
}, },
// 建筑方块 // -- 建筑方块 --
{ {
name: 'building_brick_a', name: 'building_brick_a',
label: '砖块(大三角)', label: '砖块(大三角)',
@@ -1032,7 +1189,7 @@ function regBlockCommon(event) {
texture: '', texture: '',
type: 'cardinal', type: 'cardinal',
}, },
// 家具方块 // -- 家具方块 --
{ {
name: 'furniture_birch_chair_a', name: 'furniture_birch_chair_a',
label: '白桦木椅子', label: '白桦木椅子',
@@ -1132,7 +1289,20 @@ function regBlockCommon(event) {
texture: '', texture: '',
type: 'cardinal', type: 'cardinal',
}, },
// 树木 {
name: 'turnstile_door_a',
label: '闸机门',
blockstate: getTrapdoorBlockstateJson(
`${P_BLOCK}/common/turnstile_door_a_base`,
`${P_BLOCK}/common/turnstile_door_a_closed`,
`${P_BLOCK}/common/turnstile_door_a_opened`,
),
box: null,
model: '',
texture: 'minecraft:block/red_wool',
type: 'trapdoor',
},
// -- 树木 --
{ {
name: 'tree_maple_leaves', name: 'tree_maple_leaves',
label: '枫树叶', label: '枫树叶',
@@ -1149,6 +1319,7 @@ function regBlockCommon(event) {
box: null, box: null,
model: '', model: '',
texture: '', texture: '',
textureParticle: 'common/tree_maple_wood_side',
textureSide: 'common/tree_maple_wood_side', textureSide: 'common/tree_maple_wood_side',
textureUpDown: 'common/tree_maple_wood_ud', textureUpDown: 'common/tree_maple_wood_ud',
type: '', type: '',
@@ -1169,6 +1340,7 @@ function regBlockCommon(event) {
box: null, box: null,
model: '', model: '',
texture: '', texture: '',
textureParticle: 'common/tree_palm_wood_side',
textureSide: 'common/tree_palm_wood_side', textureSide: 'common/tree_palm_wood_side',
textureUpDown: 'common/tree_palm_wood_ud', textureUpDown: 'common/tree_palm_wood_ud',
type: '', type: '',
@@ -1189,10 +1361,47 @@ function regBlockCommon(event) {
box: null, box: null,
model: '', model: '',
texture: '', texture: '',
textureParticle: 'common/tree_willow_wood_side',
textureSide: 'common/tree_willow_wood_side', textureSide: 'common/tree_willow_wood_side',
textureUpDown: 'common/tree_willow_wood_ud', textureUpDown: 'common/tree_willow_wood_ud',
type: '', type: '',
}, },
{
name: 'demo_block_a',
label: 'demo 方块',
blockstate: null,
box: [1, 1, 1, 15, 15, 15, true],
model: 'demo/demo_block_a',
texture: '',
type: 'cardinal',
},
{
name: 'demo_block_b',
label: 'demo 方块',
blockstate: null,
box: [1, 1, 1, 15, 15, 15, true],
model: 'demo/demo_block_b',
texture: '',
type: 'cardinal',
},
{
name: 'demo_block_c',
label: 'demo 方块',
blockstate: null,
box: [1, 1, 1, 15, 15, 15, true],
model: 'demo/demo_block_c',
texture: '',
type: 'cardinal',
},
{
name: 'demo_block_d',
label: 'demo 方块',
blockstate: null,
box: [1, 1, 1, 15, 15, 15, true],
model: 'demo/demo_block_d',
texture: '',
type: 'cardinal',
},
]; ];
blockList.forEach((config) => { blockList.forEach((config) => {
@@ -1213,6 +1422,8 @@ function regBlockCommon(event) {
// 获取纹理文件路径 // 获取纹理文件路径
let textureAllPath0 = config.texture; let textureAllPath0 = config.texture;
let textureAllPath1 = textureAllPath0 || ''; let textureAllPath1 = textureAllPath0 || '';
let textureParticlePath0 = config.textureParticle;
let textureParticlePath1 = textureParticlePath0 || '';
let textureSidePath0 = config.textureSide; let textureSidePath0 = config.textureSide;
let textureSidePath1 = textureSidePath0 || ''; let textureSidePath1 = textureSidePath0 || '';
let textureSideNSPath0 = config.textureSideNS; let textureSideNSPath0 = config.textureSideNS;
@@ -1226,6 +1437,9 @@ function regBlockCommon(event) {
if (textureAllPath0 && !textureAllPath0.includes(':')) { if (textureAllPath0 && !textureAllPath0.includes(':')) {
textureAllPath1 = `${P_BLOCK}/${textureAllPath0}`; textureAllPath1 = `${P_BLOCK}/${textureAllPath0}`;
} }
if (textureParticlePath0 && !textureParticlePath0.includes(':')) {
textureParticlePath1 = `${P_BLOCK}/${textureParticlePath0}`;
}
if (textureSidePath0 && !textureSidePath0.includes(':')) { if (textureSidePath0 && !textureSidePath0.includes(':')) {
textureSidePath1 = `${P_BLOCK}/${textureSidePath0}`; textureSidePath1 = `${P_BLOCK}/${textureSidePath0}`;
} }
@@ -1249,8 +1463,18 @@ function regBlockCommon(event) {
// 添加到创造模式标签页 // 添加到创造模式标签页
TAB_BLOCKS_ITEMS.push(blockId); TAB_BLOCKS_ITEMS.push(blockId);
let isType1 = ['', 'cardinal'].indexOf(blockType > -1); let isBlockType1 = [
let isType2 = ['fence', 'slab', 'stairs', 'wall'].indexOf(blockType) > -1; '',
'cardinal',
].indexOf(blockType > -1);
let isBlockType2 = [
'fence',
'slab',
'stairs',
'trapdoor',
'wall',
].indexOf(blockType) > -1;
/** @type {_SetBlockPropsOpts} */ /** @type {_SetBlockPropsOpts} */
let commonProps = { let commonProps = {
@@ -1261,6 +1485,7 @@ function regBlockCommon(event) {
filePath: modelPath1, filePath: modelPath1,
} : null, } : null,
textureAll: textureAllPath1, textureAll: textureAllPath1,
textureParticle: textureParticlePath1,
textureSide: textureSidePath1, textureSide: textureSidePath1,
textureSideNS: textureSideNSPath1, textureSideNS: textureSideNSPath1,
textureSideWE: textureSideWEPath1, textureSideWE: textureSideWEPath1,
@@ -1271,7 +1496,7 @@ function regBlockCommon(event) {
let specialProps = {}; let specialProps = {};
// 处理基础属性 // 处理基础属性
if (isType1) { if (isBlockType1) {
if (blockBox) { if (blockBox) {
specialProps = { specialProps = {
boxConfig: blockBox, boxConfig: blockBox,
@@ -1287,7 +1512,7 @@ function regBlockCommon(event) {
renderType: 'solid', renderType: 'solid',
}; };
} }
} else if (isType2) { } else if (isBlockType2) {
specialProps = { specialProps = {
renderType: 'cutout_mipped', renderType: 'cutout_mipped',
}; };
@@ -1603,65 +1828,128 @@ function regBlockRoad(event) {
{ {
name: 'road_blank', name: 'road_blank',
label: '路 - 空白', label: '路 - 空白',
hasSide: false,
rotatable: false,
texturePath: 'common/transparent', texturePath: 'common/transparent',
hasNormal: true, // 普通 / 直线
hasSlant: false, // 斜线
hasSide: false, // 侧边纹理
isBlank: true, // 空白
}, },
{ {
name: 'road_white', name: 'road_white',
label: '路 - 白色', label: '路 - 白色',
texturePath: 'road/content_white',
hasNormal: true,
hasSlant: false,
hasSide: false, hasSide: false,
isBlank: true, rotatable: false,
texturePath: 'road/content_white',
}, },
{ {
name: 'road_yellow', name: 'road_yellow',
label: '路 - 黄色', label: '路 - 黄色',
texturePath: 'road/content_yellow',
hasNormal: true,
hasSlant: false,
hasSide: false, hasSide: false,
isBlank: true, rotatable: false,
texturePath: 'road/content_yellow',
}, },
{ {
name: 'road_line_single_white', name: 'road_line_single_white_straight',
label: '路 - 单白线', label: '路 - 单白线 - 直线',
texturePath: 'road/line/single_white',
hasNormal: true,
hasSlant: true,
hasSide: true, hasSide: true,
isBlank: false, rotatable: false,
texturePath: 'road/line/single_white_straight',
}, },
{ {
name: 'road_line_single_yellow', name: 'road_line_single_white_slant',
label: '路 - 单线', label: '路 - 单白线 - 斜线',
texturePath: 'road/line/single_yellow', hasSide: false,
hasNormal: true, rotatable: true,
hasSlant: true, texturePath: 'road/line/single_white_slant',
hasSide: true,
isBlank: false,
}, },
{ {
name: 'road_line_double_white', name: 'road_line_single_yellow_straight',
label: '路 - 双白线', label: '路 - 单黄线 - 直线',
texturePath: 'road/line/double_white',
hasNormal: true,
hasSlant: true,
hasSide: true, hasSide: true,
isBlank: false, rotatable: false,
texturePath: 'road/line/single_yellow_straight',
}, },
{ {
name: 'road_line_double_yellow', name: 'road_line_single_yellow_slant',
label: '路 - 双黄线', label: '路 - 单黄线 - 斜线',
texturePath: 'road/line/double_yellow', hasSide: false,
hasNormal: true, rotatable: true,
hasSlant: true, texturePath: 'road/line/single_yellow_slant',
},
{
name: 'road_line_double_white_straight',
label: '路 - 双白线 - 直线',
hasSide: true, hasSide: true,
isBlank: false, rotatable: false,
texturePath: 'road/line/double_white_straight',
},
{
name: 'road_line_double_white_slant',
label: '路 - 双白线 - 斜线',
hasSide: false,
rotatable: true,
texturePath: 'road/line/double_white_slant',
},
{
name: 'road_line_double_yellow_straight',
label: '路 - 双黄线 - 直线',
hasSide: true,
rotatable: false,
texturePath: 'road/line/double_yellow_straight',
},
{
name: 'road_line_double_yellow_slant',
label: '路 - 双黄线 - 斜线',
hasSide: false,
rotatable: true,
texturePath: 'road/line/double_yellow_slant',
},
{
name: 'road_mark_arrow_f',
label: '路 - 标记 - 箭头',
hasSide: false,
rotatable: true,
texturePath: 'road/mark/arrow_f',
},
{
name: 'road_mark_arrow_fl',
label: '路 - 标记 - 箭头',
hasSide: false,
rotatable: true,
texturePath: 'road/mark/arrow_fl',
},
{
name: 'road_mark_arrow_flr',
label: '路 - 标记 - 箭头',
hasSide: false,
rotatable: true,
texturePath: 'road/mark/arrow_flr',
},
{
name: 'road_mark_arrow_fr',
label: '路 - 标记 - 箭头',
hasSide: false,
rotatable: true,
texturePath: 'road/mark/arrow_fr',
},
{
name: 'road_mark_arrow_l',
label: '路 - 标记 - 箭头',
hasSide: false,
rotatable: true,
texturePath: 'road/mark/arrow_l',
},
{
name: 'road_mark_arrow_lr',
label: '路 - 标记 - 箭头',
hasSide: false,
rotatable: true,
texturePath: 'road/mark/arrow_lr',
},
{
name: 'road_mark_arrow_r',
label: '路 - 标记 - 箭头',
hasSide: false,
rotatable: true,
texturePath: 'road/mark/arrow_r',
}, },
]; ];
@@ -1671,7 +1959,10 @@ function regBlockRoad(event) {
let blockName = config.name; let blockName = config.name;
/** 方块文本 */ /** 方块文本 */
let label = (config.label || 'Unknown'); let blockLabel = config.label;
/** 可旋转方块 */
let rotatable = config.rotatable;
/** 纹理文件相对路径 */ /** 纹理文件相对路径 */
let texturePath = config.texturePath; let texturePath = config.texturePath;
@@ -1679,16 +1970,22 @@ function regBlockRoad(event) {
/** 是否存在侧边纹理 */ /** 是否存在侧边纹理 */
let textureSide = config.hasSide; let textureSide = config.hasSide;
// 完整,普通 / 直线 // 完整方块
if (config.hasNormal) { if (true) {
let blockId = `${blockName}_full`; let fullName = `${blockName}_full`;
let fullId = `${MOD_ID}:${blockId}`; let blockId = `${MOD_ID}:${fullName}`;
let block = event.create(fullId); let block = null;
let suffix = (config.isBlank ? '' : ',直线');
if (rotatable) {
block = event.create(blockId, 'cardinal');
} else {
block = event.create(blockId);
}
// 方块模型
JSON_ASSETS.push({ JSON_ASSETS.push({
path: `${P_BLOCK_MODEL}/${blockId}`, path: `${P_BLOCK_MODEL}/${fullName}`,
data: { data: {
parent: `${P_BLOCK}/road/base_full`, parent: `${P_BLOCK}/road/base_full`,
textures: { textures: {
@@ -1698,55 +1995,34 @@ function regBlockRoad(event) {
}, },
}); });
TAB_ROADS_ITEMS.push(fullId); // 创造模式标签页
TAB_ROADS_ITEMS.push(blockId);
// 方块属性
setBlockProps(block, { setBlockProps(block, {
boxType: 'full', boxType: 'full',
displayName: `${label},完整${suffix}`, displayName: `${blockLabel} - 完整`,
renderType: 'cutout', renderType: 'cutout',
}); });
} }
// 完整,斜线 // 半砖方块
if (config.hasSlant) { if (true) {
let blockId = `${blockName}_full_slant`; let fullName = `${blockName}_half`;
let fullId = `${MOD_ID}:${blockId}`; let blockId = `${MOD_ID}:${fullName}`;
let block = event.create(fullId, 'cardinal'); let block = null;
let suffix = ',斜线';
JSON_ASSETS.push({
path: `${P_BLOCK_MODEL}/${blockId}`,
data: {
parent: `${P_BLOCK}/road/base_full`,
textures: {
content: `${P_BLOCK}/${texturePath}_slant`,
side: textureSide ? `${P_BLOCK}/${texturePath}` : P_BLOCK_TRANSPARENT,
},
},
});
TAB_ROADS_ITEMS.push(fullId);
setBlockProps(block, {
boxType: 'full',
displayName: `${label},完整${suffix}`,
renderType: 'cutout',
});
if (rotatable) {
block = event.create(blockId, 'cardinal');
} else {
block = event.create(blockId);
} }
// 一半,普通 / 直线 // 方块模型
if (config.hasNormal) {
let blockId = `${blockName}_half`;
let fullId = `${MOD_ID}:${blockId}`;
let block = event.create(fullId);
let suffix = (config.isBlank ? '' : ',直线');
JSON_ASSETS.push({ JSON_ASSETS.push({
path: `${P_BLOCK_MODEL}/${blockId}`, path: `${P_BLOCK_MODEL}/${fullName}`,
data: { data: {
parent: `${P_BLOCK}/road/base_half`, parent: `${P_BLOCK}/road/base_half`,
textures: { textures: {
@@ -1756,40 +2032,13 @@ function regBlockRoad(event) {
}, },
}); });
TAB_ROADS_ITEMS.push(fullId); // 创造模式标签页
TAB_ROADS_ITEMS.push(blockId);
// 方块属性
setBlockProps(block, { setBlockProps(block, {
boxType: 'half', boxType: 'half',
displayName: `${label},一半${suffix}`, displayName: `${blockLabel} - 一半`,
renderType: 'cutout',
});
}
// 一半,斜线
if (config.hasSlant) {
let blockId = `${blockName}_half_slant`;
let fullId = `${MOD_ID}:${blockId}`;
let block = event.create(fullId, 'cardinal');
let suffix = ',斜线';
JSON_ASSETS.push({
path: `${P_BLOCK_MODEL}/${blockId}`,
data: {
parent: `${P_BLOCK}/road/base_half`,
textures: {
content: `${P_BLOCK}/${texturePath}_slant`,
side: textureSide ? `${P_BLOCK}/${texturePath}` : P_BLOCK_TRANSPARENT,
},
},
});
TAB_ROADS_ITEMS.push(fullId);
setBlockProps(block, {
boxType: 'half',
displayName: `${label},一半${suffix}`,
renderType: 'cutout', renderType: 'cutout',
}); });
@@ -1,4 +1,4 @@
matchTiles=wheat_plus:block/road/line/double_white matchTiles=wheat_plus:block/road/line/double_white_straight
method=ctm_compact method=ctm_compact
faces=top faces=top
@@ -1,4 +1,4 @@
matchTiles=wheat_plus:block/road/line/single_white matchTiles=wheat_plus:block/road/line/double_yellow_straight
method=ctm_compact method=ctm_compact
faces=top faces=top
@@ -1,4 +1,4 @@
matchTiles=wheat_plus:block/road/line/double_yellow matchTiles=wheat_plus:block/road/line/single_white_straight
method=ctm_compact method=ctm_compact
faces=top faces=top
@@ -1,4 +1,4 @@
matchTiles=wheat_plus:block/road/line/single_yellow matchTiles=wheat_plus:block/road/line/single_yellow_straight
method=ctm_compact method=ctm_compact
faces=top faces=top
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "wheat_plus:block/brick/brick_d", "0": "wheat_plus:block/brick/brick_d",
"particle": "wheat_plus:block/brick/brick_d" "particle": "wheat_plus:block/brick/brick_d"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "wheat_plus:block/brick/brick_d", "0": "wheat_plus:block/brick/brick_d",
"particle": "wheat_plus:block/brick/brick_d" "particle": "wheat_plus:block/brick/brick_d"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"1": "block/cyan_terracotta", "1": "block/cyan_terracotta",
"particle": "block/cyan_terracotta" "particle": "block/cyan_terracotta"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"1": "block/cyan_terracotta", "1": "block/cyan_terracotta",
"particle": "block/cyan_terracotta" "particle": "block/cyan_terracotta"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"1": "block/white_concrete", "1": "block/white_concrete",
"2": "block/black_concrete", "2": "block/black_concrete",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"2": "block/black_concrete", "2": "block/black_concrete",
"particle": "block/white_concrete" "particle": "block/white_concrete"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"ambientocclusion": false, "ambientocclusion": true,
"textures": { "textures": {
"particle": "block/white_concrete", "particle": "block/white_concrete",
"texture": "block/white_concrete" "texture": "block/white_concrete"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"ambientocclusion": false, "ambientocclusion": true,
"textures": { "textures": {
"particle": "block/white_concrete", "particle": "block/white_concrete",
"texture": "block/white_concrete" "texture": "block/white_concrete"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "block/iron_block", "0": "block/iron_block",
"particle": "block/iron_block" "particle": "block/iron_block"
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"0": "wheat_plus:block/brick/brick_d", "0": "wheat_plus:block/brick/brick_d",
"1": "block/quartz_block_bottom", "1": "block/quartz_block_bottom",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"1": "block/quartz_block_bottom", "1": "block/quartz_block_bottom",
"2": "block/quartz_block_side", "2": "block/quartz_block_side",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"1": "block/quartz_block_bottom", "1": "block/quartz_block_bottom",
"2": "block/quartz_block_side", "2": "block/quartz_block_side",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"1": "block/quartz_block_bottom", "1": "block/quartz_block_bottom",
"2": "block/quartz_block_side", "2": "block/quartz_block_side",
@@ -0,0 +1,74 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"ambientocclusion": true,
"textures": {
"connection": "block/black_concrete",
"particle": "block/yellow_concrete",
"main": "block/yellow_concrete",
"pole_closed": "block/white_concrete",
"pole_opened": "block/light_gray_concrete"
},
"elements": [
{
"name": "main",
"from": [3, 0, 3],
"to": [13, 24, 11],
"faces": {
"north": {"uv": [0, 0, 5, 12], "texture": "#main"},
"east": {"uv": [0, 0, 4, 12], "texture": "#main"},
"south": {"uv": [0, 0, 5, 12], "texture": "#main"},
"west": {"uv": [0, 0, 4, 12], "texture": "#main"},
"up": {"uv": [0, 0, 10, 8], "texture": "#main"},
"down": {"uv": [0, 0, 10, 8], "texture": "#main"}
}
},
{
"name": "connection",
"from": [7.5, 18.5, 11],
"to": [8.5, 19.5, 13],
"faces": {
"north": {"uv": [0, 0, 0.5, 0.5], "texture": "#connection"},
"east": {"uv": [0, 0, 0.5, 0.5], "texture": "#connection"},
"south": {"uv": [0, 0, 0.5, 0.5], "texture": "#connection"},
"west": {"uv": [0, 0, 0.5, 0.5], "texture": "#connection"},
"up": {"uv": [0, 0, 0.5, 0.5], "texture": "#connection"},
"down": {"uv": [0, 0, 0.5, 0.5], "texture": "#connection"}
}
},
{
"name": "pole_closed",
"from": [-48, 18, 11.5],
"to": [11, 20, 13.5],
"rotation": {"angle": 0, "axis": "z", "origin": [8, 19, 12.5]},
"faces": {
"north": {"uv": [0, 0, 16, 0.5], "texture": "#pole_closed"},
"east": {"uv": [0, 0, 1, 1], "texture": "#pole_closed"},
"south": {"uv": [0, 0, 16, 0.5], "texture": "#pole_closed"},
"west": {"uv": [0, 0, 1, 1], "texture": "#pole_closed"},
"up": {"uv": [0, 0, 16, 0.5], "texture": "#pole_closed"},
"down": {"uv": [0, 0, 16, 0.5], "texture": "#pole_closed"}
}
},
{
"name": "pole_opened",
"from": [7, 16, 11.5],
"to": [9, 75, 13.5],
"rotation": {"angle": 0, "axis": "z", "origin": [8, 19, 12.5]},
"faces": {
"north": {"uv": [0, 0, 16, 0.5], "rotation": 270, "texture": "#pole_opened"},
"east": {"uv": [0, 0, 16, 0.5], "rotation": 90, "texture": "#pole_opened"},
"south": {"uv": [0, 0, 16, 0.5], "rotation": 90, "texture": "#pole_opened"},
"west": {"uv": [0, 0, 16, 0.5], "rotation": 90, "texture": "#pole_opened"},
"up": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#pole_opened"},
"down": {"uv": [0, 0, 1, 1], "rotation": 90, "texture": "#pole_opened"}
}
}
],
"display": {
"gui": {
"rotation": [30, 30, 0],
"translation": [4, -4, 0],
"scale": [0.2, 0.2, 0.2]
}
}
}
@@ -0,0 +1,7 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/common/barrier_gate_a_base",
"textures": {
"pole_opened": "wheat_plus:block/common/transparent"
}
}
@@ -0,0 +1,7 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/common/barrier_gate_a_base",
"textures": {
"pole_closed": "wheat_plus:block/common/transparent"
}
}
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"black": "block/black_concrete", "black": "block/black_concrete",
"particle": "block/yellow_concrete", "particle": "block/yellow_concrete",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by HuJiao & Frost-ZX using Blockbench.", "credit": "Created by HuJiao & Frost-ZX using Blockbench.",
"ambientocclusion": false, "ambientocclusion": true,
"texture_size": [128, 128], "texture_size": [128, 128],
"textures": { "textures": {
"0": "wheat_plus:block/common/station_sign_a", "0": "wheat_plus:block/common/station_sign_a",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by HuJiao & Frost-ZX using Blockbench.", "credit": "Created by HuJiao & Frost-ZX using Blockbench.",
"ambientocclusion": false, "ambientocclusion": true,
"textures": { "textures": {
"particle": "wheat_plus:block/common/ticket_machine_a", "particle": "wheat_plus:block/common/ticket_machine_a",
"texture": "wheat_plus:block/common/ticket_machine_a" "texture": "wheat_plus:block/common/ticket_machine_a"
@@ -0,0 +1,526 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "block/block",
"textures": {
"particle": "block/red_wool",
"closed": "block/red_wool",
"opened": "block/yellow_wool"
},
"elements": [
{
"from": [0, 11, 7],
"to": [7, 14, 7],
"faces": {
"north": {"uv": [9, 2, 16, 5], "texture": "#closed"}
}
},
{
"from": [9, 11, 7],
"to": [16, 14, 7],
"faces": {
"north": {"uv": [0, 2, 7, 5], "texture": "#closed"}
}
},
{
"from": [10, 9, 7],
"to": [16, 11, 7],
"faces": {
"north": {"uv": [0, 5, 6, 7], "texture": "#closed"}
}
},
{
"from": [0, 9, 7],
"to": [6, 11, 7],
"faces": {
"north": {"uv": [10, 5, 16, 7], "texture": "#closed"}
}
},
{
"from": [11, 8, 7],
"to": [16, 9, 7],
"faces": {
"north": {"uv": [0, 7, 5, 8], "texture": "#closed"}
}
},
{
"from": [0, 8, 7],
"to": [5, 9, 7],
"faces": {
"north": {"uv": [11, 7, 16, 8], "texture": "#closed"}
}
},
{
"from": [12, 7, 7],
"to": [16, 8, 7],
"faces": {
"north": {"uv": [0, 8, 4, 9], "texture": "#closed"}
}
},
{
"from": [0, 7, 7],
"to": [4, 8, 7],
"faces": {
"north": {"uv": [12, 8, 16, 9], "texture": "#closed"}
}
},
{
"from": [13, 6, 7],
"to": [16, 7, 7],
"faces": {
"north": {"uv": [0, 9, 3, 10], "texture": "#closed"}
}
},
{
"from": [0, 6, 7],
"to": [3, 7, 7],
"faces": {
"north": {"uv": [13, 9, 16, 10], "texture": "#closed"}
}
},
{
"from": [14, 5, 7],
"to": [16, 6, 7],
"faces": {
"north": {"uv": [0, 10, 2, 11], "texture": "#closed"}
}
},
{
"from": [0, 5, 7],
"to": [2, 6, 7],
"faces": {
"north": {"uv": [14, 10, 16, 11], "texture": "#closed"}
}
},
{
"from": [0, 11, 9],
"to": [7, 14, 9],
"faces": {
"south": {"uv": [0, 2, 7, 5], "texture": "#closed"}
}
},
{
"from": [9, 11, 9],
"to": [16, 14, 9],
"faces": {
"south": {"uv": [9, 2, 16, 5], "texture": "#closed"}
}
},
{
"from": [10, 9, 9],
"to": [16, 11, 9],
"faces": {
"south": {"uv": [10, 5, 16, 7], "texture": "#closed"}
}
},
{
"from": [0, 9, 9],
"to": [6, 11, 9],
"faces": {
"south": {"uv": [0, 5, 6, 7], "texture": "#closed"}
}
},
{
"from": [11, 8, 9],
"to": [16, 9, 9],
"faces": {
"south": {"uv": [11, 7, 16, 8], "texture": "#closed"}
}
},
{
"from": [0, 8, 9],
"to": [5, 9, 9],
"faces": {
"south": {"uv": [0, 7, 5, 8], "texture": "#closed"}
}
},
{
"from": [12, 7, 9],
"to": [16, 8, 9],
"faces": {
"south": {"uv": [12, 8, 16, 9], "texture": "#closed"}
}
},
{
"from": [0, 7, 9],
"to": [4, 8, 9],
"faces": {
"south": {"uv": [0, 8, 4, 9], "texture": "#closed"}
}
},
{
"from": [13, 6, 9],
"to": [16, 7, 9],
"faces": {
"south": {"uv": [13, 9, 16, 10], "texture": "#closed"}
}
},
{
"from": [0, 6, 9],
"to": [3, 7, 9],
"faces": {
"south": {"uv": [0, 9, 3, 10], "texture": "#closed"}
}
},
{
"from": [14, 5, 9],
"to": [16, 6, 9],
"faces": {
"south": {"uv": [14, 10, 16, 11], "texture": "#closed"}
}
},
{
"from": [0, 5, 9],
"to": [2, 6, 9],
"faces": {
"south": {"uv": [0, 10, 2, 11], "texture": "#closed"}
}
},
{
"from": [9, 11, 7],
"to": [10, 11, 9],
"faces": {
"down": {"uv": [9, 7, 10, 9], "texture": "#closed"}
}
},
{
"from": [6, 11, 7],
"to": [7, 11, 9],
"faces": {
"down": {"uv": [6, 7, 7, 9], "texture": "#closed"}
}
},
{
"from": [10, 9, 7],
"to": [11, 9, 9],
"faces": {
"down": {"uv": [10, 7, 11, 9], "texture": "#closed"}
}
},
{
"from": [5, 9, 7],
"to": [6, 9, 9],
"faces": {
"down": {"uv": [5, 7, 6, 9], "texture": "#closed"}
}
},
{
"from": [11, 8, 7],
"to": [12, 8, 9],
"faces": {
"down": {"uv": [11, 7, 12, 9], "texture": "#closed"}
}
},
{
"from": [4, 8, 7],
"to": [5, 8, 9],
"faces": {
"down": {"uv": [4, 7, 5, 9], "texture": "#closed"}
}
},
{
"from": [12, 7, 7],
"to": [13, 7, 9],
"faces": {
"down": {"uv": [12, 7, 13, 9], "texture": "#closed"}
}
},
{
"from": [3, 7, 7],
"to": [4, 7, 9],
"faces": {
"down": {"uv": [3, 7, 4, 9], "texture": "#closed"}
}
},
{
"from": [13, 6, 7],
"to": [14, 6, 9],
"faces": {
"down": {"uv": [13, 7, 14, 9], "texture": "#closed"}
}
},
{
"from": [2, 6, 7],
"to": [3, 6, 9],
"faces": {
"down": {"uv": [2, 7, 3, 9], "texture": "#closed"}
}
},
{
"from": [14, 5, 7],
"to": [16, 5, 9],
"faces": {
"down": {"uv": [14, 7, 16, 9], "texture": "#closed"}
}
},
{
"from": [0, 5, 7],
"to": [2, 5, 9],
"faces": {
"down": {"uv": [0, 7, 2, 9], "texture": "#closed"}
}
},
{
"from": [9, 14, 7],
"to": [16, 14, 9],
"faces": {
"up": {"uv": [9, 7, 16, 9], "texture": "#closed"}
}
},
{
"from": [0, 14, 7],
"to": [7, 14, 9],
"faces": {
"up": {"uv": [0, 7, 7, 9], "texture": "#closed"}
}
},
{
"from": [14, 5, 7],
"to": [14, 6, 9],
"faces": {
"west": {"uv": [7, 10, 9, 11], "texture": "#closed"}
}
},
{
"from": [13, 6, 7],
"to": [13, 7, 9],
"faces": {
"west": {"uv": [7, 9, 9, 10], "texture": "#closed"}
}
},
{
"from": [12, 7, 7],
"to": [12, 8, 9],
"faces": {
"west": {"uv": [7, 8, 9, 9], "texture": "#closed"}
}
},
{
"from": [11, 8, 7],
"to": [11, 9, 9],
"faces": {
"west": {"uv": [7, 7, 9, 8], "texture": "#closed"}
}
},
{
"from": [10, 9, 7],
"to": [10, 11, 9],
"faces": {
"west": {"uv": [7, 5, 9, 7], "texture": "#closed"}
}
},
{
"from": [9, 11, 7],
"to": [9, 14, 9],
"faces": {
"west": {"uv": [7, 2, 9, 5], "texture": "#closed"}
}
},
{
"from": [7, 11, 7],
"to": [7, 14, 9],
"faces": {
"east": {"uv": [7, 2, 9, 5], "texture": "#closed"}
}
},
{
"from": [6, 9, 7],
"to": [6, 11, 9],
"faces": {
"east": {"uv": [7, 5, 9, 7], "texture": "#closed"}
}
},
{
"from": [5, 8, 7],
"to": [5, 9, 9],
"faces": {
"east": {"uv": [7, 7, 9, 8], "texture": "#closed"}
}
},
{
"from": [4, 7, 7],
"to": [4, 8, 9],
"faces": {
"east": {"uv": [7, 8, 9, 9], "texture": "#closed"}
}
},
{
"from": [3, 6, 7],
"to": [3, 7, 9],
"faces": {
"east": {"uv": [7, 9, 9, 10], "texture": "#closed"}
}
},
{
"from": [2, 5, 7],
"to": [2, 6, 9],
"faces": {
"east": {"uv": [7, 10, 9, 11], "texture": "#closed"}
}
},
{
"from": [16, 5, 7],
"to": [16, 14, 9],
"faces": {
"east": {"uv": [7, 2, 9, 11], "texture": "#closed"}
}
},
{
"from": [0, 5, 7],
"to": [0, 14, 9],
"faces": {
"west": {"uv": [7, 2, 9, 11], "texture": "#closed"}
}
},
{
"from": [0, 5, 7],
"to": [1, 14, 7],
"faces": {
"north": {"uv": [15, 2, 16, 11], "texture": "#opened"}
}
},
{
"from": [15, 5, 9],
"to": [16, 14, 9],
"faces": {
"south": {"uv": [15, 2, 16, 11], "texture": "#opened"}
}
},
{
"from": [0, 5, 9],
"to": [1, 14, 9],
"faces": {
"south": {"uv": [0, 2, 1, 11], "texture": "#opened"}
}
},
{
"from": [15, 5, 7],
"to": [16, 5, 9],
"faces": {
"down": {"uv": [15, 7, 16, 9], "texture": "#opened"}
}
},
{
"from": [0, 5, 7],
"to": [1, 5, 9],
"faces": {
"down": {"uv": [0, 7, 1, 9], "texture": "#opened"}
}
},
{
"from": [15, 14, 7],
"to": [16, 14, 9],
"faces": {
"up": {"uv": [15, 7, 16, 9], "texture": "#opened"}
}
},
{
"from": [0, 14, 7],
"to": [1, 14, 9],
"faces": {
"up": {"uv": [0, 7, 1, 9], "texture": "#opened"}
}
},
{
"from": [15, 5, 7],
"to": [15, 14, 9],
"faces": {
"west": {"uv": [7, 2, 9, 11], "texture": "#opened"}
}
},
{
"from": [1, 5, 7],
"to": [1, 14, 9],
"faces": {
"east": {"uv": [7, 2, 9, 11], "texture": "#opened"}
}
},
{
"from": [16, 5, 7],
"to": [16, 14, 9],
"faces": {
"east": {"uv": [7, 2, 9, 11], "texture": "#opened"}
}
},
{
"from": [0, 5, 7],
"to": [0, 14, 9],
"faces": {
"west": {"uv": [7, 2, 9, 11], "texture": "#opened"}
}
},
{
"from": [15, 5, 7],
"to": [16, 14, 7],
"faces": {
"north": {"uv": [0, 2, 1, 11], "texture": "#opened"}
}
}
],
"groups": [
{
"name": "closed",
"origin": [8, 8, 8],
"color": 0,
"children": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51
]
},
{
"name": "opened",
"origin": [8, 8, 8],
"color": 0,
"children": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
}
]
}
@@ -0,0 +1,8 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/common/turnstile_door_a_base",
"textures": {
"closed": "block/red_wool",
"opened": "wheat_plus:block/common/transparent"
}
}
@@ -0,0 +1,8 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/common/turnstile_door_a_base",
"textures": {
"closed": "wheat_plus:block/common/transparent",
"opened": "block/red_wool"
}
}
@@ -0,0 +1,23 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "block/block",
"textures": {
"particle": "block/stone",
"texture": "block/stone"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"east": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"south": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"west": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"up": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"down": {"uv": [0, 0, 16, 16], "texture": "#texture"}
}
}
]
}
@@ -0,0 +1,23 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "block/block",
"textures": {
"particle": "block/stone",
"texture": "block/stone"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"east": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"south": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"west": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"up": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"down": {"uv": [0, 0, 16, 16], "texture": "#texture"}
}
}
]
}
@@ -0,0 +1,23 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "block/block",
"textures": {
"particle": "block/stone",
"texture": "block/stone"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"east": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"south": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"west": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"up": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"down": {"uv": [0, 0, 16, 16], "texture": "#texture"}
}
}
]
}
@@ -0,0 +1,23 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "block/block",
"textures": {
"particle": "block/stone",
"texture": "block/stone"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"east": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"south": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"west": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"up": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"down": {"uv": [0, 0, 16, 16], "texture": "#texture"}
}
}
]
}
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"ambientocclusion": false, "ambientocclusion": true,
"textures": { "textures": {
"0": "block/gray_concrete", "0": "block/gray_concrete",
"1": "block/black_concrete", "1": "block/black_concrete",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"ambientocclusion": false, "ambientocclusion": true,
"textures": { "textures": {
"0": "block/gray_concrete", "0": "block/gray_concrete",
"1": "block/black_concrete", "1": "block/black_concrete",
@@ -1,6 +1,6 @@
{ {
"credit": "Create by Frost-ZX using Blockbench.", "credit": "Create by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"elements": [ "elements": [
{ {
"name": "core", "name": "core",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"particle": "block/gray_concrete", "particle": "block/gray_concrete",
"base": "block/gray_concrete", "base": "block/gray_concrete",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"particle": "block/gray_concrete", "particle": "block/gray_concrete",
"base": "block/gray_concrete", "base": "block/gray_concrete",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"particle": "block/gray_concrete", "particle": "block/gray_concrete",
"base": "block/gray_concrete", "base": "block/gray_concrete",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"particle": "block/gray_concrete", "particle": "block/gray_concrete",
"base": "block/gray_concrete", "base": "block/gray_concrete",
@@ -3,7 +3,7 @@
"textures": { "textures": {
"particle": "#main" "particle": "#main"
}, },
"ambientocclusion": false, "ambientocclusion": true,
"elements": [ "elements": [
{ {
"name": "Side_N", "name": "Side_N",
@@ -0,0 +1,7 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/rail_transit_sign/char_base",
"textures": {
"texture": "wheat_plus:block/rail_transit_sign/char_a"
}
}
@@ -0,0 +1,7 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/rail_transit_sign/char_base",
"textures": {
"texture": "wheat_plus:block/rail_transit_sign/char_b"
}
}
@@ -0,0 +1,48 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"ambientocclusion": true,
"textures": {
"particle": "block/gray_concrete",
"texture": "block/gray_concrete"
},
"elements": [
{
"from": [0, 0, 21.8],
"to": [16, 16, 21.8],
"shade": false,
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#texture"},
"south": {"uv": [0, 0, 16, 16], "texture": "#texture"}
}
}
],
"gui_light": "front",
"display": {
"thirdperson_righthand": {
"translation": [0, 2.5, -5.5],
"scale": [0.4, 0.4, 0.4]
},
"thirdperson_lefthand": {
"translation": [0, 2.5, -5.5],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_righthand": {
"translation": [0, 2.5, -5.5],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"translation": [0, 2.5, -5.5],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 0, -10],
"scale": [0.8, 0.8, 0.8]
},
"head": {
"translation": [0, 0, -21]
},
"fixed": {
"translation": [0, 0, -14]
}
}
}
@@ -0,0 +1,7 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/rail_transit_sign/char_base",
"textures": {
"texture": "wheat_plus:block/rail_transit_sign/char_c"
}
}
@@ -0,0 +1,7 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/rail_transit_sign/char_base",
"textures": {
"texture": "wheat_plus:block/rail_transit_sign/char_d"
}
}
@@ -0,0 +1,7 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/rail_transit_sign/char_base",
"textures": {
"texture": "wheat_plus:block/rail_transit_sign/char_e"
}
}
@@ -0,0 +1,7 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/rail_transit_sign/char_base",
"textures": {
"texture": "wheat_plus:block/rail_transit_sign/char_entrance_a"
}
}
@@ -0,0 +1,7 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/rail_transit_sign/char_base",
"textures": {
"texture": "wheat_plus:block/rail_transit_sign/char_exit_a"
}
}
@@ -0,0 +1,7 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/rail_transit_sign/char_base",
"textures": {
"texture": "wheat_plus:block/rail_transit_sign/char_exit_b"
}
}
@@ -0,0 +1,7 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/rail_transit_sign/char_base",
"textures": {
"texture": "wheat_plus:block/rail_transit_sign/char_f"
}
}
@@ -0,0 +1,22 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "block/block",
"textures": {
"particle": "block/white_concrete",
"texture": "block/white_concrete"
},
"elements": [
{
"from": [6, 0, 6],
"to": [10, 16, 10],
"faces": {
"north": {"uv": [6, 0, 10, 16], "texture": "#texture"},
"east": {"uv": [6.5, 0, 10.5, 16], "texture": "#texture"},
"south": {"uv": [6, 0, 10, 16], "texture": "#texture"},
"west": {"uv": [5.5, 0, 9.5, 16], "texture": "#texture"},
"up": {"uv": [6, 5.5, 10, 9.5], "texture": "#texture"},
"down": {"uv": [6, 6.5, 10, 10.5], "texture": "#texture"}
}
}
]
}
@@ -0,0 +1,22 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "block/block",
"textures": {
"particle": "block/white_concrete",
"texture": "block/white_concrete"
},
"elements": [
{
"from": [6, 0, 0],
"to": [10, 16, 6],
"faces": {
"north": {"uv": [6, 0, 10, 16], "texture": "#texture"},
"east": {"uv": [10.5, 0, 16, 16], "texture": "#texture"},
"south": {"uv": [6, 0, 10, 16], "texture": "#texture"},
"west": {"uv": [0, 0, 5.5, 16], "texture": "#texture"},
"up": {"uv": [6, 0, 10, 5.5], "texture": "#texture"},
"down": {"uv": [6, 10.5, 10, 16], "texture": "#texture"}
}
}
]
}
@@ -0,0 +1,6 @@
{
"parent": "wheat_plus:block/rail_transit_sign/sign_a_base_post",
"textures": {
"texture": "block/black_concrete"
}
}
@@ -0,0 +1,6 @@
{
"parent": "wheat_plus:block/rail_transit_sign/sign_a_base_side",
"textures": {
"texture": "block/black_concrete"
}
}
@@ -0,0 +1,6 @@
{
"parent": "wheat_plus:block/rail_transit_sign/sign_a_base_post",
"textures": {
"texture": "block/white_concrete"
}
}
@@ -0,0 +1,6 @@
{
"parent": "wheat_plus:block/rail_transit_sign/sign_a_base_side",
"textures": {
"texture": "block/white_concrete"
}
}
@@ -0,0 +1,97 @@
{
"credit": "Created by Frost-ZX using Blockbench.",
"parent": "block/block",
"textures": {
"particle": "block/black_concrete",
"board": "block/black_concrete",
"iron": "block/iron_block"
},
"elements": [
{
"name": "Board",
"from": [0, 0.5, 6],
"to": [16, 15.5, 6.5],
"faces": {
"north": {"uv": [0, 0.5, 16, 15.5], "texture": "#board"},
"east": {"uv": [9.5, 0.5, 10, 15.5], "texture": "#board"},
"south": {"uv": [0, 0.5, 16, 15.5], "texture": "#board"},
"west": {"uv": [6, 0.5, 6.5, 15.5], "texture": "#board"},
"up": {"uv": [0, 6, 16, 6.5], "texture": "#board"},
"down": {"uv": [0, 9.5, 16, 10], "texture": "#board"}
}
},
{
"name": "Iron_Core",
"from": [0, 0.25, 6.5],
"to": [16, 15.75, 9.5],
"faces": {
"north": {"uv": [0, 0.25, 16, 15.75], "texture": "#iron"},
"east": {"uv": [6.5, 0.25, 9.5, 15.75], "texture": "#iron"},
"south": {"uv": [0, 0.25, 16, 15.75], "texture": "#iron"},
"west": {"uv": [6.5, 0.25, 9.5, 15.75], "texture": "#iron"},
"up": {"uv": [0, 6.5, 16, 9.5], "texture": "#iron"},
"down": {"uv": [0, 6.5, 16, 9.5], "texture": "#iron"}
}
},
{
"name": "Iron_Side",
"from": [0, 0, 6.5],
"to": [16, 16, 7],
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#iron"},
"east": {"uv": [9, 0, 9.5, 16], "texture": "#iron"},
"south": {"uv": [0, 0, 16, 16], "texture": "#iron"},
"west": {"uv": [6.5, 0, 7, 16], "texture": "#iron"},
"up": {"uv": [0, 6.5, 16, 7], "texture": "#iron"},
"down": {"uv": [0, 9, 16, 9.5], "texture": "#iron"}
}
},
{
"name": "Iron_Center",
"from": [0, 0, 7.25],
"to": [16, 16, 8.75],
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#iron"},
"east": {"uv": [7.25, 0, 8.75, 16], "texture": "#iron"},
"south": {"uv": [0, 0, 16, 16], "texture": "#iron"},
"west": {"uv": [7.25, 0, 8.75, 16], "texture": "#iron"},
"up": {"uv": [0, 7.25, 16, 8.75], "texture": "#iron"},
"down": {"uv": [0, 7.25, 16, 8.75], "texture": "#iron"}
}
},
{
"name": "Iron_Side",
"from": [0, 0, 9],
"to": [16, 16, 9.5],
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#iron"},
"east": {"uv": [6.5, 0, 7, 16], "texture": "#iron"},
"south": {"uv": [0, 0, 16, 16], "texture": "#iron"},
"west": {"uv": [9, 0, 9.5, 16], "texture": "#iron"},
"up": {"uv": [0, 9, 16, 9.5], "texture": "#iron"},
"down": {"uv": [0, 6.5, 16, 7], "texture": "#iron"}
}
},
{
"name": "Board",
"from": [0, 0.5, 9.5],
"to": [16, 15.5, 10],
"faces": {
"north": {"uv": [0, 0.5, 16, 15.5], "texture": "#board"},
"east": {"uv": [6, 0.5, 6.5, 15.5], "texture": "#board"},
"south": {"uv": [0, 0.5, 16, 15.5], "texture": "#board"},
"west": {"uv": [9.5, 0.5, 10, 15.5], "texture": "#board"},
"up": {"uv": [0, 9.5, 16, 10], "texture": "#board"},
"down": {"uv": [0, 6, 16, 6.5], "texture": "#board"}
}
}
],
"groups": [
{
"name": "Guidance",
"origin": [8, 8, 8],
"color": 0,
"children": [0, 1, 2, 3, 4, 5]
}
]
}
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"particle": "wheat_plus:block/road/base", "particle": "wheat_plus:block/road/base",
"texture": "wheat_plus:block/road/base", "texture": "wheat_plus:block/road/base",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"particle": "wheat_plus:block/road/base", "particle": "wheat_plus:block/road/base",
"texture": "wheat_plus:block/road/base", "texture": "wheat_plus:block/road/base",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"particle": "wheat_plus:block/road/base", "particle": "wheat_plus:block/road/base",
"texture": "wheat_plus:block/road/base", "texture": "wheat_plus:block/road/base",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"particle": "wheat_plus:block/road/base", "particle": "wheat_plus:block/road/base",
"base": "wheat_plus:block/road/base", "base": "wheat_plus:block/road/base",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"parent": "wheat_plus:block/base/normal_ao_off", "parent": "block/block",
"textures": { "textures": {
"particle": "wheat_plus:block/road/base", "particle": "wheat_plus:block/road/base",
"base": "wheat_plus:block/road/base", "base": "wheat_plus:block/road/base",
@@ -1,6 +1,6 @@
{ {
"credit": "Created by Frost-ZX using Blockbench.", "credit": "Created by Frost-ZX using Blockbench.",
"ambientocclusion": false, "ambientocclusion": true,
"display": { "display": {
"thirdperson_righthand": { "thirdperson_righthand": {
"rotation": [70, 0, 0], "rotation": [70, 0, 0],
Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 835 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB