Skip to content

Commit 6fa2a24

Browse files
committed
Improved Shoulder Renderering
1 parent 17f2ed0 commit 6fa2a24

5 files changed

Lines changed: 10 additions & 208 deletions

File tree

common/src/main/java/generations/gg/generations/core/generationscore/common/client/render/entity/GenerationsPokemonOnShoulderProxy.kt

Lines changed: 0 additions & 150 deletions
This file was deleted.

common/src/main/java/generations/gg/generations/core/generationscore/common/client/render/entity/PokemonOnShoulderRenderAccess.kt

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,22 @@
11
package generations.gg.generations.core.generationscore.common.mixin.client;
22

33
import com.cobblemon.mod.common.client.render.layer.PokemonOnShoulderRenderer;
4-
import com.cobblemon.mod.common.client.render.models.blockbench.PosableModel;
5-
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
4+
import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.PokemonPosableModel;
65
import com.llamalad7.mixinextras.sugar.Local;
76
import com.mojang.blaze3d.vertex.PoseStack;
8-
//import generations.gg.generations.core.generationscore.common.client.render.entity.GenerationsPokemonOnShoulderProxy;
9-
//import generations.gg.generations.core.generationscore.common.client.render.entity.GenerationsPokemonOnShoulderProxy;
10-
import generations.gg.generations.core.generationscore.common.client.render.entity.GenerationsPokemonOnShoulderProxy;
11-
import generations.gg.generations.core.generationscore.common.client.render.entity.PokemonOnShoulderRenderAccess;
12-
import net.minecraft.client.model.PlayerModel;
13-
import net.minecraft.client.renderer.MultiBufferSource;
14-
import net.minecraft.client.renderer.entity.RenderLayerParent;
15-
import net.minecraft.client.renderer.entity.layers.RenderLayer;
16-
import net.minecraft.nbt.CompoundTag;
17-
import net.minecraft.world.entity.player.Player;
7+
import generations.gg.generations.core.generationscore.common.client.model.RareCandyBone;
188
import org.spongepowered.asm.mixin.Mixin;
19-
import org.spongepowered.asm.mixin.gen.Invoker;
209
import org.spongepowered.asm.mixin.injection.At;
21-
import org.spongepowered.asm.mixin.injection.Inject;
22-
import org.spongepowered.asm.mixin.injection.ModifyVariable;
23-
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
24-
25-
import java.util.UUID;
10+
import org.spongepowered.asm.mixin.injection.Redirect;
2611

2712
@Mixin(PokemonOnShoulderRenderer.class)
28-
public abstract class PokemonOnShoulderRenderMixin<T extends Player> extends RenderLayer<T, PlayerModel<T>> implements PokemonOnShoulderRenderAccess {
29-
public PokemonOnShoulderRenderMixin(RenderLayerParent<T, PlayerModel<T>> renderer) {
30-
super(renderer);
31-
}
32-
33-
@Invoker(value = "extractUuid", remap = false) public abstract UUID invokeExtractUuid(CompoundTag tag);
34-
35-
@Invoker(value = "extractData", remap = false) public abstract PokemonOnShoulderRenderer.ShoulderData invokeExtractData(CompoundTag shoulderNbt, UUID pokemonUUID);
13+
public abstract class PokemonOnShoulderRenderMixin {
14+
@Redirect(method = "render(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;ILnet/minecraft/world/entity/player/Player;FFFFFFZ)V", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/vertex/PoseStack;translate(DDD)V"))
15+
public void renderTranslate(PoseStack instance, double x, double y, double z, @Local(argsOnly = true) boolean pLeftShoulder, @Local PokemonPosableModel model) {
16+
if(model.getRootPart() instanceof RareCandyBone) {
17+
x += pLeftShoulder ? 0.175 : -0.175;
18+
}
3619

37-
@Inject(method = "render(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;ILnet/minecraft/world/entity/player/Player;FFFFFFZ)V", at = @At("HEAD"), cancellable = true)
38-
public void render(PoseStack matrixStack, MultiBufferSource buffer, int packedLight, T livingEntity, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, boolean pLeftShoulder, CallbackInfo ci) {
39-
GenerationsPokemonOnShoulderProxy.render(this, matrixStack, buffer, packedLight, livingEntity, limbSwing, limbSwingAmount, partialTicks, ageInTicks, netHeadYaw, headPitch, pLeftShoulder);
40-
ci.cancel();
20+
instance.translate(x, y, z);
4121
}
4222
}

common/src/main/java/generations/gg/generations/core/generationscore/common/mixin/client/PokemonOnShoulderRendererCompanionAccessorMixin.java

Lines changed: 0 additions & 17 deletions
This file was deleted.

common/src/main/resources/GenerationsCore-common.mixins.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
"client.PokemonClientDelegateMixin",
5151
"client.PokemonEntityMixin",
5252
"client.PokemonItemRendererMixin",
53-
"client.PokemonOnShoulderRendererCompanionAccessorMixin",
5453
"client.PokemonOnShoulderRenderMixin",
5554
"client.PosableStateMixin",
5655
"client.RenderSystemMixin",

0 commit comments

Comments
 (0)