All Downloads are FREE. Search and download functionalities are using the official Maven repository.

top.hendrixshen.magiclib.mixin.minecraft.accessor.StyleAccessor Maven / Gradle / Ivy

There is a newer version: 0.6.59
Show newest version
package top.hendrixshen.magiclib.mixin.minecraft.accessor;

import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
import net.minecraft.class_2558;
import net.minecraft.class_2568;
import net.minecraft.class_2583;
import net.minecraft.class_2960;
import net.minecraft.class_5251;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mutable;
import org.spongepowered.asm.mixin.gen.Invoker;
//#else
//$$ import net.minecraft.ChatFormatting;
//#endif

@Mixin(class_2583.class)
public interface StyleAccessor {
    //#if MC > 11502
    @Invoker(value = "")
    static class_2583 magiclib$invokeConstructor(
            @Nullable class_5251 color,
            @Nullable Boolean bold,
            @Nullable Boolean italic,
            @Nullable Boolean underlined,
            @Nullable Boolean strikethrough,
            @Nullable Boolean obfuscated,
            @Nullable class_2558 clickEvent,
            @Nullable class_2568 hoverEvent,
            @Nullable String insertion,
            @Nullable class_2960 font
    ) {
        throw new AssertionError();
    }
    //#endif

    @Accessor("bold")
    Boolean magiclib$getBold();

    @Accessor("italic")
    Boolean magiclib$getItalic();

    @Accessor("underlined")
    Boolean magiclib$getUnderlined();

    @Accessor("strikethrough")
    Boolean magiclib$strikethrough();

    @Accessor("obfuscated")
    Boolean magiclib$getObfuscated();

    @Accessor("color")
    //#if MC > 11502
    class_5251 magiclib$getColor();
    //#else
    //#disable-remap
    //$$ ChatFormatting magiclib$getColor();
    //#enable-remap
    //#endif

    @Accessor("hoverEvent")
    class_2568 getHoverEvent();

    //#if MC > 11502
    @Mutable
    @Accessor("underlined")
    void magiclib$setUnderlined(Boolean magiclib$setUnderlined);

    @Mutable
    @Accessor("strikethrough")
    void magiclib$setStrikethrough(Boolean strikethrough);

    @Mutable
    @Accessor("obfuscated")
    void magiclib$setObfuscated(Boolean obfuscated);
    //#endif
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy