Skip to content

Commit

Permalink
Fix 1.16 slim skin capes. Fix #70
Browse files Browse the repository at this point in the history
  • Loading branch information
tr7zw committed Sep 26, 2024
1 parent 5c01d89 commit 7f70b10
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: build
run: ./gradlecw build
- name: capture build artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: Artifacts
path: 'versions/**/build/libs/*.jar'
Expand Down
31 changes: 29 additions & 2 deletions src/main/java/dev/tr7zw/waveycapes/mixin/PlayerRendererMixin.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,19 @@
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;



import dev.tr7zw.waveycapes.renderlayers.CustomCapeRenderLayer;
import net.minecraft.client.model.PlayerModel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.entity.LivingEntityRenderer;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;

// spotless:off
//#if MC < 11700
//$$import net.minecraft.client.renderer.entity.EntityRenderDispatcher;
//$$ import com.mojang.blaze3d.vertex.PoseStack;
//$$ import net.minecraft.client.renderer.MultiBufferSource;
//#else
import net.minecraft.client.renderer.entity.EntityRendererProvider.Context;
//#endif
Expand All @@ -22,21 +27,43 @@
public abstract class PlayerRendererMixin
extends LivingEntityRenderer<AbstractClientPlayer, PlayerModel<AbstractClientPlayer>> {

private boolean injectedCape = false;

// spotless:off
//#if MC >= 11700
public PlayerRendererMixin(Context context, PlayerModel<AbstractClientPlayer> entityModel, float f) {
super(context, entityModel, f);
}
//#else
//$$public PlayerRendererMixin(EntityRenderDispatcher entityRenderDispatcher) {
//$$ super(entityRenderDispatcher, null, 0);
//$$public PlayerRendererMixin(EntityRenderDispatcher entityRenderDispatcher,
//$$ PlayerModel<AbstractClientPlayer> entityModel, float f) {
//$$ super(entityRenderDispatcher, entityModel, f);
//$$}
//#endif
//spotless:on

@Inject(method = "<init>*", at = @At("RETURN"))
public void onCreate(CallbackInfo info) {
injectedCape = true;
System.out.println("Adding renderlayer " + getModel());
addLayer(new CustomCapeRenderLayer(this));
System.out.println("Layers: " + layers);
}

// Dirty 1.16 workaround for slim skins for whatever reason not working right
// spotless:off
//#if MC < 11700
//$$@Inject(method = "render", at = @At("HEAD"))
//$$public void renderLegacyWorkaround(AbstractClientPlayer abstractClientPlayer, float f, float g, PoseStack poseStack,
//$$ MultiBufferSource multiBufferSource, int i, CallbackInfo ci) {
//$$ if(!injectedCape) {
//$$ System.out.println("Adding renderlayer " + getModel());
//$$ addLayer(new CustomCapeRenderLayer(this));
//$$ System.out.println("Layers: " + layers);
//$$ injectedCape = true;
//$$ }
//$$}
//#endif
//spotless:on

}

0 comments on commit 7f70b10

Please sign in to comment.