Skip to content

Commit

Permalink
Fix failing mixin
Browse files Browse the repository at this point in the history
  • Loading branch information
DrexHD committed Sep 29, 2024
1 parent 5ed7a22 commit 6ff7883
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 18 deletions.
2 changes: 1 addition & 1 deletion src/main/java/me/drex/vanish/config/VanishConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public static class Interaction {
@Comment("Prevent entity collisions")
public boolean entityCollisions = true;

@Comment("Prevent entity pickups (arrows, experience orbs, items and tridents)")
@Comment("Prevent entity pickups (arrows, experience orbs, items, dropper equipping and tridents)")
public boolean entityPickup = true;

@Comment("Prevent progressing advancements")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@

import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
import me.drex.vanish.VanishMod;
import me.drex.vanish.api.VanishAPI;
import me.drex.vanish.config.ConfigManager;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.LivingEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;

import java.util.function.Predicate;

@Mixin(LivingEntity.class)
public abstract class LivingEntityMixin {

Expand All @@ -22,5 +26,16 @@ public boolean vanish_preventPushing(LivingEntity entity, Operation<Boolean> ori
return original.call(entity) || (ConfigManager.vanish().interaction.entityCollisions && VanishAPI.isVanished(entity));
}

@WrapOperation(
method = "canEquipWithDispenser",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/world/entity/LivingEntity;isSpectator()Z"
)
)
public boolean vanish_preventArmorItemEquip(LivingEntity entity, Operation<Boolean> original) {
return original.call(entity) || (ConfigManager.vanish().interaction.entityPickup && VanishAPI.isVanished(entity));
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.vehicle.NewMinecartBehavior;
import net.minecraft.world.entity.vehicle.OldMinecartBehavior;
import net.minecraft.world.item.ArmorItem;
import net.minecraft.world.level.EntityGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.BasePressurePlateBlock;
Expand Down Expand Up @@ -71,21 +70,6 @@ private static Predicate<Entity> vanish_preventEntityCollision(Operation<Predica
}
}

@Mixin(ArmorItem.class)
public abstract static class ArmorItemMixin {

@WrapOperation(
method = "dispenseArmor",
at = @At(
value = "FIELD",
target = "Lnet/minecraft/world/entity/EntitySelector;NO_SPECTATORS:Ljava/util/function/Predicate;"
)
)
private static Predicate<Entity> vanish_preventArmorItemEquip(Operation<Predicate<Entity>> original) {
return ConfigManager.vanish().interaction.entityPickup ? VanishMod.NO_SPECTATORS_AND_NO_VANISH : original.call();
}
}

@Mixin(OldMinecartBehavior.class)
public abstract static class OldMinecartBehaviorMixin {
@WrapOperation(
Expand Down
1 change: 0 additions & 1 deletion src/main/resources/vanish.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
"interaction.PlayerMixin",
"interaction.SimpleCriterionTriggerMixin",
"interaction.StepOnBlockMixin",
"interaction.VanishEntitySelector$ArmorItemMixin",
"interaction.VanishEntitySelector$BasePressurePlateBlockMixin",
"interaction.VanishEntitySelector$BeehiveBlockMixin",
"interaction.VanishEntitySelector$EntityGetterMixin",
Expand Down

0 comments on commit 6ff7883

Please sign in to comment.