大型物品API

大型物品API

一个非常简单的库,允许开发者让物品占用更多的库存格子。

一个简单易用的库模组,允许模组开发者让他们的物品占用更多背包空间……无论出于何种原因你想要让玩家生活更艰难。

对于玩家

如果仅作为依赖项安装或单独安装,该模组不会产生任何效果!

对于模组开发者

入门指南:

  • 将 .jar 文件导入项目根文件夹(或根文件夹下的任何子文件夹)
  • 在 build.gradle 的 dependencies 块中添加以下行:
modImplementation(files("路径/big-items-a1.2.3.jar"))

使用方法:

  • 在物品类中实现 silly.homak.bigitems.interfaces.IBigItem 接口 大物品类示例

IBigItem:

  • 要设置物品的缩放比例,覆盖 getScale() 数组方法,必须返回一个包含两个整数的数组,分别代表物品在 X 轴和 Y 轴方向上的格子缩放尺寸。

    如何缩放物品

  • 大物品会有一个渲染背景来显示其实际缩放尺寸,其颜色基于物品纹理的平均颜色(忽略透明像素)。要显式设置背景颜色,覆盖 getColor() 方法,必须返回一个整型颜色值。

    具有自定义背景颜色的物品

  • 接口中包含一个布尔值 isScaled() 方法,返回物品是否为大物品,在物品位于快捷栏或合成方块等场景下返回 false,此方法需在客户端侧调用。

其他:

TextureUtils:

  • 包含一组处理整型颜色值的辅助方法:
    • darkenColor:降低整型颜色的亮度,接受一个整型颜色和一个双精度因子(必须为 0 到 1 之间的小数,1 表示无效果,0 表示完全黑色)。
    • fadeColor:降低整型颜色的透明度,参数同上。
    • desaturateColor:降低整型颜色的饱和度,参数同上。
    • getAverageColor:返回物品纹理中所有像素的数学平均颜色,忽略透明度。