-
Notifications
You must be signed in to change notification settings - Fork 9
For Developer (API Document)
RedLime edited this page Sep 25, 2021
·
10 revisions
Since the 2.0 update, an API has been created for the Detail Armor Bar. This API provides custom armor bars for custom armor.
repositories {
maven {
url "https://cursemaven.com"
}
}
dependencies {
//1.17.1 forge - "curse.maven:detailab-520755:3470830"
//1.16.5 forge - "curse.maven:detailab-520755:3470828"
implementation fg.deobf("curse.maven:detailab-520755:3470830")
}
dependencies {
//1.17.1 fabric - "curse.maven:detailab-506898:3470827"
//1.16.5 fabric - "curse.maven:detailab-506898:3470826"
modImplementation "curse.maven:detailab-506898:3470827"
}
Use
DetailArmorBarAPI.customArmorBarBuilder().armor(ArmorItem...).render([Render Option]).register()
to register your armor.
Use
DetailArmorBarAPI.customArmorBarBuilder().item(Item).render([Render Option]).register()
to register your wearable item.
Render options are based on Function.
Therefore, a conditional expression can be given according to the situation. For this, an ItemStack is provided, and this ItemStack represents the item equipped by the player.
The texture of the armor bar is 9px x 9px
in size.
new ArmorBarRenderManager(texture, textureWidth, textureHeight, new TextureOffset(offsetX, offsetY), new TextureOffset(halfOffsetX, halfOffsetY), new TextureOffset(outlineOffsetX, outlineOffsetY), new TextureOffset(halfOutlineOffsetX, halfOutlineOffsetY));
new ArmorBarRenderManager(texture, textureWidth, textureHeight, new TextureOffset(offsetX, offsetY), new TextureOffset(halfOffsetX, halfOffsetY), new TextureOffset(outlineOffsetX, outlineOffsetY), new TextureOffset(halfOutlineOffsetX, halfOutlineOffsetY), new Color());
new ItemBarRenderManager(texture, textureWidth, textureHeight, new TextureOffset(offsetX, offsetY), new TextureOffset(outlineOffsetX, outlineOffsetY), true);
new ItemBarRenderManager(texture, textureWidth, textureHeight, new TextureOffset(offsetX, offsetY), new TextureOffset(outlineOffsetX, outlineOffsetY), true, new Color());
//I recommend use on client Initialize. However, API have no restrictions on when to register it.
@Override
public void onInitializeClient() {
// if you are using Forge version
// ResourceLocation texture = new ResourceLocation(MOD_ID, "textures/needsyourtexture.png")
Identifier texture = new Identifier(MOD_ID, "textures/needsyourtexture.png")
DetailArmorBarAPI.customItemBarBuilder().item(Items.CREEPER_HEAD)
.render((ItemStack itemStack) -> new ItemBarRenderManager(texture, 128, 128, new TextureOffset(63, 0), new TextureOffset(72, 0), true, Color.WHITE))
.register();
}