Skip to content

Instantly share code, notes, and snippets.

@FusionLord
Created December 4, 2016 09:51
public class Sword {
private OBJModel modelSword;
private OBJModel.OBJBakedModel bakedModelObj;
private final ResourceLocation texture = new ResourceLocation(ModInfo.MOD_ID, "sword/Benihime");
@SideOnly(Side.CLIENT)
public Sword() {
try {
modelSword = (OBJModel) OBJLoader.INSTANCE.loadModel(new ResourceLocation(ModInfo.MOD_ID, "textures/sword/Benihime.obj"));
Function<ResourceLocation, TextureAtlasSprite> textureGetter = location -> Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite(texture.toString());
bakedModelObj = (OBJModel.OBJBakedModel) modelSword.bake(modelSword.getDefaultState(), Attributes.DEFAULT_BAKED_FORMAT, textureGetter::apply);
} catch (Exception ex) {
ex.printStackTrace();
}
}
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void RenderPlayer(RenderPlayerEvent.Post event)
{
if (bakedModelObj != null) {
GlStateManager.pushMatrix();
GlStateManager.translate(event.getX(), event.getY(), event.getZ());
GlStateManager.scale(10, 10, 10);
Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModelBrightnessColor(bakedModelObj, 1, 0, 0, 0);
GlStateManager.popMatrix();
}
else
LogHelper.info(">>>: Baked model == null");
}
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void TextureStitchEvent(TextureStitchEvent event) {
event.getMap().registerSprite(texture);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment