Fixed player skins

This commit is contained in:
Sollace 2024-12-13 17:32:21 +01:00
parent eca325fd36
commit 5728ce46bc
No known key found for this signature in database
GPG key ID: E52FACE7B5C773DB
2 changed files with 8 additions and 3 deletions

View file

@ -1,7 +1,6 @@
package com.minelittlepony.client.render.entity.state; package com.minelittlepony.client.render.entity.state;
import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.util.SkinTextures; import net.minecraft.client.util.SkinTextures;
import net.minecraft.entity.LivingEntity; import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;

View file

@ -107,6 +107,7 @@ public class NativeUtil {
if (loadedTexture instanceof NativeImageBackedTexture nibt) { if (loadedTexture instanceof NativeImageBackedTexture nibt) {
NativeImage image = nibt.getImage(); NativeImage image = nibt.getImage();
if (image != null) { if (image != null) {
System.out.println("Format of in-memory resource " + resource + " is " + image.getFormat());
consumer.accept(image::getColorArgb); consumer.accept(image::getColorArgb);
return; return;
} }
@ -115,7 +116,11 @@ public class NativeUtil {
Resource res = mc.getResourceManager().getResource(resource).orElse(null); Resource res = mc.getResourceManager().getResource(resource).orElse(null);
if (res != null) { if (res != null) {
try (InputStream inputStream = res.getInputStream()) { try (InputStream inputStream = res.getInputStream()) {
consumer.accept(NativeImage.read(inputStream)::getColorArgb); NativeImage image = NativeImage.read(inputStream);
System.out.println("Format of stored resource " + resource + " is " + image.getFormat());
consumer.accept(image::getColorArgb);
return; return;
} }
} }
@ -130,11 +135,12 @@ public class NativeUtil {
MinecraftClient mc = MinecraftClient.getInstance(); MinecraftClient mc = MinecraftClient.getInstance();
// recreate NativeImage from the GL matrix // recreate NativeImage from the GL matrix
RenderSystem.setShaderTexture(GL_TEXTURE_2D, resource); RenderSystem.bindTexture(mc.getTextureManager().getTexture(resource).getGlId());
// TODO: This returns values that are too specific. // TODO: This returns values that are too specific.
// Can we change the level (0) here to something // Can we change the level (0) here to something
// else to actually get what we need? // else to actually get what we need?
int format = _getTexLevelParameter(GL_TEXTURE_2D, 0, GL_TEXTURE_INTERNAL_FORMAT); int format = _getTexLevelParameter(GL_TEXTURE_2D, 0, GL_TEXTURE_INTERNAL_FORMAT);
int width = _getTexLevelParameter(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH); int width = _getTexLevelParameter(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH);
int height = _getTexLevelParameter(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT); int height = _getTexLevelParameter(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT);