Merge branch 'dev' into player-anims

This commit is contained in:
Luis C.M committed 2023-01-09 15:11:04 -06:00
commit d7d43f74b9
5 files changed
+34 -32

No files matched your search

+1 -1
Submodule src/api updated: 75ef3578f6...ed926020ab.
@@ -77,11 +77,19 @@ public class NoppesUtil {
public static void updateSkinOverlayData(EntityPlayer player, NBTTagCompound compound) {
HashMap<Integer, SkinOverlay> skinOverlays = new HashMap<>();
HashMap<Integer, SkinOverlay> oldOverlays = new HashMap<>();
NBTTagList skinOverlayList = compound.getTagList("SkinOverlayData",10);
if (Client.skinOverlays.containsKey(player.getUniqueID())) {
oldOverlays = Client.skinOverlays.get(player.getUniqueID());
}
for (int i = 0; i < skinOverlayList.tagCount(); i++) {
int tagID = skinOverlayList.getCompoundTagAt(i).getInteger("SkinOverlayID");
skinOverlays.put(tagID, (SkinOverlay) SkinOverlay.overlayFromNBT(skinOverlayList.getCompoundTagAt(i)));
SkinOverlay overlay = (SkinOverlay) SkinOverlay.overlayFromNBT(skinOverlayList.getCompoundTagAt(i));
if (oldOverlays.containsKey(tagID)) {
overlay.ticks = oldOverlays.get(tagID).ticks;
}
skinOverlays.put(tagID,overlay);
}
Client.skinOverlays.put(player.getUniqueID(), skinOverlays);
}
@@ -27,7 +27,8 @@ import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class RenderCNPCPlayer extends RenderPlayer {
public RenderCNPCHand itemRenderer = new RenderCNPCHand(Minecraft.getMinecraft());
public Minecraft mc = Minecraft.getMinecraft();
public RenderCNPCHand itemRenderer = new RenderCNPCHand(mc);
public float tempRenderPartialTicks;
private float debugCamFOV;
private float prevDebugCamFOV;
@@ -43,48 +44,45 @@ public class RenderCNPCPlayer extends RenderPlayer {
this.setRenderManager(RenderManager.instance);
}
private boolean preRenderOverlay(EntityPlayer player, ResourceLocation overlayLocation, boolean glow, boolean blend,
float alpha, float size, float speedX, float speedY, float scaleX, float scaleY,
float offsetX, float offsetY, float offsetZ) {
if (overlayLocation.getResourcePath().isEmpty())
private boolean preRenderOverlay(SkinOverlay overlayData, EntityPlayer player) {
if (overlayData.location.getResourcePath().isEmpty())
return false;
try {
this.bindTexture(overlayLocation);
this.bindTexture(overlayData.location);
} catch (Exception exception) {
return false;
}
float partialTickTime = ClientEventHandler.partialHandTicks;
// Overlay & Glow
GL11.glEnable(GL11.GL_BLEND);
if (blend) {
if (overlayData.blend) {
GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE);
} else {
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
}
GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569F);
if (glow) {
if (overlayData.glow) {
GL11.glDisable(GL11.GL_LIGHTING);
Minecraft.getMinecraft().entityRenderer.disableLightmap((double)0);
RenderHelper.disableStandardItemLighting();
}
GL11.glColor4f(1.0F, 1.0F, 1.0F, alpha);
GL11.glColor4f(1.0F, 1.0F, 1.0F, overlayData.alpha);
GL11.glDepthMask(!player.isInvisible());
GL11.glPushMatrix();
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glLoadIdentity();
GL11.glTranslatef(partialTickTime * 0.001F * speedX, partialTickTime * 0.001F * speedY, 0.0F);
GL11.glScalef(scaleX, scaleY, 1.0F);
GL11.glTranslatef(overlayData.ticks * 0.001F * overlayData.speedX, overlayData.ticks * 0.001F * overlayData.speedY, 0.0F);
GL11.glScalef(overlayData.scaleX, overlayData.scaleY, 1.0F);
overlayData.ticks++;
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glTranslatef(offsetX, offsetY, offsetZ);
GL11.glScalef(size, size, size);
GL11.glTranslatef(overlayData.offsetX, overlayData.offsetY, overlayData.offsetZ);
GL11.glScalef(overlayData.size, overlayData.size, overlayData.size);
return true;
}
@@ -123,11 +121,9 @@ public class RenderCNPCPlayer extends RenderPlayer {
}
}
if (!preRenderOverlay(player, overlayData.location, overlayData.glow, overlayData.blend, overlayData.alpha, overlayData.size,
overlayData.speedX, overlayData.speedY, overlayData.scaleX, overlayData.scaleY,
overlayData.offsetX, overlayData.offsetY, overlayData.offsetZ
))
continue;;
if (!this.preRenderOverlay(overlayData, player))
continue;
this.modelBipedMain.render(p_77036_1_, p_77036_2_, p_77036_3_, p_77036_4_, p_77036_5_, p_77036_6_, p_77036_7_);
postRenderOverlay();
}
@@ -290,10 +286,7 @@ public class RenderCNPCPlayer extends RenderPlayer {
}
}
if (!preRenderOverlay(player, overlayData.location, overlayData.glow, overlayData.blend, overlayData.alpha, overlayData.size,
overlayData.speedX, overlayData.speedY, overlayData.scaleX, overlayData.scaleY,
overlayData.offsetX, overlayData.offsetY, overlayData.offsetZ
))
if (!this.preRenderOverlay(overlayData, player))
continue;
if (gender >= 2.0F) {
@@ -420,11 +413,9 @@ public class RenderCNPCPlayer extends RenderPlayer {
}
}
if (!preRenderOverlay(player, overlayData.location, overlayData.glow, overlayData.blend, overlayData.alpha, overlayData.size,
overlayData.speedX, overlayData.speedY, overlayData.scaleX, overlayData.scaleY,
overlayData.offsetX, overlayData.offsetY, overlayData.offsetZ
))
if (!this.preRenderOverlay(overlayData, player))
continue;
bipedHead.isHidden = true;
renderDBC.invoke(m, player,
(float) rot1.get(m), (float) rot2.get(m), (float) rot3.get(m),
@@ -24,6 +24,9 @@ public class SkinOverlay implements ISkinOverlay {
public float offsetY = 0.0F;
public float offsetZ = 0.0F;
//Client-sided
public long ticks = 0;
public SkinOverlay() {
}
@@ -137,7 +137,7 @@ public class NBTJsonUtil {
s += json.cut(1);
}
s = s.trim().toLowerCase();
if(s.isEmpty())
if(s.isEmpty() || s.contains("bytes]"))
return null;
try{
if(s.endsWith("d")){