4.1 方块介绍

方块


方块对于Minecraft显然是必不可缺的。它们构成了所有的地形、建筑和机械。如果你对制作一个模组感兴趣,你会有想要往里面加入一些方块的机会。这个页面将会引导你创建方块,以及你可以对它们做的一些事情。

创建一个方块


基本方块

对于不需要特殊功能(想想圆石、木板等)的简单方块并不需要一个自定义的类。只需要实例化Block类并调用众多赋值器中的一些,你就可以创建许多不同种类的方块。例如:

  • setHardness—— 控制破坏这个方块的时间。它可以是任意值。作为对照,石头的硬度(hardness)是1.5,泥土是0.5。如果这个方块应该被设为不可破坏,可以使用setBlockUnbreakable这个方便的方法。
  • setResistance—— 控制方块的爆炸抗性。这个是与硬度分开的,但是如果 setResistance的值低于 setHardness 的5倍的话,setResistance 的值也会被替换为 setHardness 的5倍。
  • setSoundType—— 控制当方块被打击、被破坏或被放置时发出的声音。需要一个 SoundType类型的参数,相见声音页面(译者注:即本教程的效果-声音)以了解更多细节。
  • setLightLevel—— 控制方块发出的光线。注意:这个值的取值范围是0~1,不是0~15。要计算这个值,用你期望的光亮级别值除以16。例如一个光亮等级为5的方块应当传递一个 5/16f的值给这个方法。
  • setLightOpacity—— 控制透过该方块的光线会被抹除的量。不像 setLightLevel那样,这个值的范围是0~15。例如,将这项设置为3将会在每次有光线透过这个方块时将透过的光降低3个亮度等级。
  • setUnlocalizedName—— 几乎不言而喻,设置方块的未本地化名称。名字的前缀会是“tile.”并且会出于本地化的目的以“.name”作为后缀。例如 setUnlocalizedName("foo")会使得方块的世纪本地化键变为“tile.foo.name”。关于更多高级的本地化控制则需要一个自定义物品。后续我们再来讲。
  • setCreativeTab—— 控制这个方块将会落在哪一个创造模式标签中。如果方块应该在创造模式菜单中出现的话,这一项必须被调用。标签选项可以在 CreativeTabs类中找到。

所有的这些方法都是支持责任链调用的(译者注:chainable,应该是指设计模式中的责任链模式),这意味着你可以链式调用它们。要查看这个的例子,参见 Block#registerBlocks

高级方块

当然,以上只适用于极度简单的方块。如果你需要添加功能,比如玩家互动,那就需要一个自定义类了。然而,Block类有许多方法而且不幸的是并不是每一个方法都能够在这里一一文档化。阅读本节剩下的部分来了解你用方块能够做的事情。

注册方块


方块必须注册给函数。

重要: 世界中的一个方块和物品中的一个“方块”是有很大不同的。世界里的一个方块是由 IBlockState
表示的,它的行为是由Block的一个实例定义的。同时,一个物品栏里的物品是一个 ItemStack,被 Item控制着。作为 BlockItem世界之间的桥梁,ItemBlock出现了。ItemBlockItem的一个子类,它拥有一个block字段,这个字段存储着它所代表的方块的Block引用。ItemBlock作为物品定义了“方块”的一些属性,比如右键如何放置方块。不需要 ItemBlock来创建一个 Block也是有可能的(例如:minecraft:water存在一个方块,但是却没有对应的物品。因此它不可能像一个物品被手持。)
当一个方块被注册的时候,只有一个方块被注册。这个方块并不会自动拥有一个 ItemBlock。要为一个方块创建一个 ItemBlock,应当使用 new ItemBlock(block).setRegistryName(block.getRegistryName())。未本地化的名字也跟方块的一致。也可以用ItemBlock的子类。只要一个 ItemBlock为一个 方块注册了,就可以使用 Item.getItemFromBlock来获取它。如果没有这个 Block类对应的 ItemBlock类, Item.getItemFromBlock将会返回null,所以当你不确定一个 Block类有没有对应的 ItemBlock类的时候,检查返回值是否是null即可。

进一步阅读


有关方块属性的信息,比如像木橱、围栏、墙以及更多,请参见方块状态(blockstates)一节。

内容概要:本文探讨了在MATLAB/SimuLink环境中进行三相STATCOM(静态同步补偿器)无功补偿的技术方法及其仿真过程。首先介绍了STATCOM作为无功功率补偿装置的工作原理,即通过调节交流电压的幅值和相位来实现对无功功率的有效管理。接着详细描述了在MATLAB/SimuLink平台下构建三相STATCOM仿真模型的具体步骤,包括创建新模型、添加电源和负载、搭建主电路、加入控制模块以及完成整个电路的连接。然后阐述了如何通过对STATCOM输出电压和电流的精确调控达到无功补偿的目的,并展示了具体的仿真结果分析方法,如读取仿真数据、提取关键参数、绘制无功功率变化曲线等。最后指出,这种技术可以显著提升电力系统的稳定性与电能质量,展望了STATCOM在未来的发展潜力。 适合人群:电气工程专业学生、从事电力系统相关工作的技术人员、希望深入了解无功补偿技术的研究人员。 使用场景及目标:适用于想要掌握MATLAB/SimuLink软件操作技能的人群,特别是那些专注于电力电子领域的从业者;旨在帮助他们学会建立复杂的电力系统仿真模型,以便更好地理解STATCOM的工作机制,进而优化实际项目中的无功补偿方案。 其他说明:文中提供的实例代码可以帮助读者直观地了解如何从零开始构建一个完整的三相STATCOM仿真环境,并通过图形化的方式展示无功补偿的效果,便于进一步的学习与研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值