From 96772d9985c36125a3b779b22d187c7a102bd0b0 Mon Sep 17 00:00:00 2001 From: JFronny Date: Sat, 21 Aug 2021 22:10:28 +0200 Subject: [PATCH] My brain is smooth --- .../mixin/EnchantmentHelperMixin.java | 6 ++--- .../yescheat/mixin/VillagerEntityMixin.java | 26 +++++++++++++++++++ src/main/resources/YesCheat.mixins.json | 3 ++- 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 src/main/java/io/gitlab/jfronny/yescheat/mixin/VillagerEntityMixin.java diff --git a/src/main/java/io/gitlab/jfronny/yescheat/mixin/EnchantmentHelperMixin.java b/src/main/java/io/gitlab/jfronny/yescheat/mixin/EnchantmentHelperMixin.java index dd72a86..4160ef9 100644 --- a/src/main/java/io/gitlab/jfronny/yescheat/mixin/EnchantmentHelperMixin.java +++ b/src/main/java/io/gitlab/jfronny/yescheat/mixin/EnchantmentHelperMixin.java @@ -7,8 +7,8 @@ import org.spongepowered.asm.mixin.injection.ModifyArg; @Mixin(EnchantmentHelper.class) public class EnchantmentHelperMixin { - @ModifyArg(method = "getLevel", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/MathHelper;clamp(III)I"), index = 2) - private static int injectMaxEnchantmentLevel(int val, int min, int max) { - return val; + @ModifyArg(method = "getLevelFromNbt", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/MathHelper;clamp(III)I"), index = 2) + private static int injectMaxEnchantmentLevel(int x) { + return Integer.MAX_VALUE; } } diff --git a/src/main/java/io/gitlab/jfronny/yescheat/mixin/VillagerEntityMixin.java b/src/main/java/io/gitlab/jfronny/yescheat/mixin/VillagerEntityMixin.java new file mode 100644 index 0000000..e85da9b --- /dev/null +++ b/src/main/java/io/gitlab/jfronny/yescheat/mixin/VillagerEntityMixin.java @@ -0,0 +1,26 @@ +package io.gitlab.jfronny.yescheat.mixin; + +import net.minecraft.entity.EntityType; +import net.minecraft.entity.ai.goal.TemptGoal; +import net.minecraft.entity.passive.MerchantEntity; +import net.minecraft.entity.passive.VillagerEntity; +import net.minecraft.item.Items; +import net.minecraft.recipe.Ingredient; +import net.minecraft.village.VillagerType; +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.CallbackInfo; + +@Mixin(VillagerEntity.class) +public abstract class VillagerEntityMixin extends MerchantEntity { + public VillagerEntityMixin(EntityType entityType, World world) { + super(entityType, world); + } + + @Inject(method = "(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/World;Lnet/minecraft/village/VillagerType;)V", at = @At(value = "TAIL")) + private void inject(EntityType entityType, World world, VillagerType type, CallbackInfo ci) { + this.goalSelector.add(2, new TemptGoal(this, .4D, Ingredient.ofItems(Items.EMERALD_BLOCK, Items.EMERALD_ORE, Items.DEEPSLATE_EMERALD_ORE), false)); + } +} diff --git a/src/main/resources/YesCheat.mixins.json b/src/main/resources/YesCheat.mixins.json index 5dd7dc9..e6c61d1 100644 --- a/src/main/resources/YesCheat.mixins.json +++ b/src/main/resources/YesCheat.mixins.json @@ -11,7 +11,8 @@ "Generic3x3ContainerScreenHandlerMixin", "GenericContainerScreenHandlerMixin", "InfinityEnchantmentMixin", - "ServerPlayNetworkHandlerMixin" + "ServerPlayNetworkHandlerMixin", + "VillagerEntityMixin" ], "injectors": { "defaultRequire": 1