Skip to content

Commit faebfc9

Browse files
authored
Support 26.1 (#368)
1 parent 08033b0 commit faebfc9

26 files changed

Lines changed: 84 additions & 32 deletions

Common/src/main/java/customskinloader/fake/FakeSkinBuffer.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.util.function.Predicate;
88

99
import customskinloader.CustomSkinLoader;
10+
import customskinloader.fake.itf.FakeInterfaceManager;
1011
import customskinloader.fake.texture.FakeBufferedImage;
1112
import customskinloader.fake.texture.FakeImage;
1213
import customskinloader.fake.texture.FakeNativeImage;
@@ -28,7 +29,9 @@ public static NativeImage processLegacySkin(NativeImage image, String url) {
2829

2930
FakeImage img = parseUserSkin0(new FakeNativeImage(image));
3031
if (img instanceof FakeNativeImage) {
31-
return FakeNativeImage.Extended.create((FakeNativeImage) img);
32+
image = ((FakeNativeImage) img).getImage();
33+
FakeInterfaceManager.NativeImage_setFakeImage(image, img);
34+
return image;
3235
}
3336

3437
CustomSkinLoader.logger.warning("Failed to parseUserSkin(downloadAndRegisterSkin).");

Common/src/main/java/customskinloader/fake/itf/FakeInterfaceManager.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.Optional;
55

66
import customskinloader.fake.FakeMinecraftProfileTexture;
7+
import customskinloader.fake.texture.FakeNativeImage;
78
import net.minecraft.client.resources.IResource;
89
import net.minecraft.client.resources.IResourceManager;
910
import net.minecraft.util.ResourceLocation;
@@ -32,6 +33,14 @@ public static void NativeImage_setPixel(Object nativeImage, int x, int y, int co
3233
((IFakeNativeImage) nativeImage).setPixel(x, y, color);
3334
}
3435

36+
public static FakeNativeImage NativeImage_getFakeImage(Object nativeImage) {
37+
return ((IFakeNativeImage) nativeImage).getFakeImage();
38+
}
39+
40+
public static void NativeImage_setFakeImage(Object nativeImage, Object fakeImage) {
41+
((IFakeNativeImage) nativeImage).setFakeImage((FakeNativeImage) fakeImage);
42+
}
43+
3544
public static FakeMinecraftProfileTexture ResourceLocation_getTexture(Object location) {
3645
return ((IFakeResourceLocation) location).getTexture();
3746
}

Common/src/main/java/customskinloader/fake/itf/IFakeNativeImage.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package customskinloader.fake.itf;
22

3+
import customskinloader.fake.texture.FakeNativeImage;
34
import net.minecraft.client.renderer.texture.NativeImage;
45

56
public interface IFakeNativeImage {
@@ -10,4 +11,8 @@ default int getPixel(int x, int y) {
1011
default void setPixel(int x, int y, int color) {
1112
((NativeImage) this).func_195700_a(x, y, color);
1213
}
14+
15+
FakeNativeImage getFakeImage();
16+
17+
void setFakeImage(FakeNativeImage fakeImage);
1318
}

Common/src/main/java/customskinloader/fake/texture/FakeNativeImage.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -71,22 +71,4 @@ public void copyArea(int x0, int y0, int dx, int dy, int width, int height, bool
7171
public void close() {
7272
image.close();
7373
}
74-
75-
public static class Extended extends NativeImage {
76-
public static NativeImage create(FakeNativeImage fakeImage) {
77-
return new FakeNativeImage.Extended(fakeImage);
78-
}
79-
80-
private final FakeNativeImage fakeImage;
81-
82-
public Extended(FakeNativeImage fakeImage) {
83-
super(fakeImage.getWidth(), fakeImage.getHeight(), true);
84-
this.func_195703_a(fakeImage.getImage());
85-
this.fakeImage = fakeImage;
86-
}
87-
88-
public FakeNativeImage getFakeImage() {
89-
return this.fakeImage;
90-
}
91-
}
9274
}

Common/src/main/java/customskinloader/fake/texture/FakeThreadDownloadImageData.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.function.Function;
55

66
import customskinloader.fake.FakeCapeBuffer;
7+
import customskinloader.fake.FakeMinecraftProfileTexture;
78
import customskinloader.fake.FakeSkinBuffer;
89
import customskinloader.fake.FakeSkinManager;
910
import customskinloader.fake.itf.FakeInterfaceManager;
@@ -36,8 +37,10 @@ public static Function<NativeImage, CompletableFuture<?>> createTextureV2(Functi
3637

3738
public static Function<NativeImage, CompletableFuture<?>> createTexture(Function<NativeImage, CompletableFuture<?>> function, Function<NativeImage, Function<Object, Object>> cape, Object location, boolean bl) {
3839
return bl ? _image -> {
39-
if (FakeInterfaceManager.ResourceLocation_getTexture(location) != null && _image instanceof FakeNativeImage.Extended) {
40-
FakeSkinManager.BaseBuffer.judgeType(FakeInterfaceManager.ResourceLocation_getTexture(location), () -> FakeSkinBuffer.judgeType0(((FakeNativeImage.Extended) _image).getFakeImage()));
40+
FakeMinecraftProfileTexture texture = FakeInterfaceManager.ResourceLocation_getTexture(location);
41+
FakeNativeImage image = FakeInterfaceManager.NativeImage_getFakeImage(_image);
42+
if (texture != null && image != null) {
43+
FakeSkinManager.BaseBuffer.judgeType(texture, () -> FakeSkinBuffer.judgeType0(image));
4144
}
4245
return function.apply(_image);
4346
} : _image -> function.apply(_image).thenApply(cape.apply(_image));

Fabric/mixin.tsrg

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ net/minecraft/client/Minecraft net/minecraft/class_310
33
isIntegratedServerRunning ()Z method_1542
44
net/minecraft/client/entity/AbstractClientPlayer net/minecraft/class_742
55
net/minecraft/client/gui/Gui net/minecraft/class_332
6+
net/minecraft/client/gui/GuiGraphicsExtractor net/minecraft/client/gui/GuiGraphicsExtractor
67
net/minecraft/client/gui/GuiPlayerTabOverlay net/minecraft/class_355
78
renderPlayerlist (ILnet/minecraft/scoreboard/Scoreboard;Lnet/minecraft/scoreboard/ScoreObjective;)V method_1919
89
renderPlayerlist (Lcom/mojang/blaze3d/matrix/MatrixStack;ILnet/minecraft/scoreboard/Scoreboard;Lnet/minecraft/scoreboard/ScoreObjective;)V method_1919
910
renderPlayerlist (Lnet/minecraft/client/gui/Gui;ILnet/minecraft/scoreboard/Scoreboard;Lnet/minecraft/scoreboard/ScoreObjective;)V method_1919
11+
renderPlayerlist (Lnet/minecraft/client/gui/GuiGraphicsExtractor;ILnet/minecraft/scoreboard/Scoreboard;Lnet/minecraft/scoreboard/ScoreObjective;)V extractRenderState
1012
net/minecraft/client/model/ModelRenderer net/minecraft/class_630
1113
net/minecraft/client/renderer/IImageBuffer net/minecraft/class_760
1214
net/minecraft/client/renderer/IRenderTypeBuffer net/minecraft/class_4597
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
accessWidener v2 intermediary
22
extendable class net/minecraft/class_1011 # 24w46a+
33
extendable class net/minecraft/class_1071$class_8686 # 23w31a+
4-
extendable class net/minecraft/class_2960 # 24w46a+
54
accessible method net/minecraft/class_1071$class_8686 <init> (Ljava/util/UUID;Lcom/mojang/authlib/properties/Property;)V # 23w42a+
65
accessible method net/minecraft/class_2960 <init> (Ljava/lang/String;Ljava/lang/String;)V # 24w18a+

Fabric/src/main/resources/fabric.mod.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,9 @@
1717
"mixins": [
1818
"mixins.customskinloader.json"
1919
],
20-
"accessWidener": "customskinloader.accesswidener"
20+
"accessWidener": "customskinloader.accesswidener",
21+
22+
"depends": {
23+
"minecraft": "<=1.21.11"
24+
}
2125
}

0 commit comments

Comments
 (0)