diff options
Diffstat (limited to 'src')
68 files changed, 701 insertions, 1383 deletions
diff --git a/src/main/java/moe/nea/firmament/init/EarlyRiser.java b/src/main/java/moe/nea/firmament/init/EarlyRiser.java index 9734e94..5441255 100644 --- a/src/main/java/moe/nea/firmament/init/EarlyRiser.java +++ b/src/main/java/moe/nea/firmament/init/EarlyRiser.java @@ -7,6 +7,6 @@ public class EarlyRiser implements Runnable { new ClientPlayerRiser().addTinkerers(); new HandledScreenRiser().addTinkerers(); new SectionBuilderRiser().addTinkerers(); - new ItemColorsSodiumRiser().addTinkerers(); +// TODO: new ItemColorsSodiumRiser().addTinkerers(); } } diff --git a/src/main/java/moe/nea/firmament/init/HandledScreenRiser.java b/src/main/java/moe/nea/firmament/init/HandledScreenRiser.java index 355a666..f7db18c 100644 --- a/src/main/java/moe/nea/firmament/init/HandledScreenRiser.java +++ b/src/main/java/moe/nea/firmament/init/HandledScreenRiser.java @@ -3,7 +3,6 @@ package moe.nea.firmament.init; import me.shedaniel.mm.api.ClassTinkerers; import net.minecraft.client.gui.Element; -import net.minecraft.client.gui.ParentElement; import org.objectweb.asm.Opcodes; import org.objectweb.asm.Type; import org.objectweb.asm.tree.ClassNode; diff --git a/src/main/java/moe/nea/firmament/init/ItemColorsSodiumRiser.java b/src/main/java/moe/nea/firmament/init/ItemColorsSodiumRiser.java deleted file mode 100644 index 80ee9aa..0000000 --- a/src/main/java/moe/nea/firmament/init/ItemColorsSodiumRiser.java +++ /dev/null @@ -1,64 +0,0 @@ -package moe.nea.firmament.init; - -import me.shedaniel.mm.api.ClassTinkerers; -import moe.nea.firmament.util.ErrorUtil; -import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.client.color.item.ItemColorProvider; -import net.minecraft.client.color.item.ItemColors; -import net.minecraft.item.ItemStack; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.InsnList; -import org.objectweb.asm.tree.InsnNode; -import org.objectweb.asm.tree.MethodInsnNode; -import org.objectweb.asm.tree.VarInsnNode; - -public class ItemColorsSodiumRiser extends RiserUtils { - @IntermediaryName(ItemColors.class) - String ItemColors; - @IntermediaryName(ItemColorProvider.class) - String ItemColorProvider; - @IntermediaryName(ItemStack.class) - String ItemStack; - String getColorProvider = "sodium$getColorProvider"; - Type getColorProviderDesc = Type.getMethodType(getTypeForClassName(ItemColorProvider), - getTypeForClassName(ItemStack)); - - @Override - public void addTinkerers() { - ClassTinkerers.addTransformation(ItemColors, this::addSodiumOverride, true); - } - - private void addSodiumOverride(ClassNode classNode) { - var node = findMethod(classNode, getColorProvider, getColorProviderDesc); - if (node == null) { - if (!FabricLoader.getInstance().isModLoaded("sodium")) - ErrorUtil.INSTANCE.softError("Sodium is present, but sodium color override could not be injected."); - return; - } - var p = node.instructions.getFirst(); - while (p != null) { - if (p.getOpcode() == Opcodes.ARETURN) { - node.instructions.insertBefore( - p, - mkOverrideSodiumCall() - ); - } - p = p.getNext(); - } - } - - private InsnList mkOverrideSodiumCall() { - var insnList = new InsnList(); - insnList.add(new VarInsnNode(Opcodes.ALOAD, 0)); - insnList.add(new InsnNode(Opcodes.SWAP)); - insnList.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, - getTypeForClassName(ItemColors).getInternalName(), - "overrideSodium_firmament", - Type.getMethodType(getTypeForClassName(ItemColorProvider), - getTypeForClassName(ItemColorProvider)).getDescriptor(), - false)); - return insnList; - } -} diff --git a/src/main/java/moe/nea/firmament/mixins/CustomModelEventPatch.java b/src/main/java/moe/nea/firmament/mixins/CustomModelEventPatch.java deleted file mode 100644 index e0a7544..0000000 --- a/src/main/java/moe/nea/firmament/mixins/CustomModelEventPatch.java +++ /dev/null @@ -1,36 +0,0 @@ - - -package moe.nea.firmament.mixins; - -import moe.nea.firmament.events.CustomItemModelEvent; -import moe.nea.firmament.features.texturepack.CustomGlobalTextures; -import net.minecraft.client.render.item.ItemModels; -import net.minecraft.client.render.model.BakedModel; -import net.minecraft.client.render.model.BakedModelManager; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Identifier; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import java.util.Map; - -@Mixin(ItemModels.class) -public class CustomModelEventPatch { - - @Inject(method = "getModel(Lnet/minecraft/item/ItemStack;)Lnet/minecraft/client/render/model/BakedModel;", at = @At("HEAD"), cancellable = true) - public void onGetModel(ItemStack stack, CallbackInfoReturnable<BakedModel> cir) { - var $this = (ItemModels) (Object) this; - var model = CustomItemModelEvent.getModel(stack, $this); - if (model == null) { - model = CustomGlobalTextures.replaceGlobalModel($this, stack); - } - if (model != null) { - cir.setReturnValue(model); - } - } -} diff --git a/src/main/java/moe/nea/firmament/mixins/IncomingPacketListenerPatches.java b/src/main/java/moe/nea/firmament/mixins/IncomingPacketListenerPatches.java index 80a9fd5..a7c3875 100644 --- a/src/main/java/moe/nea/firmament/mixins/IncomingPacketListenerPatches.java +++ b/src/main/java/moe/nea/firmament/mixins/IncomingPacketListenerPatches.java @@ -18,7 +18,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(ClientPlayNetworkHandler.class) public abstract class IncomingPacketListenerPatches { - @ModifyExpressionValue(method = "onCommandTree", at = @At(value = "NEW", target = "(Lcom/mojang/brigadier/tree/RootCommandNode;)Lcom/mojang/brigadier/CommandDispatcher;", remap = false)) public CommandDispatcher onOnCommandTree(CommandDispatcher dispatcher) { MaskCommands.Companion.publish(new MaskCommands(dispatcher)); @@ -31,7 +30,7 @@ public abstract class IncomingPacketListenerPatches { packet.getParameters(), new Vec3d(packet.getX(), packet.getY(), packet.getZ()), new Vector3f(packet.getOffsetX(), packet.getOffsetY(), packet.getOffsetZ()), - packet.isLongDistance(), + packet.isImportant(), packet.getCount(), packet.getSpeed() ); diff --git a/src/main/java/moe/nea/firmament/mixins/custommodels/ApplyHeadModelInItemRenderer.java b/src/main/java/moe/nea/firmament/mixins/custommodels/ApplyHeadModelInItemRenderer.java deleted file mode 100644 index dac65fe..0000000 --- a/src/main/java/moe/nea/firmament/mixins/custommodels/ApplyHeadModelInItemRenderer.java +++ /dev/null @@ -1,35 +0,0 @@ - -package moe.nea.firmament.mixins.custommodels; - -import com.llamalad7.mixinextras.sugar.Local; -import com.llamalad7.mixinextras.sugar.ref.LocalRef; -import moe.nea.firmament.features.texturepack.BakedModelExtra; -import net.minecraft.client.render.VertexConsumerProvider; -import net.minecraft.client.render.item.ItemRenderer; -import net.minecraft.client.render.model.BakedModel; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ModelTransformationMode; -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(ItemRenderer.class) -public class ApplyHeadModelInItemRenderer { - @Inject(method = "renderItem(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ModelTransformationMode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;IILnet/minecraft/client/render/model/BakedModel;ZF)V", - at = @At("HEAD")) - private void applyHeadModel(ItemStack stack, ModelTransformationMode transformationMode, boolean leftHanded, - MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, - BakedModel model, boolean useInventoryModel, float z, CallbackInfo ci, - @Local(argsOnly = true) LocalRef<BakedModel> modelMut - ) { - var extra = BakedModelExtra.cast(model); - if (transformationMode == ModelTransformationMode.HEAD && extra != null) { - var headModel = extra.getHeadModel_firmament(); - if (headModel != null) { - modelMut.set(headModel); - } - } - } -} diff --git a/src/main/java/moe/nea/firmament/mixins/custommodels/BakedModelDataHolderBasic.java b/src/main/java/moe/nea/firmament/mixins/custommodels/BakedModelDataHolderBasic.java deleted file mode 100644 index 3ed2177..0000000 --- a/src/main/java/moe/nea/firmament/mixins/custommodels/BakedModelDataHolderBasic.java +++ /dev/null @@ -1,42 +0,0 @@ - -package moe.nea.firmament.mixins.custommodels; - -import moe.nea.firmament.features.texturepack.BakedModelExtra; -import moe.nea.firmament.features.texturepack.TintOverrides; -import net.minecraft.client.render.model.BakedModel; -import net.minecraft.client.render.model.BasicBakedModel; -import org.jetbrains.annotations.Nullable; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; - -@Mixin(BasicBakedModel.class) -public class BakedModelDataHolderBasic implements BakedModelExtra { - - @Unique - private BakedModel headModel; - - @Unique - @Nullable - private TintOverrides tintOverrides; - - @Nullable - @Override - public BakedModel getHeadModel_firmament() { - return headModel; - } - - @Override - public void setHeadModel_firmament(@Nullable BakedModel headModel) { - this.headModel = headModel; - } - - @Override - public @Nullable TintOverrides getTintOverrides_firmament() { - return tintOverrides; - } - - @Override - public void setTintOverrides_firmament(@Nullable TintOverrides tintOverrides) { - this.tintOverrides = tintOverrides; - } -} diff --git a/src/main/java/moe/nea/firmament/mixins/custommodels/BakedModelDataHolderBuiltin.java b/src/main/java/moe/nea/firmament/mixins/custommodels/BakedModelDataHolderBuiltin.java deleted file mode 100644 index 87aecb1..0000000 --- a/src/main/java/moe/nea/firmament/mixins/custommodels/BakedModelDataHolderBuiltin.java +++ /dev/null @@ -1,43 +0,0 @@ - -package moe.nea.firmament.mixins.custommodels; - -import moe.nea.firmament.features.texturepack.BakedModelExtra; -import moe.nea.firmament.features.texturepack.TintOverrides; -import net.minecraft.client.render.model.BakedModel; -import net.minecraft.client.render.model.BuiltinBakedModel; -import org.jetbrains.annotations.Nullable; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; - -@Mixin(BuiltinBakedModel.class) -public class BakedModelDataHolderBuiltin implements BakedModelExtra { - - @Unique - @Nullable - private BakedModel headModel; - - @Unique - @Nullable - private TintOverrides tintOverrides; - - @Override - public @Nullable TintOverrides getTintOverrides_firmament() { - return tintOverrides; - } - - @Override - public void setTintOverrides_firmament(@Nullable TintOverrides tintOverrides) { - this.tintOverrides = tintOverrides; - } - - @Nullable - @Override - public BakedModel getHeadModel_firmament() { - return headModel; - } - - @Override - public void setHeadModel_firmament(@Nullable BakedModel headModel) { - this.headModel = headModel; - } -} diff --git a/src/main/java/moe/nea/firmament/mixins/custommodels/BakedOverrideDataHolder.java b/src/main/java/moe/nea/firmament/mixins/custommodels/BakedOverrideDataHolder.java deleted file mode 100644 index 26972b1..0000000 --- a/src/main/java/moe/nea/firmament/mixins/custommodels/BakedOverrideDataHolder.java +++ /dev/null @@ -1,28 +0,0 @@ - -package moe.nea.firmament.mixins.custommodels; - -import moe.nea.firmament.features.texturepack.BakedOverrideData; -import moe.nea.firmament.features.texturepack.FirmamentModelPredicate; -import net.minecraft.client.render.model.json.ModelOverrideList; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; - -@Mixin(ModelOverrideList.BakedOverride.class) -public class BakedOverrideDataHolder implements BakedOverrideData { - - @Unique - private FirmamentModelPredicate[] firmamentOverrides; - - @Nullable - @Override - public FirmamentModelPredicate[] getFirmamentOverrides() { - return firmamentOverrides; - } - - @Override - public void setFirmamentOverrides(@NotNull FirmamentModelPredicate[] overrides) { - this.firmamentOverrides = overrides; - } -} diff --git a/src/main/java/moe/nea/firmament/mixins/custommodels/HeadModelReplacerPatch.java b/src/main/java/moe/nea/firmament/mixins/custommodels/HeadModelReplacerPatch.java deleted file mode 100644 index 26c331e..0000000 --- a/src/main/java/moe/nea/firmament/m |
