概述
Bookshelf 是一个 Lib 模组,汇集一些代码、框架、实用工具和其他资源。许多模组使用本模组的代码库实现一些功能。
内容
≥1.15.2
面向玩家的内容
尽管本模组主要为模组开发者服务,但是也包含一些为玩家提供的实用功能。
调试命令:
例如通过 /bookshelf hand 获取物品 ID。
许多 数据包功能:
例如合成配方消耗物品耐久而不是直接消耗物品。
面向模组开发者的内容
序列化 JSON/网络/NBT格式;
实用方法;
注册管理器,包括非 Forge 的注册类型、调试及状态;
调试命令;
新的配方类型;
新的原料类型;
新的战利品条件类型;
新的战利品修饰器;
新的物品谓词;
更多内容请查询 GitHub 和 Wiki。
≥1.13.2
面向 Forge 注册的延迟加载;
面向指令的延迟加载;
大量实用方法;
加权注册表;
Markdown 表格生成器;
许多其他内容。
1.12.2(旧)
属性上限;
原版中一个未被注意到的变化是属性值改成了范围值。这影响了诸如生命、伤害和护甲之类的属性。这个功能将每个属性的上限提高到1024,并使每个上限可以配置。许多模组没有意识到原版的上限,因此其添加的内容变得毫无意义。它就解决了这个限制;
书架;
添加原版中的其他木材变种对应的书架。这些书架的用处和原版书架一模一样,而且具有矿物词典信息。这个功能的加入更多的是作为一个玩笑,但很多人喜欢它们;
崩溃信息;
原版游戏在崩溃信息中加入了 诙谐的信息。这个功能允许你添加自己的内容,并删除所有原版内容。模组也可以添加自己的诙谐信息;
更多的矿物词典;
一些应该在矿物词典中的原版的内容没有出现。这个功能可以实现类似让合成用的石头类型、栅栏门和床可以互换的功能。
自 2017 年起,作者删除了大部分面向玩家的原版相关内容。其中属性修复功能被分拆为独立 模组。
1.10.x
内容
BlockTileEntity:
原版 BlockContainer 的明智替代。
GuiGraphicButton:
使用图片而不是文字的小的 20x20 按钮。
OpenParticleDigging:
原版方块破坏粒子的 Open Wrapper。
铁砧配方:
轻松创建铁砧配方。
SlotArmor:
一个真正的盔甲栏,原版使用匿名内部类。
ItemBlockBasic:
用于具有 meta 值的方块的 ItemBlock 的基本实现
ItemMusicDist:
原版 ItemRecord 的 Open Wrapper。
方块状态:
包含许多常见且可复用的方块状态属性。
颜色对象:
支持 NBT、数据包等的包含颜色数据的容器。
附魔对象:
包含基础附魔信息的容器。
Milibucket:
标准 mB 比例的枚举。
ModifierOperation:
原版属性修饰符种类的枚举。
MutableString:
一个也可变的字符串。
原版颜色:
原版 16 种颜色的枚举,且具有矿物词典信息。
加权选择器:
一个创建加权注册表的灵活系统。
PropertyObject:
一个可以包含任何对象的方块属性。
实用功能
BannerUtils:
旗帜方面实用功能,用以添加旗帜堆栈和新的旗帜图案。
BlockUtils:
方块相关实用功能,例如 isFluid(Block)。
ClassUtils:
类相关的实用功能,例如 compareObjectToClass(Object, Class)。
CraftingUtils:
合成相关实用功能,例如 getShapedRecipes(ItemStack)。
EnchantmentUtils:
有关附魔相关联内容的实用功能,例如 areEnchantmentsCompatable(Enchantment, Enchantment)。
EntityUtils:
实体相关实用功能,例如 areEntitiesCloseEnough(Entity, Entity, double)。
ItemStackUtils:
物品堆相关实用内容,例如 as isValidStack(ItemStack)。
MathsUtils:
数学计算相关实用内容,例如 tryPercentage(double);
ModUtils:
Minecraft 模组相关实用功能,例如getModName(IForgeRegistryEntry.Impl>)。
NBTUtils:
例如 writeInventoryToNBT(NBTTagCompound, InventoryBasic)。
NumericUtils:
数字相关实用功能,例如 isSpecialDay(int, int)。
OreDictUtils:
对所有常见矿物词典名进行常量引用。
PlayerUtils:
玩家相关实用功能,例如 getItemCountInInv(EntityPlayer, Item)。
RenderUtils:
用于渲染和粒子的实用功能,例如 drawBlockOverlay(float, float, float, TextureAtlasSprite, int, int, int, int)。
SkullUtils:
用以创建玩家头颅的实用功能,例如 createSkull(EntityPlayer player)。
TextUtils:
文字相关实用功能,例如 wrapStringToList(String, int, boolean, List
≤1.10
马铠;
轻松为游戏添加新的马铠;
物品堆叠组件颜色;
使用命令或 NBT 改变任意物品的颜色;
ItemEnchantedEvent;
用来改变附魔行为的组件;
大大小小的多项实用功能。
为什么使用 Lib 模组?
像本模组这样的 Lib 模组可以使不相关的模组共用代码库。这大大减少了为实现特定功能或开发特定模组而造轮子所花费的大量时间和精力。与此同时,Lib 代码库的使用范围更广,社区更庞大,因此 Bug 会更少,性能表现也会更好。
画廊(≤1.10)
其他
如果你不是一个模组开发者,请使用最新正式版文件。测试版文件没有经过大量测试,可能会导致其他模组出错!
这个项目由 Nodecraft 赞助。使用兑换码:Darkhax 可享受第一个月的 30% 折扣!