mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 02:37:27 +00:00
optimize reflection for render events
This commit is contained in:
1 parent
934cc3d7cd
commit
3deb2fb884
1 file changed
+27
-17
@@ -13,7 +13,10 @@ 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.*;
|
||||
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.event.entity.living.LivingEvent;
|
||||
import noppes.npcs.client.gui.customoverlay.OverlayCustom;
|
||||
import noppes.npcs.client.renderer.MarkRenderer;
|
||||
@@ -29,6 +32,8 @@ 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<>();
|
||||
@@ -50,6 +55,16 @@ public class ClientEventHandler {
|
||||
public static HashMap<ModelRenderer,FramePart> originalValues = new HashMap<>();
|
||||
public static ModelBase playerModel;
|
||||
|
||||
private Class<?> renderPlayerJBRA;
|
||||
|
||||
public ClientEventHandler() {
|
||||
try {
|
||||
renderPlayerJBRA = Class.forName("JinRyuu.JBRA.RenderPlayerJBRA");
|
||||
} catch (ClassNotFoundException e) {
|
||||
renderPlayerJBRA = null;
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onMouse(MouseEvent event) {
|
||||
if (Minecraft.getMinecraft().currentScreen != null)
|
||||
@@ -174,12 +189,9 @@ public class ClientEventHandler {
|
||||
EntityPlayer player = event.entityPlayer;
|
||||
ClientEventHandler.renderingPlayer = null;
|
||||
|
||||
if (hasOverlays(player)) {
|
||||
try {
|
||||
Class<?> renderPlayerJBRA = Class.forName("JinRyuu.JBRA.RenderPlayerJBRA");
|
||||
if (renderPlayerJBRA.isInstance(event.renderer))
|
||||
return;
|
||||
} catch (ClassNotFoundException ignored) {}
|
||||
if (renderPlayerJBRA != null && hasOverlays(player)) {
|
||||
if(renderPlayerJBRA.isInstance(event.renderer))
|
||||
return;
|
||||
|
||||
if (!(event.renderer instanceof RenderCNPCPlayer)) {
|
||||
renderCNPCPlayer.mainModel = event.renderer.mainModel;
|
||||
@@ -212,17 +224,15 @@ public class ClientEventHandler {
|
||||
|
||||
@SubscribeEvent
|
||||
public void tryRenderDBC(RenderPlayerEvent.Specials.Post event) {
|
||||
if (hasOverlays(event.entityPlayer)) {
|
||||
try {
|
||||
Class<?> renderPlayerJBRA = Class.forName("JinRyuu.JBRA.RenderPlayerJBRA");
|
||||
if (!renderPlayerJBRA.isInstance(event.renderer))
|
||||
return;
|
||||
} catch (ClassNotFoundException ignored) {
|
||||
return;
|
||||
}
|
||||
|
||||
renderCNPCPlayer.renderDBCModel(event);
|
||||
if (renderPlayerJBRA == null || !hasOverlays(event.entityPlayer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!renderPlayerJBRA.isInstance(event.renderer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
renderCNPCPlayer.renderDBCModel(event);
|
||||
}
|
||||
|
||||
public static boolean hasOverlays(EntityPlayer player) {
|
||||
|
||||
Reference in new issue
Block a user