|
25 | 25 |
|
26 | 26 | package org.visuals.legacy.animatium.mixins.v1.rendering.blocks; |
27 | 27 |
|
| 28 | +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; |
| 29 | +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; |
| 30 | +import net.minecraft.client.renderer.block.BlockModelShaper; |
28 | 31 | import net.minecraft.client.renderer.block.BlockRenderDispatcher; |
| 32 | +import net.minecraft.client.renderer.block.model.BlockStateModel; |
| 33 | +import net.minecraft.world.level.block.Blocks; |
| 34 | +import net.minecraft.world.level.block.GrassBlock; |
| 35 | +import net.minecraft.world.level.block.state.BlockState; |
| 36 | +import org.spongepowered.asm.mixin.Final; |
29 | 37 | import org.spongepowered.asm.mixin.Mixin; |
| 38 | +import org.spongepowered.asm.mixin.Shadow; |
| 39 | +import org.spongepowered.asm.mixin.injection.At; |
| 40 | +import org.visuals.legacy.animatium.Animatium; |
| 41 | +import org.visuals.legacy.animatium.AnimatiumConstants; |
| 42 | +import org.visuals.legacy.animatium.config.AnimatiumConfig; |
| 43 | +import org.visuals.legacy.animatium.util.Utils; |
30 | 44 |
|
31 | 45 | @Mixin(BlockRenderDispatcher.class) |
32 | 46 | public abstract class MixinBlockRenderDispatcher_FastGrassSide { |
33 | | - /*@Shadow |
| 47 | + @Shadow |
34 | 48 | @Final |
35 | | - private BlockModelShaper blockModelShaper;*/ |
| 49 | + private BlockModelShaper blockModelShaper; |
36 | 50 |
|
37 | | - // TODO/FIX: 1.21.11 |
38 | | - /*@WrapOperation(method = "getBlockModel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getBlockModel(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/block/model/BlockStateModel;")) |
39 | | - private BlockStateModel animatium$fastGrass(BlockModelShaper instance, BlockState state, Operation<BlockStateModel> original) { |
40 | | - if (Animatium.isEnabled() && AnimatiumConfig.instance().other.fastGrass && (state.is(Blocks.GRASS_BLOCK) && !state.getValue(GrassBlock.SNOWY)) && Utils.isFastGraphics()) { |
41 | | - return this.blockModelShaper.getModelManager().getModel(AnimatiumConstants.FAST_GRASS_MODEL_KEY); |
42 | | - } else { |
43 | | - return original.call(instance, state); |
44 | | - } |
45 | | - }*/ |
| 51 | + @WrapOperation(method = "getBlockModel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getBlockModel(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/block/model/BlockStateModel;")) |
| 52 | + private BlockStateModel animatium$fastGrass(BlockModelShaper instance, BlockState state, Operation<BlockStateModel> original) { |
| 53 | + if (Animatium.isEnabled() && AnimatiumConfig.instance().other.fastGrass && (state.is(Blocks.GRASS_BLOCK) && !state.getValue(GrassBlock.SNOWY)) && Utils.isFastGraphics()) { |
| 54 | + return this.blockModelShaper.getModelManager().getModel(AnimatiumConstants.FAST_GRASS_MODEL_KEY); |
| 55 | + } else { |
| 56 | + return original.call(instance, state); |
| 57 | + } |
| 58 | + } |
46 | 59 | } |
0 commit comments