fix AltioraLayer addLayer by removing mixin.
This commit is contained in:
parent
77aa0e7380
commit
c8004cc7a4
6 changed files with 25 additions and 40 deletions
|
@ -56,11 +56,14 @@ public record MsgOpenSpellGuiS2C(InteractionHand hand, List<ResolvedPattern> pat
|
|||
}
|
||||
|
||||
public static void handle(MsgOpenSpellGuiS2C msg) {
|
||||
Minecraft.getInstance().execute(() -> {
|
||||
Minecraft.getInstance().execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
var mc = Minecraft.getInstance();
|
||||
mc.setScreen(
|
||||
new GuiSpellcasting(msg.hand(), msg.patterns(), msg.stack, msg.ravenmind,
|
||||
msg.parenCount));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
package at.petrak.hexcasting.mixin.client;
|
||||
|
||||
import at.petrak.hexcasting.client.model.AltioraLayer;
|
||||
import net.minecraft.client.model.PlayerModel;
|
||||
import net.minecraft.client.player.AbstractClientPlayer;
|
||||
import net.minecraft.client.renderer.entity.EntityRendererProvider;
|
||||
import net.minecraft.client.renderer.entity.LivingEntityRenderer;
|
||||
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
// Mixin is the approach Ears uses
|
||||
// granted, Ears isn't exactly the paragon of "how to make your average minecraft mod" but still
|
||||
// IDK another way to do it
|
||||
@Mixin(PlayerRenderer.class)
|
||||
public abstract class MixinPlayerRenderer extends LivingEntityRenderer<AbstractClientPlayer,
|
||||
PlayerModel<AbstractClientPlayer>> {
|
||||
public MixinPlayerRenderer(EntityRendererProvider.Context $$0, PlayerModel<AbstractClientPlayer> $$1, float $$2) {
|
||||
super($$0, $$1, $$2);
|
||||
}
|
||||
|
||||
@Inject(
|
||||
method = "<init>",
|
||||
at = @At("TAIL")
|
||||
)
|
||||
private void hex$init(EntityRendererProvider.Context erp, boolean slimModel, CallbackInfo ci) {
|
||||
this.addLayer(new AltioraLayer<>(this, erp.getModelSet()));
|
||||
}
|
||||
}
|
|
@ -26,7 +26,6 @@
|
|||
"accessor.client.AccessorMouseHandler",
|
||||
"accessor.client.AccessorRenderStateShard",
|
||||
"accessor.client.AccessorRenderType",
|
||||
"client.MixinClientLevel",
|
||||
"client.MixinPlayerRenderer"
|
||||
"client.MixinClientLevel"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -32,10 +32,10 @@ public class HexFabricDataGenerators implements DataGeneratorEntrypoint {
|
|||
HexAPI.LOGGER.info("Starting Fabric-specific datagen");
|
||||
|
||||
var pack = gen.createPack();
|
||||
var xtags = IXplatAbstractions.INSTANCE.tags();
|
||||
|
||||
pack.addProvider((FabricDataGenerator.Pack.Factory<HexplatRecipes>) x -> new HexplatRecipes(x, INGREDIENTS, HexFabricConditionsBuilder::new));
|
||||
|
||||
var xtags = IXplatAbstractions.INSTANCE.tags();
|
||||
var btagProviderWrapper = new BlockTagProviderWrapper(); // CURSED
|
||||
pack.addProvider((output, lookup) -> {
|
||||
btagProviderWrapper.provider = new HexBlockTagProvider(output, lookup, xtags);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
forgeVersion=47.0.1
|
||||
forgeVersion=47.0.3
|
||||
|
||||
kotlinForForgeVersion=4.3.0
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ import at.petrak.hexcasting.client.ClientTickCounter;
|
|||
import at.petrak.hexcasting.client.RegisterClientStuff;
|
||||
import at.petrak.hexcasting.client.ShiftScrollListener;
|
||||
import at.petrak.hexcasting.client.gui.PatternTooltipComponent;
|
||||
import at.petrak.hexcasting.client.model.AltioraLayer;
|
||||
import at.petrak.hexcasting.client.model.HexModelLayers;
|
||||
import at.petrak.hexcasting.client.render.HexAdditionalRenderers;
|
||||
import at.petrak.hexcasting.client.render.shader.HexShaders;
|
||||
|
@ -14,8 +15,12 @@ import at.petrak.hexcasting.interop.HexInterop;
|
|||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.color.block.BlockColors;
|
||||
import net.minecraft.client.color.item.ItemColors;
|
||||
import net.minecraft.client.model.EntityModel;
|
||||
import net.minecraft.client.model.PlayerModel;
|
||||
import net.minecraft.client.particle.ParticleProvider;
|
||||
import net.minecraft.client.particle.SpriteSet;
|
||||
import net.minecraft.client.player.AbstractClientPlayer;
|
||||
import net.minecraft.client.renderer.entity.LivingEntityRenderer;
|
||||
import net.minecraft.core.particles.ParticleOptions;
|
||||
import net.minecraft.core.particles.ParticleType;
|
||||
import net.minecraftforge.client.event.*;
|
||||
|
@ -122,4 +127,13 @@ public class ForgeHexClientInitializer {
|
|||
public static void registerEntityLayers(EntityRenderersEvent.RegisterLayerDefinitions evt) {
|
||||
HexModelLayers.init(evt::registerLayerDefinition);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void addPlayerLayers(EntityRenderersEvent.AddLayers evt) {
|
||||
evt.getSkins().forEach(skinName -> {
|
||||
var skin = (LivingEntityRenderer<AbstractClientPlayer, PlayerModel<AbstractClientPlayer>>) evt.getSkin(skinName);
|
||||
|
||||
skin.addLayer(new AltioraLayer<>(skin, evt.getEntityModels()));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue