diff options
| author | nea <romangraef@gmail.com> | 2022-06-06 17:30:02 +0200 |
|---|---|---|
| committer | nea <romangraef@gmail.com> | 2022-06-06 17:30:14 +0200 |
| commit | bedfa3b4d0507e0de4beb522285a18ecef80ea2a (patch) | |
| tree | baad8e208aaf56648a9b317cbdbd18e838758dee /src/main/java/moe/nea/morbing/mixin | |
| parent | 8429ee15a20c38fe3a094bebf4ba4eb51c2cedd7 (diff) | |
| download | morbingtime-bedfa3b4d0507e0de4beb522285a18ecef80ea2a.tar.gz morbingtime-bedfa3b4d0507e0de4beb522285a18ecef80ea2a.tar.bz2 morbingtime-bedfa3b4d0507e0de4beb522285a18ecef80ea2a.zip | |
More morbing
Diffstat (limited to 'src/main/java/moe/nea/morbing/mixin')
| -rw-r--r-- | src/main/java/moe/nea/morbing/mixin/AccessorBrewingRecipeRegistry.java | 16 | ||||
| -rw-r--r-- | src/main/java/moe/nea/morbing/mixin/MixinAbstractClientPlayerEntity.java | 38 |
2 files changed, 54 insertions, 0 deletions
diff --git a/src/main/java/moe/nea/morbing/mixin/AccessorBrewingRecipeRegistry.java b/src/main/java/moe/nea/morbing/mixin/AccessorBrewingRecipeRegistry.java new file mode 100644 index 0000000..994b72e --- /dev/null +++ b/src/main/java/moe/nea/morbing/mixin/AccessorBrewingRecipeRegistry.java @@ -0,0 +1,16 @@ +package moe.nea.morbing.mixin; + +import net.minecraft.item.Item; +import net.minecraft.potion.Potion; +import net.minecraft.recipe.BrewingRecipeRegistry; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +@Mixin(BrewingRecipeRegistry.class) +public interface AccessorBrewingRecipeRegistry { + @Invoker(value = "registerPotionRecipe") + static void registerPotionRecipe(Potion input, Item item, Potion output) { + throw new IllegalStateException("Mixin not applied"); + } + +} diff --git a/src/main/java/moe/nea/morbing/mixin/MixinAbstractClientPlayerEntity.java b/src/main/java/moe/nea/morbing/mixin/MixinAbstractClientPlayerEntity.java new file mode 100644 index 0000000..553414e --- /dev/null +++ b/src/main/java/moe/nea/morbing/mixin/MixinAbstractClientPlayerEntity.java @@ -0,0 +1,38 @@ +package moe.nea.morbing.mixin; + +import com.mojang.authlib.GameProfile; +import moe.nea.morbing.Morbing; +import moe.nea.morbing.MorbingTimeStatus; +import net.minecraft.client.network.AbstractClientPlayerEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.util.Identifier; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +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(AbstractClientPlayerEntity.class) +public abstract class MixinAbstractClientPlayerEntity extends PlayerEntity { + + public MixinAbstractClientPlayerEntity(World world, BlockPos pos, float yaw, GameProfile profile) { + super(world, pos, yaw, profile); + } + + @Inject(method = "hasSkinTexture", at = @At("HEAD"), cancellable = true) + public void onHasSkinTexture(CallbackInfoReturnable<Boolean> cir) { + if (hasStatusEffect(MorbingTimeStatus.INSTANCE)) { + cir.setReturnValue(true); + } + } + + @Inject(method = "getSkinTexture", at = @At("HEAD"), cancellable = true) + public void onGetSkinTexture(CallbackInfoReturnable<Identifier> cir) { + if (hasStatusEffect(MorbingTimeStatus.INSTANCE)) { + cir.setReturnValue(Morbing.identifier("morbingskin.png")); + } + } + + +} |
