Skip to content

Instantly share code, notes, and snippets.

@Shadows-of-Fire
Last active April 25, 2018 00:24
Show Gist options
  • Save Shadows-of-Fire/0bd603b822224698ecbe3391939f700c to your computer and use it in GitHub Desktop.
Save Shadows-of-Fire/0bd603b822224698ecbe3391939f700c to your computer and use it in GitHub Desktop.
import mymod.Main;
import mymod._01_ChapterOne_ForgeYourSword.CustomMonster;
import mymod._07_ChapterSeven_ExplosionsAndSpecialEffects.EntityGrenade;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderItem;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.client.registry.IRenderFactory;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class RenderGrenadeCustom extends Render<EntityGrenade>
{
@ItemStackHolder("foundations:my_grenade");
public static final ItemStack grenadeStack = ItemStack.EMPTY;
public RenderGrenadeCustom(RenderManager renderManager)
{
super(renderManager);
}
@Override
public void doRender(EntityGrenade entity, double x, double y, double z, float entityYaw, float partialTicks)
{
GlStateManager.pushMatrix();
GlStateManager.translate(x, y, z);
GlStateManager.enableRescaleNormal();
GlStateManager.rotate(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GlStateManager.rotate((float)(this.renderManager.options.thirdPersonView == 2 ? -1 : 1) * this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(180.0F, 0.0F, 1.0F, 0.0F);
if (this.renderOutlines)
{
GlStateManager.enableColorMaterial();
GlStateManager.enableOutlineMode(this.getTeamColor(entity));
}
this.itemRenderer.renderItem(grenadeStack, ItemCameraTransforms.TransformType.GROUND);
if (this.renderOutlines)
{
GlStateManager.disableOutlineMode();
GlStateManager.disableColorMaterial();
}
GlStateManager.disableRescaleNormal();
GlStateManager.popMatrix();
super.doRender(entity, x, y, z, entityYaw, partialTicks);
}
@Override
protected ResourceLocation getEntityTexture(EntityGrenade entity) {
return null;
}
}
//Register thing via RenderingRegistry.registerEntityRenderingHandler(EntityGrenade.class, m -> new RenderGrenadeCustom(m));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment