diff --git a/src/main/java/org/auioc/mcmod/arnicalib/mixin/server/MixinLivingEntity.java b/src/main/java/org/auioc/mcmod/arnicalib/mixin/server/MixinLivingEntity.java deleted file mode 100644 index 806a2d67..00000000 --- a/src/main/java/org/auioc/mcmod/arnicalib/mixin/server/MixinLivingEntity.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.auioc.mcmod.arnicalib.mixin.server; - -import java.util.ArrayList; -import java.util.List; -import org.auioc.mcmod.arnicalib.server.event.AHServerEventFactory; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; -import com.mojang.datafixers.util.Pair; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; - -@Mixin(value = LivingEntity.class) -public abstract class MixinLivingEntity { - - /** - * @author WakelessSloth56 - * @reason {@link org.auioc.mcmod.arnicalib.server.event.impl.LivingEatAddEffectEvent} - */ - // @org.spongepowered.asm.mixin.Debug(export = true, print = true) - @Overwrite() - private void addEatEffect(ItemStack stack, Level level, LivingEntity entity) { - if (!level.isClientSide() && stack.isEdible()) { - List effects = new ArrayList<>(); - - for (Pair pair : stack.getItem().getFoodProperties(stack, entity).getEffects()) { - if (pair.getFirst() != null && level.random.nextFloat() < pair.getSecond()) { - effects.add(new MobEffectInstance(pair.getFirst())); - } - } - - effects = AHServerEventFactory.onLivingEatAddEffect(entity, stack, effects); - - for (MobEffectInstance instance : effects) { - entity.addEffect(instance); - } - } - } - -} diff --git a/src/main/java/org/auioc/mcmod/arnicalib/server/event/AHServerEventFactory.java b/src/main/java/org/auioc/mcmod/arnicalib/server/event/AHServerEventFactory.java index 8b2cb4e6..3661d452 100644 --- a/src/main/java/org/auioc/mcmod/arnicalib/server/event/AHServerEventFactory.java +++ b/src/main/java/org/auioc/mcmod/arnicalib/server/event/AHServerEventFactory.java @@ -1,23 +1,18 @@ package org.auioc.mcmod.arnicalib.server.event; import static org.auioc.mcmod.arnicalib.ArnicaLib.LOGGER; -import java.util.List; import java.util.Random; import java.util.function.Function; import org.apache.logging.log4j.Marker; import org.auioc.mcmod.arnicalib.base.log.LogUtil; import org.auioc.mcmod.arnicalib.game.chat.TextUtils; import org.auioc.mcmod.arnicalib.server.event.impl.EyeOfEnderSurvivableEvent; -import org.auioc.mcmod.arnicalib.server.event.impl.LivingEatAddEffectEvent; import org.auioc.mcmod.arnicalib.server.event.impl.ServerLoginEvent; import net.minecraft.network.Connection; import net.minecraft.network.protocol.handshake.ClientIntentionPacket; import net.minecraft.network.protocol.login.ClientboundLoginDisconnectPacket; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.projectile.EyeOfEnder; -import net.minecraft.world.item.ItemStack; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.IEventBus; @@ -44,14 +39,6 @@ public static boolean onServerLogin(final ClientIntentionPacket packet, final Co return false; } - public static List onLivingEatAddEffect(LivingEntity entity, ItemStack food, List effects) { - LivingEatAddEffectEvent event = new LivingEatAddEffectEvent(entity, food, effects); - if (BUS.post(event)) { - event.getEffects().clear(); - } - return event.getEffects(); - } - public static Function onEyeOfEnderSetSurvivable(ServerPlayer player, EyeOfEnder eye) { EyeOfEnderSurvivableEvent event = new EyeOfEnderSurvivableEvent(player, eye); BUS.post(event); diff --git a/src/main/java/org/auioc/mcmod/arnicalib/server/event/impl/LivingEatAddEffectEvent.java b/src/main/java/org/auioc/mcmod/arnicalib/server/event/impl/LivingEatAddEffectEvent.java deleted file mode 100644 index e8579a18..00000000 --- a/src/main/java/org/auioc/mcmod/arnicalib/server/event/impl/LivingEatAddEffectEvent.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.auioc.mcmod.arnicalib.server.event.impl; - -import java.util.List; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.item.ItemStack; -import net.minecraftforge.event.entity.living.LivingEvent; -import net.minecraftforge.eventbus.api.Cancelable; - -@Cancelable -public class LivingEatAddEffectEvent extends LivingEvent { - - private final ItemStack food; - private final List effects; - - public LivingEatAddEffectEvent(LivingEntity entity, ItemStack food, List effects) { - super(entity); - this.food = food; - this.effects = effects; - } - - public ItemStack getFood() { - return food; - } - - public List getEffects() { - return effects; - } - -} diff --git a/src/main/resources/arnicalib.mixin.json b/src/main/resources/arnicalib.mixin.json index c5e6429b..3c2d1de9 100644 --- a/src/main/resources/arnicalib.mixin.json +++ b/src/main/resources/arnicalib.mixin.json @@ -10,7 +10,6 @@ "common.MixinEnchantment", "server.MixinServerLifecycleHooks", "server.MixinLootContext", - "server.MixinLivingEntity", "server.MixinEyeOfEnder", "server.MixinEnderEyeItem" ],