当前位置: 首页 > wzjs >正文

网站建设百度优化网站推广多少钱一年

网站建设百度优化,网站推广多少钱一年,山西太原发现4例阳性,wordpress花园主题这是适用于Minecraft Java版1.21.4的Fabric模组开发系列教程专栏第十二章——方块状态。想要阅读其他内容,请查看或订阅上面的专栏。 方块状态(blockstate) 指的是方块在世界中出现时展现的形式。有些复杂的方块可以与玩家交互,在此期间方块的状态可能因…

这是适用于Minecraft Java版1.21.4的Fabric模组开发系列教程专栏第十二章——方块状态。想要阅读其他内容,请查看或订阅上面的专栏。

方块状态(blockstate) 指的是方块在世界中出现时展现的形式。有些复杂的方块可以与玩家交互,在此期间方块的状态可能因为玩家的交互而改变;或者是随时间推移,方块中某些数据的改变而导致方块状态的改变;又或者是世界、实体或者物品中某些数据发生改变而导致方块状态的改变。

在绝大多数情况下,方块状态改变的直接体现是方块外观的变化。例如,耕地由于周围有水从干燥变为湿润,或者是熔炉从最开始的熄灭状态,再到放入燃料后改变为燃烧状态。这些都是方块外观的变化,且均由方块状态的改变而引起。

某些方块状态已经由Minecraft API提前编写到位。例如,我们在本章中将创建一个带有多状态的方块——冰霜原木(ice_wood),它与其他原木没有差异,只是纹理有所变化。我们需要使用Minecraft API中提供的,带有AXIS属性的自定义方块类来创建“冰霜原木”,使其能够在其他方块侧面放置时将方块进行旋转,使其顶部始终裸露在外。

在开始前,请确保已经掌握了方块创建的基本流程。如有需要,请参考我的世界Java版1.21.4的Fabric模组开发教程(十一)创建方块。

如果使用Minecraft API提供的自定义方块类来创建带有多状态的自定义方块,通常需要完成以下步骤:

  • 直接在方块注册类中注册方块;
  • 创建模型文件、模型描述文件和方块纹理
  • 创建方块状态定义文件;
  • 在语言文件中为方块添加翻译键值对并将方块添加到物品组中;

直接在方块注册类中注册方块

想创建类似原木的方块,我们可以在方块注册类中直接使用PillarBlock注册方块。部分设置需要在配置文件中完成。

在方块注册类中声明静态常量ICE_WOOD,使用封装的register()方法对其初始化;

public static final Block ICE_WOOD = register("ice_wood",PillarBlock::new,AbstractBlock.Settings.create().sounds(BlockSoundGroup.WOOD),true);

参数列表中按顺序依次设置了物品名为“ice_wood”、抽象方块设置内部类对象和方块对象的函数式PillarBlock::new、交互声音为BlockSoundGroup.WOOD并要求注册方块对应的方块物品。

关于封装的register()方法的使用,请参考我的世界Java版1.21.4的Fabric模组开发教程(十一)创建方块。


柱状方块类PillarBlock

PillarBlock类是Minecraft API中提供的自定义方块类,用于创建形如柱子、树桩等形状的方块。这种方块有以下特点:

  • 方块的横截面,即顶部,与方块的底部纹理相同;
  • 方块的前后左右四个面的纹理相同,但与顶部和底部不同;
  • 方块放置在其他方块的顶部或底部时,方块以默认的状态呈现;
  • 方块放置在其他方块的前后左右四个部位时,方块将以X轴或Z轴旋转,使方块处于“躺倒”的状态呈现;

PillarBlock类中,设置了AXIS属性,供开发者在模型文件中根据属性设置方块的状态;

public static final EnumProperty<Direction.Axis> AXIS = Properties.AXIS;

枚举属性类EnumProperty与属性类Properties

EnumProperty用于为方块提供用于控制方块状态的枚举型属性,声明EnumProperty对象时,需要添加泛型。在本章中暂时没有用到其中的方法,如果后续使用到相关方法将在此处补充。

Properties定义了游戏中用到的所有方块和流体的属性,是为自定义方块创建与游戏中相同的属性时用到的类。其中声明了大量的静态常量,供游戏中的方块和流体使用。例如,这里我们用到了“轴”属性;

public static final EnumProperty<Direction.Axis> AXIS = EnumProperty.of("axis", Direction.Axis.class);

空间轴内部枚举类Direction.Axis

Axis类用于表示三维空间中的坐标轴方向,它在Direciton内部类中声明,可以作为方块状态属性来控制方块状态。

Axis类中声明了三个枚举常量XYZ,分别代表立体空间的三个坐标轴方向。请添加图片描述
在立体空间直角坐标系中,Z轴沿东西走向延伸,X轴沿南北走向延伸。


创建模型文件、模型描述文件和方块纹理

现在我们为“冰霜原木”分别创建模型文件、模型描述文件和方块纹理图,这里的写法与创建物品对应的文件写法有很大出入。

1.在assets/test/models/block目录中创建ice_wood.json,代表方块的模型文件;

{"parent": "minecraft:block/cube_column","textures": {"end": "test:block/ice_wood_horizontal","side": "test:block/ice_wood"}
}

这里要使用block/cube_column父模型,代表柱状模型。按照Minecraft API中cube_column模型的约定,方块顶部和底部共用同一纹理,配置项为"end";方块的其他面共用同一纹理,配置项为"side"

2.在assets/test/items目录中创建创建ice_wood.json,代表方块的模型描述文件;

{"model": {"type": "minecraft:model","model": "test:block/ice_wood"}
}

3.在assets/test/textures/block目录中创建ice_wood.png,作为原木前后左右四个面的纹理图;

在这里插入图片描述
然后再创建ice_wood_horizontal.png,作为原木顶部和底部的纹理图。

在这里插入图片描述

创建方块状态定义文件

在这里我们为“冰霜原木”添加三种方块状态,分别是方块沿X、Y、Z轴摆放时方块的朝向。

assets/test/blockstates目录中创建ice_wood.json,作为方块状态定义文件;

{"variants": {"axis=x": {"model": "test:block/ice_wood","x": 90,"y": 90},"axis=y": {"model": "test:block/ice_wood"},"axis=z": {"model": "test:block/ice_wood","x": 90}}
}

三种变种都需要应用test:block/ice_wood模型且:

  • "axis=x":当方块沿X轴摆放(东西走向),将方块绕X轴顺时针旋转90度,然后再绕Y轴顺时针旋转90度;
  • "axis=y":当方块沿Y轴摆放,保持原状;
  • "axis=z":当方块沿Z轴摆放(南北走向),将方块绕X轴顺时针旋转90度;

在语言文件中为方块添加翻译键值对并将方块添加到物品组中

现在我们为方块添加中文翻译,并将其添加到指定物品组中。

1.在语言文件zh-cn.json中添加一条键值对;

{..."item.test.ice_wood": "冰霜原木",...
}

将方块翻译为“冰霜原木”。

2.在入口点类的onInitialize()方法中,将方块添加到指定物品组中;

ItemGroupEvents.modifyEntriesEvent(CUSTOM_ITEM_GROUP_KEY).register((itemGroup) -> {//...itemGroup.add(ModBlocks.ICE_WOOD.asItem());//...});

启动游戏测试

现在可以启动游戏,测试方块是否正常工作。

1.打开创造模式物品栏,找到“冰霜原木”;
在这里插入图片描述
可以看到物品名和物品纹理显示正常;

2.将其放置在地面上,并沿X轴和Z轴各摆放一个;
在这里插入图片描述
方块的朝向和显示均正常。

本章小结

本章详细阐述了创建特定方块状态的自定义方块的步骤。本文难度较小,篇幅较短,所有内容均基于创建方块的基本步骤,因此阅读本章需要有创建方块的相关知识基础。感谢各位的阅读,有兴趣可以订阅此专栏!

http://www.dtcms.com/wzjs/400659.html

相关文章:

  • 那个网站可以找人做设计广东省广州市白云区
  • 做公司网站 需要注意什么服务器域名怎么注册
  • 江苏seo旺道seo推广
  • 做二手车的网站百度seo优化方法
  • 浙江省住房建设局网站首页百度搜索优化怎么做
  • 青浦网站建设百度推广登录后台登录入口
  • 手工艺品外贸公司网站建设方案百度热搜风云榜
  • 做网站找我要服务器密码世界500强企业
  • 做网站每年需要多少维护费西部数码域名注册官网
  • 在那个网站做驾校模拟题企业网络推广技巧
  • 国家企业注册信息网优化生育政策
  • 手机网站制作费用多少百度知道灰色词代发收录
  • 怎么做网站自动响应南宁百度seo软件
  • 上海建设网站的价格seo引擎优化外包
  • ppt模板官网做seo用哪种建站程序最好
  • 自己做视频类网站用哪个cms网页seo搜索引擎优化
  • 网站目标定位分析域名解析网站
  • 软件资源网站推荐网络工具
  • 政府网站是哪个建设的南宁网
  • 学校网站模板 中文谷歌搜索引擎为什么国内用不了
  • 网站建设易网拓武汉seo系统
  • 自助建网站教程上海seo顾问推推蛙
  • 做网站电话广东东莞最新情况
  • seo网站建设课程凡科网微信小程序
  • 怎样创办网站星巴克营销策划方案
  • 如何做网站网页表白网站运营主要做什么
  • 国外购物网站排行榜橘子seo
  • Dreamweaver做网站教程今日郑州头条最新新闻
  • 商检局做产地证的网站上饶seo博客
  • 优化国内访问wordpress石狮seo