Fix Overlays not Working in Dev Env or Matching Hand Model

This commit is contained in:
Kam committed 2024-04-08 13:44:42 -04:00
1 parent 9a090980a7
commit 564f494b73
2 files changed
+27 -7

No files matched your search

@@ -1,9 +1,11 @@
package noppes.npcs.client;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.eventhandler.EventPriority;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
@@ -11,10 +13,7 @@ import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.entity.RendererLivingEntity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.MouseEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderLivingEvent;
import net.minecraftforge.client.event.RenderPlayerEvent;
import net.minecraftforge.client.event.*;
import net.minecraftforge.event.entity.living.LivingEvent;
import noppes.npcs.client.gui.customoverlay.OverlayCustom;
import noppes.npcs.client.renderer.MarkRenderer;
@@ -30,6 +29,7 @@ import java.util.HashMap;
import java.util.Map;
public class ClientEventHandler {
public static final RenderCNPCPlayer renderCNPCSelf = new RenderCNPCPlayer();
public static final RenderCNPCPlayer renderCNPCPlayer = new RenderCNPCPlayer();
public static HashMap<Integer,Long> disabledButtonTimes = new HashMap<>();
public static float partialHandTicks;
@@ -163,6 +163,16 @@ public class ClientEventHandler {
ClientEventHandler.renderingPlayer = event.entityPlayer;
}
@SubscribeEvent(priority= EventPriority.LOWEST)
public void pre(RenderPlayerEvent.Pre event){
if(!(event.entity instanceof AbstractClientPlayer))
return;
renderCNPCPlayer.modelBipedMain = event.renderer.modelBipedMain;
renderCNPCPlayer.modelArmor = event.renderer.modelArmor;
renderCNPCPlayer.modelArmorChestplate = event.renderer.modelArmorChestplate;
}
@SubscribeEvent
public void onRenderPlayer(RenderPlayerEvent.Post event) {
EntityPlayer player = event.entityPlayer;
@@ -6,11 +6,16 @@ import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.entity.RenderPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MathHelper;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import static noppes.npcs.client.ClientEventHandler.renderCNPCSelf;
public class RenderCNPCHand extends ItemRenderer {
/** A reference to the Minecraft object. */
private Minecraft mc;
@@ -45,8 +50,6 @@ public class RenderCNPCHand extends ItemRenderer {
GL11.glRotatef((entityclientplayermp.rotationYaw - f4) * 0.1F, 0.0F, 1.0F, 0.0F);
ItemStack itemstack = this.itemToRender;
RenderCNPCPlayer renderCNPCPlayer = new RenderCNPCPlayer();
int i = this.mc.theWorld.getLightBrightnessForSkyBlocks(MathHelper.floor_double(entityclientplayermp.posX), MathHelper.floor_double(entityclientplayermp.posY), MathHelper.floor_double(entityclientplayermp.posZ), 0);
int j = i % 65536;
int k = i / 65536;
@@ -58,6 +61,8 @@ public class RenderCNPCHand extends ItemRenderer {
float f10;
float f13;
Render render;
RenderPlayer renderplayer;
if (itemstack == null && !entityclientplayermp.isInvisible())
{
@@ -84,7 +89,12 @@ public class RenderCNPCHand extends ItemRenderer {
f10 = 1.0F;
GL11.glScalef(f10, f10, f10);
renderCNPCPlayer.renderFirstPersonArmOverlay(this.mc.thePlayer);
render = RenderManager.instance.getEntityRenderObject(this.mc.thePlayer);
renderplayer = (RenderPlayer) render;
renderCNPCSelf.modelBipedMain = renderplayer.modelBipedMain;
renderCNPCSelf.modelArmor = renderplayer.modelArmor;
renderCNPCSelf.modelArmorChestplate = renderplayer.modelArmorChestplate;
renderCNPCSelf.renderFirstPersonArmOverlay(this.mc.thePlayer);
GL11.glPopMatrix();
}