3,417
个编辑
MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
(→注册表: // Edit via Wikiplus) |
(→享元设计模式: // Edit via Wikiplus) |
||
| 第89行: | 第89行: | ||
意义就是:节省内存开销啊。如果不重复利用实例,你确定你的电脑有那么大内存去分配给数量爆炸的对象吗? | 意义就是:节省内存开销啊。如果不重复利用实例,你确定你的电脑有那么大内存去分配给数量爆炸的对象吗? | ||
提一句,既然要重复利用实例,那么显然我们需要缓存这些注册项的对象。你可以在<code>net.minecraft.init</code> | 提一句,既然要重复利用实例,那么显然我们需要缓存这些注册项的对象。你可以在<code>net.minecraft.init</code>包下找到一些类:Items、Blocks、PotionTypes等等,这些类中有许多的静态字段,都是对这些需要重复利用的对象的引用,需要的时候直接拿来用即可。不过也有例外——比如,没有Potions这个类,实际上我们如果想要获取原版中的Potion实例,应该用MobEffects这个类。 | ||
那又有人要问了:那么Minecraft在处理性质不同、但是代表的对象相同的事物的逻辑的时候,如何区分呢?对于这个问题,不同种类的注册项的处理都不同。对于Item来说,Minecraft会随建随用一个ItemStack对象;对于Block来说,有BlockPos这个类可以用。这些在后面会具体讲到。 | 那又有人要问了:那么Minecraft在处理性质不同、但是代表的对象相同的事物的逻辑的时候,如何区分呢?对于这个问题,不同种类的注册项的处理都不同。对于Item来说,Minecraft会随建随用一个ItemStack对象;对于Block来说,有BlockPos这个类可以用。这些在后面会具体讲到。 | ||