summaryrefslogtreecommitdiff
path: root/src/main/java/com/arslaancodes/arslaansmagichax/mixin/AbstractBlockStateMixin.java
blob: cfdc76f0e6c935fc472e18d58548b83f0bd58e77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
THIS FILE EXISTS AS AN ARCHIVE!!!!
Injecting into getLuminance causes TONS of weird crashes and issues related to world rendering
New logic is implemented in AbstractBlockMixin.java
 */
package com.arslaancodes.arslaansmagichax.mixin;

import com.arslaancodes.arslaansmagichax.ArslaansMagicHaxClient;
import net.minecraft.client.Minecraft;
import net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase;
import net.minecraft.world.level.block.state.BlockState;
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.CallbackInfoReturnable;

@Mixin(BlockStateBase.class)
public class AbstractBlockStateMixin {
    private static Minecraft mc = Minecraft.getInstance();

    @Inject(method = "getLightEmission", at = @At("HEAD"), cancellable = true)
    private void onGetLuminance(CallbackInfoReturnable<Integer> cir) {
        BlockStateBase state = (BlockStateBase)(Object)this;

        if (mc.level != null && (ArslaansMagicHaxClient.xray.isEnabled() && ArslaansMagicHaxClient.xray.isInterestingBlock((BlockState) state) || ArslaansMagicHaxClient.fullbright.isEnabled())) {
            cir.setReturnValue(15);
        }
    }
}