LIUtils API的内容较多较杂,从GUI、渲染辅助到方块、物品、实体的实现都有,现分类简要介绍如下:
(详细的自然是去看源码啦)
1、一般辅助
api.util.GenericUtils
各种各样的辅助函数。在list里搜寻元素,实体的光线跟踪,获取某个范围内的方块信息……
api.util.EntityUtils
关于实体的辅助函数。计算距离,计算体积,进行范围攻击,……
2、方块、物品、实体
api.block.BlockDirectionedMulti
一类有朝向(NSWE四面)并且带有多方块结构的方块基类。你可以用它的addSubBlock(x, y, z)轻松定义该方块的结构。
当然,提供了对应的渲染器:api.client.render.RenderTileDirMulti
api.entity.EntityBullet
子弹实体。允许定义包括伤害、准确度等等常用的数据。
api.entity.EntityTrailFX
尾迹渲染实体。可以(在客户端)把它绑定到一个实体上,并且把它的轨迹渲染出来,可以有很酷炫的效果哟~~
3、GUI
LIUtils里面重新编写了一个简易的GUI系统。虽然比不上SWT和Swing,但是肯定比mc自己的好用……最重要的是允许很复杂的自定渲染!
api.client.gui.LIGuiScreen
GUI屏幕,接管LIGuiPage的绘制、交互更新操作。
api.client.gui.LIGuiPage
单个GUI页面。可以在一个GUI屏幕中同时放入多个GuiPage。在Page里进行背景渲染,以及加入LIGuiPart(控件)。
api.client.gui.part.*
各种各样的控件,定义了自己的渲染和交互更新的接口。
4、渲染辅助
LIUtils中最充实的部分大概就是它了。
api.client.model.*
定义了Item和TileEntity对应的模型接口,并且为Forge的obj模型渲染提供了简单的包装(IModelCustom)
api.client.render.RenderCrossedProjectile
投射物类型实体的十字交叉贴图渲染。
api.client.render.RenderIcon/RenderIconAnimated
将实体渲染为一个始终面向玩家的贴图(类似雪球和火球),支持png序列动画。
api.client.render.RenderModel/RenderTileEntityModel/RenderModelItem
实体/TileEntity/物品的模型渲染支持。
api.client.util.RenderUtil
各种各样的渲染辅助。绘制附魔特效,快速绑定贴图,将Vertex(LIUtils自定顶点类)加入渲染队列,……
5、其他
api.register.Configurable
用一个Annotation标记某个静态域,然后你就可以直接用config加载它了!比起每个域都手动读取config来说明显是很优美的实现方式
api.client.key.IKeyHandler
键位侦听的包装~~使用LIKeyProcess.register函数来进行键位侦听的注册,相比比mc自己的侦听类好用得多~
core.debug.*
提供了可视化数值修改的有效方法,拿来调试渲染器什么的最方便了,具体的看注释吧~~
|