Jump to content

[1.20.1] Why my custom entity thinks that air is food


Recommended Posts

Posted (edited)

I checked my isFood() method:

@Override
public boolean isFood(@NotNull ItemStack item) {
    return FOOD_ITEMS.test(item);
}

the FOOD_ITEMS:

protected static final Ingredient FOOD_ITEMS // sorry for protected static lol
            = Ingredient.of(Items.WHEAT_SEEDS,
            Items.MELON_SEEDS, Items.PUMPKIN_SEEDS,
            Items.BEETROOT_SEEDS, Items.TORCHFLOWER_SEEDS, Items.PITCHER_POD);

and the Ingredient class, but nothing seems to tell Minecraft that air is a food item. 

Tell me if you need full entity code

Edited by btuh
Posted

Because air is good! :D Jokes aside, how can you tell that your mob is eating air? Like, there's an actual action in game that you can observe? Also show the full entity code, maybe there's something weird going on there as well

 

PS: don't bump posts, someone will eventually show up :D You should also consider asking questions in the discord server, wherre is more likely that you'll get a quick response

Don't blame me if i always ask for your help. I just want to learn to be better :)

Posted
37 minutes ago, JimiIT92 said:

Because air is good! :D Jokes aside, how can you tell that your mob is eating air? Like, there's an actual action in game that you can observe? Also show the full entity code, maybe there's something weird going on there as well

 

PS: don't bump posts, someone will eventually show up :D You should also consider asking questions in the discord server, wherre is more likely that you'll get a quick response

I created a temp command with this syntax:

/isfood <entity to check> <player to check the item in main hand or off hand>

It outputs either string respiration of an ItemStack (<count of items> <item name>) that player holds in his hand if it's a food item for specified entity, or "none" if specified player isn't holding an item which is a food item for the specified entity.

Command's code if you didn't understand:

event.getDispatcher().register(Commands.literal("isfood").then(Commands.argument("animal", EntityArgument.entity())
                        .then(Commands.argument("player",
                                EntityArgument.player()).executes(context -> {
                            Entity entity = EntityArgument.getEntity(context, "animal");
                            Player player = EntityArgument.getPlayer(context, "player");
                            if (entity instanceof Animal mob) {
                                if (mob.isFood(player.getItemInHand(InteractionHand.MAIN_HAND)))
                                    context.getSource().sendSuccess(() ->
                                                    Component.literal(String.valueOf(
                                                            player.getItemInHand(InteractionHand.MAIN_HAND))),
                                            true);
                                else if (mob.isFood(player.getItemInHand(InteractionHand.OFF_HAND)))
                                    context.getSource().sendSuccess(() ->
                                            Component.literal(String.valueOf(
                                                    player.getItemInHand(InteractionHand.OFF_HAND)
                                            )), true);
                                else
                                    context.getSource().sendSuccess(() ->
                                            Component.literal("none"), true);
                            }
                            return 1;
                        }))));

So, I tested it on my entity, and command output was:

0 air

(also want to say that it happens only if I play Minecraft for a long time)

Anyways, the entity code:

package mymod.entities.chicken;

import net.minecraft.core.BlockPos;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.util.Mth;
import net.minecraft.util.RandomSource;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.*;
import net.minecraft.world.entity.animal.Animal;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelAccessor;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.pathfinder.BlockPathTypes;
import net.minecraft.world.phys.Vec3;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import mymod._Entities;


public abstract class AbstractChicken extends Animal implements IAbstractChicken {

    protected static final Ingredient FOOD_ITEMS
            = Ingredient.of(Items.WHEAT_SEEDS,
            Items.MELON_SEEDS, Items.PUMPKIN_SEEDS,
            Items.BEETROOT_SEEDS, Items.TORCHFLOWER_SEEDS, Items.PITCHER_POD);

    public float flap;
    public float flapSpeed;
    public float oFlapSpeed;
    public float oFlap;
    public float flapping = 1.0F;
    protected float nextFlap = 1.0F;

    protected AbstractChicken(EntityType<? extends AbstractChicken> entityType, Level world) {
        super(entityType, world);
        setPathfindingMalus(BlockPathTypes.WATER, 0.0F);
    }

    protected SoundEvent getAmbientSound() {
        return SoundEvents.CHICKEN_AMBIENT;
    }

    protected SoundEvent getHurtSound(@NotNull DamageSource damageSource) {
        return SoundEvents.CHICKEN_HURT;
    }

    protected SoundEvent getDeathSound() {
        return SoundEvents.CHICKEN_DEATH;
    }

    @Override
    protected void playStepSound(@NotNull BlockPos atPos,
                                 @NotNull BlockState atState) {
        playSound(SoundEvents.CHICKEN_STEP, .15f, 1);
    }

    @Nullable
    @Override
    public AgeableMob getBreedOffspring(@NotNull ServerLevel level,
                                        @NotNull AgeableMob mobBredWith) {
        return null;
    }

    @Override
    protected abstract void registerGoals();

    @Override
    public abstract boolean isBaby();

    @Override
    public abstract boolean canMate(@NotNull Animal other);

    @Override
    public final void aiStep() {
        super.aiStep();
        this.oFlap = flap;
        this.oFlapSpeed = flapSpeed;
        this.flapSpeed += (this.onGround() ? -1.0F : 4.0F) * 0.3F;
        this.flapSpeed = Mth.clamp(this.flapSpeed, 0.0F, 1.0F);
        if (!this.onGround() && this.flapping < 1.0F) {
            this.flapping = 1.0F;
        }
        this.flapping *= 0.9F;
        Vec3 vec3 = this.getDeltaMovement();
        if (!this.onGround() && vec3.y < 0.0D) {
            this.setDeltaMovement(vec3.multiply(1.0D, 0.6D, 1.0D));
        }
        this.flap += this.flapping * 2.0F;
        doAIStep();
    }

    protected abstract void doAIStep();


    @Override
    protected float getStandingEyeHeight(@NotNull Pose pose, @NotNull EntityDimensions dimensions) {
        return this.isBaby() ? dimensions.height * 0.85F : dimensions.height * 0.92F;
    }

    @Override
    public abstract void setBaby(boolean baby);


    @Override
    @Nullable
    public <T extends Mob> T convertTo(@NotNull EntityType<T> toType, boolean copyInventory) {
        if (isRemoved()) {
            return null;
        } else {
            T t = toType.create(level());
            if (t == null) {
                return null;
            } else {
                t.copyPosition(this);
                t.setNoAi(isNoAi());
                if (!(toType == EntityType.CHICKEN
                      || toType == _Entities.ROOSTER.get()
                      || toType == _Entities.CHICK.get())) t.setBaby(isBaby());
                if (hasCustomName()) {
                    t.setCustomName(getCustomName());
                    t.setCustomNameVisible(isCustomNameVisible());
                }

                if (isPersistenceRequired()) {
                    t.setPersistenceRequired();
                }

                t.setInvulnerable(isInvulnerable());
                if (copyInventory) {
                    t.setCanPickUpLoot(canPickUpLoot());

                    for (EquipmentSlot equipmentslot : EquipmentSlot.values()) {
                        ItemStack itemstack = self().getItemBySlot(equipmentslot);
                        if (!itemstack.isEmpty()) {
                            t.setItemSlot(equipmentslot, itemstack.copyAndClear());
                            t.setDropChance(equipmentslot, getEquipmentDropChance(equipmentslot));
                        }
                    }
                }

                level().addFreshEntity(t);
                if (isPassenger()) {
                    Entity entity = getVehicle();
                    stopRiding();
                    t.startRiding(entity, true);
                }

                discard();
                return t;
            }
        }
    }

    public abstract boolean isBoy();

    @Override
    public boolean isFood(@NotNull ItemStack item) {
        return FOOD_ITEMS.test(item);
    }


    @Override
    protected boolean isFlapping() {
        return flyDist > nextFlap;
    }

    @Override
    protected void onFlap() {
        nextFlap = flyDist + flapSpeed / 2f;
    }

    public static boolean canSpawn(EntityType<? extends AbstractChicken> entityType,
                                   LevelAccessor level,
                                   MobSpawnType spawnType,
                                   BlockPos pos,
                                   RandomSource random) {
        return entityType != _Entities.CHICK.get()
               && Animal.checkAnimalSpawnRules(entityType, level, spawnType, pos, random);
    }
}
package mymod.entities.chicken;

import com.google.common.collect.ImmutableList;
import com.google.errorprone.annotations.Immutable;
import net.minecraft.advancements.CriteriaTriggers;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.Tag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.network.syncher.SynchedEntityData;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.stats.Stats;
import net.minecraft.util.RandomSource;
import net.minecraft.util.TimeUtil;
import net.minecraft.util.valueproviders.UniformInt;
import net.minecraft.world.DifficultyInstance;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.*;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.goal.*;
import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal;
import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal;
import net.minecraft.world.entity.ai.goal.target.ResetUniversalAngerTargetGoal;
import net.minecraft.world.entity.animal.*;
import net.minecraft.world.entity.monster.Zombie;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.GameRules;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.phys.Vec3;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import oshi.util.tuples.Pair;
import ru.fokinatorr.chickenmod._Entities;
import ru.fokinatorr.chickenmod._EntityDataSerializers;
import mymod._Items;
import mymod._Sounds;
import mymod.ai.ZombieAttackChickenEggGoal;
import mymod.entities.BredWithMobStorable;
import mymod.util.delayedtask.DelayedTask;
import mymod.util.delayedtask.DelayedTasksHolder;

import java.util.EnumSet;
import java.util.Optional;
import java.util.UUID;
import java.util.function.Supplier;

public class Rooster extends AbstractChicken implements NeutralMob, BredWithMobStorable,
        DelayedTasksHolder<Rooster> {

    private static final UniformInt PERSISTENT_ANGER_TIME
            = TimeUtil.rangeOfSeconds(60, 1800);

    private int remainingPersistentAngerTime;
    private UUID persistentAngerTarget;


    private boolean crowing;
    private int crowTicks;


    private int diggingAnimTicks;

    private int featherDropCoolDown;

    private static final EntityDataAccessor<FourFeathers> DATA_FEATHERS
            = SynchedEntityData.defineId(Rooster.class, _EntityDataSerializers.ROOSTER_FEATHERS.get());

    private static final EntityDataAccessor<Optional<UUID>> DATA_MOB_BRED_WITH
            = SynchedEntityData.defineId(Rooster.class, EntityDataSerializers.OPTIONAL_UUID);


    public Rooster(EntityType<? extends Rooster> entityType, Level world) {
        super(entityType, world);
    }

    @Override
    public int getRemainingPersistentAngerTime() {
        return remainingPersistentAngerTime;
    }

    @Override
    public void setRemainingPersistentAngerTime(int remainingPersistentAngerTime) {
        this.remainingPersistentAngerTime = remainingPersistentAngerTime;
    }

    @Nullable
    @Override
    public UUID getPersistentAngerTarget() {
        return persistentAngerTarget;
    }

    @Override
    public void setPersistentAngerTarget(@Nullable UUID persistentAngerTarget) {
        this.persistentAngerTarget = persistentAngerTarget;
    }

    @Override
    public void startPersistentAngerTimer() {
        this.remainingPersistentAngerTime = PERSISTENT_ANGER_TIME.sample(random);
    }

    @Override
    protected void defineSynchedData() {
        super.defineSynchedData();
        entityData.define(DATA_FEATHERS, FourFeathers.NONE);
        entityData.define(DATA_MOB_BRED_WITH, Optional.empty());

    }


    public FourFeathers getFeatherData() {
        return entityData.get(DATA_FEATHERS);
    }

    public void setFeatherData(FourFeathers featherData) {
        entityData.set(DATA_FEATHERS, featherData);
    }

    @Override
    public void addAdditionalSaveData(@NotNull CompoundTag nbt) {
        super.addAdditionalSaveData(nbt);
        addPersistentAngerSaveData(nbt);
        nbt.put("FeatherData", getFeatherData().writeTag());
        nbt.putBoolean("isCrowing", crowing);
    }

    @Override
    public void readAdditionalSaveData(@NotNull CompoundTag nbt) {
        super.readAdditionalSaveData(nbt);
        readPersistentAngerSaveData(level(), nbt);
        if (nbt.contains("FeatherData", Tag.TAG_COMPOUND))
            setFeatherData(FourFeathers.readTag(nbt.getCompound("FeatherData")));
        else
            setFeatherData(FourFeathers.NONE);

        crowing = nbt.contains("isCrowing", Tag.TAG_BYTE) && nbt.getBoolean("isCrowing");
    }

    @Override
    protected void registerGoals() {
        goalSelector.addGoal(0, new FloatGoal(this));
        goalSelector.addGoal(1, new RoosterMeleeAttackGoal());
        goalSelector.addGoal(1, new RoosterRandomTryFindFoodGoal());
        goalSelector.addGoal(2, new RoosterBreedGoal());
        goalSelector.addGoal(3, new TemptGoal(this, 1, FOOD_ITEMS, false));
        goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1));
        goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6));
        goalSelector.addGoal(7, new RandomLookAroundGoal(this));
        targetSelector.addGoal(4, new RoosterRandomAttackNearbyRoosterGoal());
        targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, LivingEntity.class,
                true, entity -> entity instanceof Fox
                                || (entity instanceof Ocelot ocelot && !ocelot.isBaby())
                                || (entity instanceof Zombie zombie && zombie.goalSelector
                .getRunningGoals().anyMatch(wrappedGoal -> wrappedGoal.getGoal() instanceof ZombieAttackChickenEggGoal))
                                || isAngryAt(entity)));
        targetSelector.addGoal(2, new HurtByTargetGoal(this));
        targetSelector.addGoal(3, new ResetUniversalAngerTargetGoal<>(this, false));
    }

    @Override
    public void setMobBredWith(@Nullable UUID uuid) {
        entityData.set(DATA_MOB_BRED_WITH, Optional.ofNullable(uuid));
    }

    @Override
    @Nullable
    public UUID getMobBredWith() {
        return entityData.get(DATA_MOB_BRED_WITH).orElse(null);
    }

    // Goals
    class RoosterMeleeAttackGoal extends MeleeAttackGoal {

        RoosterMeleeAttackGoal() {
            super(Rooster.this, 1.4, true);
        }

        @Override
        public void tick() {
            super.tick();
            if (mob.getTarget() != null && mob.distanceToSqr(mob.getTarget()) <= 4) mob.getJumpControl().jump();
        }
    }

    class RoosterRandomAttackNearbyRoosterGoal extends NearestAttackableTargetGoal<Rooster> {
        RoosterRandomAttackNearbyRoosterGoal() {
            super(Rooster.this, Rooster.class, true);
        }

        @Override
        public boolean canUse() {
            return super.canUse() && random.nextInt(300) == 0;
        }

        @Override
        public boolean canContinueToUse() {
            return super.canContinueToUse() && mob.getLastHurtMob() != targetMob;
        }
    }

    class RoosterBreedGoal extends BreedGoal {

        RoosterBreedGoal() {
            super(Rooster.this, 1, Chicken.class);
        }

        @Override
        protected void breed() {
            ServerPlayer serverplayer = animal.getLoveCause();
            if (serverplayer == null && this.partner.getLoveCause() != null) {
                serverplayer = this.partner.getLoveCause();
            }

            if (serverplayer != null) {
                serverplayer.awardStat(Stats.ANIMALS_BRED);
                CriteriaTriggers.BRED_ANIMALS.trigger(serverplayer, this.animal, this.partner, null);
            }

            ((BredWithMobStorable) partner).setMobBredWith(animal.getUUID());
            ((BredWithMobStorable) animal).setMobBredWith(partner.getUUID());
            animal.setAge(6000);
            partner.setAge(6000);
            animal.resetLove();
            partner.resetLove();
            RandomSource randomsource = animal.getRandom();
            if (this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
                this.level.addFreshEntity(new ExperienceOrb(this.level,
                        this.animal.getX(),
                        this.animal.getY(),
                        this.animal.getZ(),
                        randomsource.nextInt(7) + 1));
            }
        }
    }

    private static final DelayedTask<Rooster> CROW_LATER = new DelayedTask<>(30) {
        @Override
        protected void execute() {
            entity.crow();
        }
    };
    private static final DelayedTask<Rooster> ANGRY_CLUCK_LATER = new DelayedTask<>(30) {
        @Override
        protected void execute() {
            entity.playSound(_Sounds.ROOSTER_ANGRY_CLUCK.get());
        }
    };

    @Override
    public ImmutableList<DelayedTask<Rooster>> getTasks() {
        return ImmutableList.of(CROW_LATER, ANGRY_CLUCK_LATER);
    }


    class RoosterRandomTryFindFoodGoal extends Goal {

        private final Rooster rooster;
        private int tickCount;
        private int maxTickCount;
        private int lastDugTicks;
        private int roosterLastHurtByMobTimestamp;

        private double lookAtXOld,
                lookAtYOld,
                lookAtZOld;

        private Vec3 pos;

        private boolean didEndSuccessfully;

        private Vec3 lookingAtPos;


        private static final UniformInt POSSIBLE_MAX_TICK_COUNT
                = TimeUtil.rangeOfSeconds(4, 10);

        RoosterRandomTryFindFoodGoal() {
            super();
            this.rooster = Rooster.this;
            setFlags(EnumSet.of(Flag.LOOK));
        }

        @Override
        public boolean canUse() {
            return (isStandingOn(Blocks.GRASS_BLOCK)
                    || isStandingOn(Blocks.DIRT)
                    || isStandingOn(Blocks.PODZOL))
                   && rooster.random.nextInt(3000) == 20;
        }

        @Override
        public boolean canContinueToUse() {
            if (rooster.getLastHurtByMobTimestamp() != roosterLastHurtByMobTimestamp) {
                didEndSuccessfully = false;
                return false;
            } else if (tickCount >= maxTickCount) {
                didEndSuccessfully = true;
                return false;
            }
            return true;
        }

        @Override
        public boolean requiresUpdateEveryTick() {
            return true;
        }

        @Override
        public void start() {
            lastDugTicks = 20;
            roosterLastHurtByMobTimestamp = rooster.getLastHurtByMobTimestamp();
            lookAtXOld = rooster.getLookControl().getWantedX();
            lookAtYOld = rooster.getLookControl().getWantedY();
            lookAtZOld = rooster.getLookControl().getWantedZ();
            pos = new Vec3(rooster.position().toVector3f());
            lookingAtPos = rooster.position().subtract(0, 1, 0);
            rooster.getLookControl().setLookAt(lookingAtPos);
            maxTickCount = POSSIBLE_MAX_TICK_COUNT.sample(rooster.random);
        }

        @Override
        public void stop() {
            rooster.getLookControl().setLookAt(lookAtXOld, lookAtYOld, lookAtZOld);
            if (didEndSuccessfully) {
                int resultItemPercentage = rooster.random.nextInt(100);
                if (resultItemPercentage <= 1) {
                    rooster.spawnAtLocation(Items.DIAMOND, -1);
                    Rooster.ANGRY_CLUCK_LATER.startExecution(rooster);
                } else if (resultItemPercentage <= 5) {
                    rooster.spawnAtLocation(Items.GOLD_NUGGET, -1);
                    Rooster.ANGRY_CLUCK_LATER.startExecution(rooster);
                } else if (resultItemPercentage <= 20) {
                    Rooster.ANGRY_CLUCK_LATER.startExecution(rooster);
                } else {
                    rooster.spawnAtLocation(FOOD_ITEMS.getItems()[rooster.random.nextInt(
                            FOOD_ITEMS.getItems().length)], -1);
                    Rooster.CROW_LATER.startExecution(rooster);
                }
            }
        }

        @Override
        public void tick() {
            ++tickCount;
            rooster.getLookControl().setLookAt(lookingAtPos);
            rooster.getMoveControl().setWantedPosition(pos.x, pos.y, pos.z, rooster.getMoveControl().getSpeedModifier());
            if (lastDugTicks <= 0) {
                lastDugTicks = 20;
                rooster.diggingAnimTicks = 10;
                rooster.playSound(rooster.level().getBlockState(rooster.blockPosition().below())
                        .getSoundType(rooster.level(), rooster.blockPosition().below(), rooster)
                        .getHitSound());
            } else lastDugTicks--;
        }

        private boolean isStandingOn(Block block) {
            return rooster.level().getBlockState(rooster.blockPosition().below()).is(block);
        }
    }


    // Feather data storage
    @Immutable
    public record FourFeathers(@NotNull FeatherType first,
                               @NotNull FeatherType second,
                               @NotNull FeatherType third,
                               @NotNull FeatherType fourth)
    {
        public static final FourFeathers NONE = new FourFeathers(FeatherType.NONE, FeatherType.NONE,
                FeatherType.NONE, FeatherType.NONE);

        public FourFeathers(byte first, byte second, byte third, byte forth) {
            this(FeatherType.fromByte(first),
                    FeatherType.fromByte(second),
                    FeatherType.fromByte(third),
                    FeatherType.fromByte(forth));
        }


        public @NotNull Pair<ItemStack, FourFeathers> removeRandom(RandomSource randomSource) {
            if (NONE.equals(this)) return new Pair<>(ItemStack.EMPTY, this);
            int randomNum = randomSource.nextInt(4);
            while (get(randomNum) == null) randomNum = randomSource.nextInt(4);
            ItemStack retVal0 = get(randomNum).getDefaultInstance();
            FourFeathers retVal1 = switch (randomNum) {
                case 0 -> new FourFeathers(FeatherType.NONE, second, third, fourth);
                case 1 -> new FourFeathers(first, FeatherType.NONE, third, fourth);
                case 2 -> new FourFeathers(first, second, FeatherType.NONE, fourth);
                case 3 -> new FourFeathers(first, second, third, FeatherType.NONE);
                default -> null; // unreachable
            };
            return new Pair<>(retVal0, retVal1);
        }

        public void dropAll(Rooster asRooster) {
            asRooster.setFeatherData(FourFeathers.NONE);
            if (first != FeatherType.NONE) asRooster.spawnAtLocation(first);
            if (second != FeatherType.NONE) asRooster.spawnAtLocation(second);
            if (third != FeatherType.NONE) asRooster.spawnAtLocation(third);
            if (fourth != FeatherType.NONE) asRooster.spawnAtLocation(fourth);
        }


        @Nullable
        public Item get(int i) {
            return (switch (i) {
                case 0 -> first;
                case 1 -> second;
                case 2 -> third;
                case 3 -> fourth;
                default -> throw new IllegalStateException("Unexpected value: " + i);
            }).asItem();
        }


        // NBT Utils
        @NotNull
        public CompoundTag writeTag() {
            CompoundTag nbt = new CompoundTag();
            nbt.putString("first", first.name().toLowerCase());
            nbt.putString("second", second.name().toLowerCase());
            nbt.putString("third", third.name().toLowerCase());
            nbt.putString("fourth", fourth.name().toLowerCase());
            return nbt;
        }

        @NotNull
        public static FourFeathers readTag(@NotNull CompoundTag nbt) {
            return new FourFeathers(tryRead(nbt, "first"),
                    tryRead(nbt, "second"),
                    tryRead(nbt, "third"),
                    tryRead(nbt, "fourth"));
        }

        private static FeatherType tryRead(CompoundTag tag, String toRead) {
            if (tag.contains(toRead, Tag.TAG_STRING)) {
                try {
                    return FeatherType.valueOf(tag.getString(toRead).toUpperCase());
                } catch (IllegalArgumentException e) {
                    return FeatherType.NONE;
                }
            }
            return FeatherType.NONE;
        }

        public FourFeathers copy() {
            return new FourFeathers(first, second, third, fourth);
        }
    }

    public enum FeatherType implements ItemLike {
        RED(_Items.RED_FEATHER, (byte) 0),
        YELLOW(_Items.YELLOW_FEATHER, (byte) 1),
        GREEN(_Items.GREEN_FEATHER, (byte) 2),
        BLUE(_Items.BLUE_FEATHER, (byte) 3),
        NONE(() -> null, (byte) -1);

        private final Supplier<Item> itemSup;
        private final byte byteVal;

        FeatherType(Supplier<Item> itemSup, byte byteVal) {
            this.itemSup = itemSup;
            this.byteVal = byteVal;
        }

        public static FeatherType fromByte(byte item) {
            return switch (item) {
                case -1 -> NONE;
                case 0 -> RED;
                case 1 -> YELLOW;
                case 2 -> GREEN;
                case 3 -> BLUE;
                default -> throw new IllegalArgumentException("item: " + item);
            };
        }

        @Override
        public @Nullable Item asItem() {
            return itemSup.get();
        }

        public byte asByte() {
            return byteVal;
        }
    }

    @Override
    protected void dropCustomDeathLoot(@NotNull DamageSource damageSource, int what, boolean idk) {
        super.dropCustomDeathLoot(damageSource, what, idk);
        getFeatherData().dropAll(this);
    }


    // Sounds

    @Override
    protected SoundEvent getAmbientSound() {
        return _Sounds.ROOSTER_AMBIENT.get();
    }

    @Override
    protected SoundEvent getHurtSound(@NotNull DamageSource damageSource) {
        return _Sounds.ROOSTER_HURT.get();
    }

    @Override
    protected SoundEvent getDeathSound() {
        return _Sounds.ROOSTER_DEATH.get();
    }

    public static AttributeSupplier.Builder createAttributes() {
        return createMobAttributes()
                .add(Attributes.ATTACK_DAMAGE, 2)
                .add(Attributes.MAX_HEALTH, 8)
                .add(Attributes.MOVEMENT_SPEED, .3);
    }


    @Override
    public boolean isBaby() {
        return false;
    }

    @Override
    public boolean canMate(@NotNull Animal other) {
        if (this == other) return false;
        else if (!(other instanceof Chicken)) return false;
        else return isInLove() && other.isInLove();
    }

    @Override
    @Nullable
    public SpawnGroupData finalizeSpawn(@NotNull ServerLevelAccessor worldAccessor,
                                        @NotNull DifficultyInstance difficulty,
                                        @NotNull MobSpawnType mobSpawnType,
                                        @Nullable SpawnGroupData retVal,
                                        @Nullable CompoundTag nbt) {
        if (nbt == null) {
            setFeatherData(new FourFeathers((byte) random.nextIntBetweenInclusive(-1, 3),
                    (byte) random.nextIntBetweenInclusive(-1, 3),
                    (byte) random.nextIntBetweenInclusive(-1, 3),
                    (byte) random.nextIntBetweenInclusive(-1, 3)));
        } else {
            if (nbt.contains("FeatherData", Tag.TAG_COMPOUND)) {
                setFeatherData(FourFeathers.readTag(nbt.getCompound("FeatherData")));
            }
        }
        return super.finalizeSpawn(worldAccessor, difficulty, mobSpawnType, retVal, nbt);
    }

    @Override
    protected void doAIStep() {
        if (crowing && --crowTicks <= 0) {
            crowing = false;
        }
        if (!level().isClientSide) {
            updatePersistentAnger((ServerLevel) level(), true);
            if (level().getDayTime() % 24000L == 0L || level().getDayTime() % 24000L == 13000L)
                crow();
        }
    }

    @Override
    public void setBaby(boolean baby) {
        if (baby) {
            Chick me = convertTo(_Entities.CHICK.get(), false);
            if (me != null) {
                me.setBoy(true);
            }
        }
    }

    @Override
    public @NotNull InteractionResult mobInteract(@NotNull Player player, @NotNull InteractionHand hand) {
        if (isFood(player.getItemInHand(hand))) {
            return super.mobInteract(player, hand);
        } else if (player.getItemInHand(hand) == ItemStack.EMPTY) {
            dropFeather(player);
            return InteractionResult.CONSUME;
        }
        return InteractionResult.PASS;
    }

    private void dropFeather(@Nullable LivingEntity target) {
        Pair<ItemStack, FourFeathers> resFeathers = getFeatherData().removeRandom(random);
        setFeatherData(resFeathers.getB());
        if (resFeathers.getA() != null && featherDropCoolDown == 0 && target != null) {
            spawnAtLocation(resFeathers.getA());
            playSound(SoundEvents.ITEM_PICKUP);
            setTarget(target);
            featherDropCoolDown = random.nextIntBetweenInclusive(20, 30);
        }
    }

    @Override
    public void setTarget(@Nullable LivingEntity target) {
        super.setTarget(target);
        if (target != null) {
            setPersistentAngerTarget(target.getUUID());
            startPersistentAngerTimer();
        }
    }


    public void crow() {
        if (!crowing) {
            crowing = true;
            crowTicks = 70;
            var lookControl = getLookControl();
            lookControl.setLookAt(lookControl.getWantedX(), position().y + .2, lookControl.getWantedZ());
            playSound(_Sounds.ROOSTER_CROW.get());
            level().getEntitiesOfClass(Chicken.class, getBoundingBox().inflate(20))
                    .forEach(chicken -> chicken.setTarget(this));
        }
    }

    public boolean isCrowing() {
        return crowing;
    }

    @Override
    public void tick() {
        super.tick();
        if (diggingAnimTicks > 0) --diggingAnimTicks;
        if (featherDropCoolDown > 0) --featherDropCoolDown;
        tickTasks();
    }


    public int getDiggingAnimTicks() {
        return diggingAnimTicks;
    }

    @Override
    public boolean isBoy() {
        return true;
    }

}
package mymod.entities.chicken;

import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.Tag;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.network.syncher.SynchedEntityData;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.DifficultyInstance;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.*;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.goal.*;
import net.minecraft.world.entity.animal.Animal;
import net.minecraft.world.entity.animal.Chicken;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraft.world.phys.AABB;
import org.jetbrains.annotations.NotNull;
import mymod._Entities;
import mymod._Sounds;

import org.jetbrains.annotations.Nullable;

import java.util.ArrayList;
import java.util.List;

public class Chick extends AbstractChicken {


    private static final EntityDataAccessor<Boolean> DATA_IS_BOY
            = SynchedEntityData.defineId(Chick.class, EntityDataSerializers.BOOLEAN);

    private final boolean initializedIsBoy;


    public Chick(EntityType<? extends Chick> entityType, Level world) {
        super(entityType, world);
        setAge(-24000);
        initializedIsBoy = false;
    }


    public Chick(EntityType<? extends Chick> entityType, Level world, boolean isBoy) {
        super(entityType, world);
        setAge(-24000);
        setBoy(isBoy);
        initializedIsBoy = true;
    }


    @Override
    protected SoundEvent getAmbientSound() {
        return _Sounds.CHICK_AMBIENT.get();
    }

    @Override
    protected SoundEvent getHurtSound(@NotNull DamageSource damageSource) {
        return _Sounds.CHICK_HURT.get();
    }


    @Override
    protected SoundEvent getDeathSound() {
        return _Sounds.CHICK_DEATH.get();
    }

    @Override
    public float getVoicePitch() {
        return (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F;
    }

    @Override
    protected void defineSynchedData() {
        super.defineSynchedData();
        entityData.define(DATA_IS_BOY, false);
    }

    @Override
    public void addAdditionalSaveData(@NotNull CompoundTag nbt) {
        super.addAdditionalSaveData(nbt);
        nbt.putBoolean("IsBoy", isBoy());
    }


    @Override
    public void readAdditionalSaveData(@NotNull CompoundTag nbt) {
        super.readAdditionalSaveData(nbt);
        if (nbt.contains("IsBoy", Tag.TAG_BYTE)) setBoy(nbt.getBoolean("IsBoy"));
    }

    @Override
    protected void registerGoals() {
        goalSelector.addGoal(0, new FloatGoal(this));
        goalSelector.addGoal(1, new PanicGoal(this, 1.4));
        goalSelector.addGoal(2, new TemptGoal(this, 1, FOOD_ITEMS, false));
        goalSelector.addGoal(3, new ChickFollowParentGoal());
        goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1));
        goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6));
        goalSelector.addGoal(7, new RandomLookAroundGoal(this));
    }


    @Override
    public void setLastHurtByMob(LivingEntity hurtByMob) {
        super.setLastHurtByMob(hurtByMob);
        if (getType() == _Entities.CHICK.get() && hurtByMob != null) {
            level().getEntitiesOfClass(Rooster.class,
                            new AABB(blockPosition().below(20).north(20).west(20),
                                    blockPosition().above(20).south(20).east(20)))
                    .stream()
                    .filter(r -> r.getPersistentAngerTarget() == null && r.getTarget() == null)
                    .forEach(r -> r.setTarget(hurtByMob));
        }
    }


    @Override
    public SpawnGroupData finalizeSpawn(@NotNull ServerLevelAccessor worldAccessor,
                                        @NotNull DifficultyInstance difficulty,
                                        @NotNull MobSpawnType mobSpawnType,
                                        @Nullable SpawnGroupData retVal,
                                        @Nullable CompoundTag nbt) {
        if (!initializedIsBoy) {
            if (nbt != null && nbt.contains("IsBoy", Tag.TAG_BYTE))
                setBoy(nbt.getBoolean("IsBoy"));
            else
                setBoy(random.nextBoolean());
        }
        return super.finalizeSpawn(worldAccessor, difficulty, mobSpawnType, retVal, nbt);
    }

    class ChickFollowParentGoal extends Goal {

        private Animal parent;
        private int timeToRecalculatePath;

        @Override
        public boolean canUse() {
            List<Animal> list = new ArrayList<>();
            list.addAll(level().getEntitiesOfClass(Chicken.class,
                    getBoundingBox().inflate(8, 4, 8)));
            list.addAll(level().getEntitiesOfClass(Rooster.class,
                    getBoundingBox().inflate(8, 4, 8)));
            Animal animal = null;
            double d0 = Double.MAX_VALUE;

            for (Animal animal1 : list) {
                if (animal1.getAge() >= 0) {
                    double d1 = distanceToSqr(animal1);
                    if (!(d1 > d0)) {
                        d0 = d1;
                        animal = animal1;
                    }
                }
            }

            if (animal == null) {
                return false;
            } else if (d0 < 9.0D) {
                return false;
            } else {
                parent = animal;
                return true;
            }
        }

        @Override
        public boolean canContinueToUse() {
            if (!parent.isAlive()) return false;
            double d = distanceToSqr(parent);
            return !(d < 9) && !(d > 256);
        }


        @Override
        public void start() {
            timeToRecalculatePath = 0;
        }

        @Override
        public void stop() {
            parent = null;
        }

        @Override
        public void tick() {
            if (--timeToRecalculatePath <= 0) {
                timeToRecalculatePath = adjustedTickDelay(10);
                getNavigation().moveTo(parent, 1.1);
            }
        }
    }


    public static AttributeSupplier.Builder createAttributes() {
        return createMobAttributes()
                .add(Attributes.MAX_HEALTH, 4)
                .add(Attributes.MOVEMENT_SPEED, .25);
    }

    @Override
    public void ageBoundaryReached() {
        super.ageBoundaryReached();
        if (getAge() >= 0) {
            if (isBoy())
                convertTo(_Entities.ROOSTER.get(), false);
            else
                convertTo(EntityType.CHICKEN, false);
        }
    }

    @Override
    public boolean isBaby() {
        return true;
    }

    @Override
    public boolean canMate(@NotNull Animal other) {
        return false;
    }

    @Override
    public void setBoy(boolean newBoolean) {
        entityData.set(DATA_IS_BOY, newBoolean);
    }

    @Override
    protected void doAIStep() {

    }

    @Override
    public void setBaby(boolean baby) {
        if (!baby) {
            if (isBoy()) {
                convertTo(_Entities.ROOSTER.get(), false);
            } else {
                convertTo(EntityType.CHICKEN, false);
            }
        }
    }

    @Override
    public boolean isBoy() {
        return entityData.get(DATA_IS_BOY);
    }
}

sorry for too long post lol

Posted (edited)

It might just be a misleading log, if you run the command while debugging what's the outcome? 
I've tried checking the item inside the RightClickBlock event and it works just fine

private static final Ingredient FOOD_ITEMS = Ingredient.of(Items.WHEAT_SEEDS, Items.MELON_SEEDS, Items.PUMPKIN_SEEDS, Items.BEETROOT_SEEDS, Items.TORCHFLOWER_SEEDS, Items.PITCHER_POD);

@SubscribeEvent
public static void onRightClickBlock(final PlayerInteractEvent.RightClickBlock event) {
	final ItemStack itemStack = event.getItemStack();
    LOGGER.info(FOOD_ITEMS.test(itemStack) + "");
}

When I right click a block with an Item it checks if is one of the ingredients of FOOD_ITEMS. Clicking with an empty hand (air) logs false, as expected.

Tip: please use the "spoiler" tags for long code snippets and don't merge all your classes into one code snippet

EDIT: just noticed you are on 1.20.1. Maybe is just a bug with the Forge version? Try update to the latest Forge 1.20.2 and see if it still occurs

Edited by JimiIT92

Don't blame me if i always ask for your help. I just want to learn to be better :)

Posted (edited)
23 hours ago, JimiIT92 said:

It might just be a misleading log, if you run the command while debugging what's the outcome? 
I've tried checking the item inside the RightClickBlock event and it works just fine

private static final Ingredient FOOD_ITEMS = Ingredient.of(Items.WHEAT_SEEDS, Items.MELON_SEEDS, Items.PUMPKIN_SEEDS, Items.BEETROOT_SEEDS, Items.TORCHFLOWER_SEEDS, Items.PITCHER_POD);

@SubscribeEvent
public static void onRightClickBlock(final PlayerInteractEvent.RightClickBlock event) {
	final ItemStack itemStack = event.getItemStack();
    LOGGER.info(FOOD_ITEMS.test(itemStack) + "");
}

When I right click a block with an Item it checks if is one of the ingredients of FOOD_ITEMS. Clicking with an empty hand (air) logs false, as expected.

Tip: please use the "spoiler" tags for long code snippets and don't merge all your classes into one code snippet

EDIT: just noticed you are on 1.20.1. Maybe is just a bug with the Forge version? Try update to the latest Forge 1.20.2 and see if it still occurs

I didn't yet see this happening on 1.20.2 forge, but sadly, I noticed that my mod is incompatible with this version because of this event handler:

@SubscribeEvent
    public static void onPlayerRightClickItem(PlayerInteractEvent.RightClickItem e) {
        if (e.getItemStack().getItem() instanceof EggItem) {
            List<ThrownEgg> eggs = e.getLevel().getEntitiesOfClass(ThrownEgg.class,
                    new AABB(e.getEntity().blockPosition().immutable()
                            .below(5)
                            .north(5)
                            .west(5),
                            e.getEntity().blockPosition().immutable()
                                    .above(10)
                                    .south(5)
                                    .east(5)));
            if (!eggs.isEmpty()) {
                eggs.forEach(ThrownEgg::discard);
                if (!e.getEntity().getAbilities().instabuild)
                    e.getItemStack().grow(1);
            }


            if (!e.getEntity().level().isClientSide) {
                ((ServerPlayer) e.getEntity()).connection.send(
                        new ClientboundStopSoundPacket(SoundEvents.EGG_THROW.getLocation(),
                                SoundSource.PLAYERS)); // Minecraft Forge 1.20.2 crashes because of NoSuchMethodError here
            }
            e.setCancellationResult(InteractionResult.SUCCESS);
            e.setCanceled(true);
        }
    }

 

Edited by btuh
Posted

Also why roosters don't spawn naturally

Shouldn't this do the thing?

// CommonModEvents
@SubscribeEvent
public static void registerSpawnPlacements(SpawnPlacementRegisterEvent e) {
    e.register(_Entities.ROOSTER.get(), ON_GROUND, WORLD_SURFACE, AbstractChicken::canSpawn, AND);
}

 

public static boolean canSpawn(EntityType<? extends AbstractChicken> entityType,
                               LevelAccessor level,
                               MobSpawnType spawnType,
                               BlockPos pos,
                               RandomSource random) {
    return entityType != _Entities.CHICK.get()
           && Animal.checkAnimalSpawnRules(entityType, level, spawnType, pos, random);
}

 

 

 

Posted (edited)
On 12/5/2023 at 2:13 PM, JimiIT92 said:

It might just be a misleading log, if you run the command while debugging what's the outcome? 
I've tried checking the item inside the RightClickBlock event and it works just fine

private static final Ingredient FOOD_ITEMS = Ingredient.of(Items.WHEAT_SEEDS, Items.MELON_SEEDS, Items.PUMPKIN_SEEDS, Items.BEETROOT_SEEDS, Items.TORCHFLOWER_SEEDS, Items.PITCHER_POD);

@SubscribeEvent
public static void onRightClickBlock(final PlayerInteractEvent.RightClickBlock event) {
	final ItemStack itemStack = event.getItemStack();
    LOGGER.info(FOOD_ITEMS.test(itemStack) + "");
}

When I right click a block with an Item it checks if is one of the ingredients of FOOD_ITEMS. Clicking with an empty hand (air) logs false, as expected.

Tip: please use the "spoiler" tags for long code snippets and don't merge all your classes into one code snippet

EDIT: just noticed you are on 1.20.1. Maybe is just a bug with the Forge version? Try update to the latest Forge 1.20.2 and see if it still occurs

Okay it doesn't happen anymore I think, but now I have two more problems that I posted before this one

Edited by btuh
Posted
On 12/5/2023 at 12:45 PM, btuh said:
((ServerPlayer) e.getEntity()).connection.send(
                        new ClientboundStopSoundPacket(SoundEvents.EGG_THROW.getLocation(),
                                SoundSource.PLAYERS)); // Minecraft Forge 1.20.2 crashes because of NoSuchMethodError here

Why are you doing this instead of just playing the sound using the level or the player method? 

Don't blame me if i always ask for your help. I just want to learn to be better :)

Posted
On 12/8/2023 at 2:22 AM, JimiIT92 said:

Why are you doing this instead of just playing the sound using the level or the player method? 

I'm stopping it (as it's done it StopsoundCommand class)

Posted
On 12/5/2023 at 2:13 PM, JimiIT92 said:

It might just be a misleading log, if you run the command while debugging what's the outcome? 
I've tried checking the item inside the RightClickBlock event and it works just fine

private static final Ingredient FOOD_ITEMS = Ingredient.of(Items.WHEAT_SEEDS, Items.MELON_SEEDS, Items.PUMPKIN_SEEDS, Items.BEETROOT_SEEDS, Items.TORCHFLOWER_SEEDS, Items.PITCHER_POD);

@SubscribeEvent
public static void onRightClickBlock(final PlayerInteractEvent.RightClickBlock event) {
	final ItemStack itemStack = event.getItemStack();
    LOGGER.info(FOOD_ITEMS.test(itemStack) + "");
}

When I right click a block with an Item it checks if is one of the ingredients of FOOD_ITEMS. Clicking with an empty hand (air) logs false, as expected.

Tip: please use the "spoiler" tags for long code snippets and don't merge all your classes into one code snippet

EDIT: just noticed you are on 1.20.1. Maybe is just a bug with the Forge version? Try update to the latest Forge 1.20.2 and see if it still occurs

I tried it, and when roosters started following me, I clicked a block with empty hand and it logged (air false). So the Ingredient class is totally not the issue, I guess so.

Posted
22 hours ago, btuh said:

I'm stopping it (as it's done it StopsoundCommand class)

Ah I see, haven't noticed that 😅

Don't blame me if i always ask for your help. I just want to learn to be better :)

Posted
On 12/5/2023 at 7:11 PM, btuh said:

Also why roosters don't spawn naturally

Shouldn't this do the thing?

// CommonModEvents
@SubscribeEvent
public static void registerSpawnPlacements(SpawnPlacementRegisterEvent e) {
    e.register(_Entities.ROOSTER.get(), ON_GROUND, WORLD_SURFACE, AbstractChicken::canSpawn, AND);
}

 

public static boolean canSpawn(EntityType<? extends AbstractChicken> entityType,
                               LevelAccessor level,
                               MobSpawnType spawnType,
                               BlockPos pos,
                               RandomSource random) {
    return entityType != _Entities.CHICK.get()
           && Animal.checkAnimalSpawnRules(entityType, level, spawnType, pos, random);
}

 

 

 

Have you ever had issues with this?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • If you’ve lost your Bitcoin to an online scam, hiring a professional recovery service can significantly improve your chances of getting your funds back. Century Web Recovery specializes in Bitcoin recovery, helping victims reclaim their stolen assets. Here’s what you need to know: Understanding the Recovery Process The recovery process begins with contacting Century Web Recovery. Their team will guide you through the steps necessary to initiate an investigation into your case. Understanding the process is key to managing your expectations. Documenting Your Case To facilitate recovery, it’s essential to document all relevant information regarding the scam. This includes transaction records, wallet addresses, and any communications with the scammer. Century Web Recovery will help you gather this information to build a strong case. Investigation and Tracking Once you hire Century Web Recovery, their experts will begin investigating your case. They use sophisticated tools to track the stolen Bitcoin, identifying the paths taken by the scammers. This tracing is crucial for successful recovery. Freezing Stolen Assets Quick action is vital in recovering stolen Bitcoin.Century Web Recovery works directly with cryptocurrency exchanges to freeze any stolen assets, preventing the scammers from cashing out your funds. This collaboration is essential for a successful recovery. Legal Support and Guidance If necessary, Century Web Recovery can provide legal support. They will guide you on reporting the scam to law enforcement and assist in filing any legal claims. Their expertise in crypto-related cases ensures you receive the best advice on how to proceed. If you’ve lost Bitcoin to an online scam, don’t hesitate. Hire Century Web Recovery to recover your lost assets and regain your financial security. Website.   centuryweb.online
    • Ich versuche, eine Verbindung zu einem Forge-Server mit Mods herzustellen, und statt beizutreten, hänge ich auf dem Ladebildschirm fest, der leicht dunkler wird und dann den folgenden Fehler anzeigt: Internal Exception: io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: readerIndex(8) + length(1) exceeds writerIndex(8): PooledUnsafeDirectByteBuf(ridx: 8, widx: 8, cap:8/9)
    • ---- Minecraft Crash Report ---- // Don't be sad, have a hug! ❤️ Time: 2025-04-17 16:51:43 Description: Rendering overlay java.lang.RuntimeException: net.minecraft.server.ChainedJsonException: Invalid shaders/core/particle.json: File not found     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.handler$fbh000$watut$onLoadShaders(GameRenderer.java:8834) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:GameRendererAccessor from mod iris,pl:mixin:APP:mixins.iris.json:MixinGameRenderer from mod iris,pl:mixin:APP:mixins.iris.json:MixinModelViewBobbing from mod iris,pl:mixin:APP:supplementaries-common.mixins.json:GameRendererMixin from mod supplementaries,pl:mixin:APP:sodium-common.mixins.json:features.gui.hooks.console.GameRendererMixin from mod sodium,pl:mixin:APP:ponder.mixins.json:client.accessor.GameRendererAccessor from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:core.compat.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:hud_batching.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:ars_nouveau.mixins.json:GameRendererMixin from mod ars_nouveau,pl:mixin:APP:ok_zoomer.mixins.json:GameRendererMixin from mod ok_zoomer,pl:mixin:APP:entity_model_features-common.mixins.json:MixinGameRenderer from mod entity_model_features,pl:mixin:APP:owo.mixins.json:shader.GameRendererMixin from mod owo,pl:mixin:APP:mixins.artifacts.common.json:ability.nightvision.client.GameRendererMixin from mod artifacts,pl:mixin:APP:watut.mixins.json:client.GameRendererReloadShaders from mod watut,pl:mixin:APP:create.mixins.json:client.GameRendererMixin from mod create,pl:mixin:APP:mixins.iris.json:MixinGameRenderer_NightVisionCompat from mod iris,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.reloadShaders(GameRenderer.java:731) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:GameRendererAccessor from mod iris,pl:mixin:APP:mixins.iris.json:MixinGameRenderer from mod iris,pl:mixin:APP:mixins.iris.json:MixinModelViewBobbing from mod iris,pl:mixin:APP:supplementaries-common.mixins.json:GameRendererMixin from mod supplementaries,pl:mixin:APP:sodium-common.mixins.json:features.gui.hooks.console.GameRendererMixin from mod sodium,pl:mixin:APP:ponder.mixins.json:client.accessor.GameRendererAccessor from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:core.compat.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:hud_batching.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:ars_nouveau.mixins.json:GameRendererMixin from mod ars_nouveau,pl:mixin:APP:ok_zoomer.mixins.json:GameRendererMixin from mod ok_zoomer,pl:mixin:APP:entity_model_features-common.mixins.json:MixinGameRenderer from mod entity_model_features,pl:mixin:APP:owo.mixins.json:shader.GameRendererMixin from mod owo,pl:mixin:APP:mixins.artifacts.common.json:ability.nightvision.client.GameRendererMixin from mod artifacts,pl:mixin:APP:watut.mixins.json:client.GameRendererReloadShaders from mod watut,pl:mixin:APP:create.mixins.json:client.GameRendererMixin from mod create,pl:mixin:APP:mixins.iris.json:MixinGameRenderer_NightVisionCompat from mod iris,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer$1.apply(GameRenderer.java:386) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer$1.apply(GameRenderer.java:361) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.SimplePreparableReloadListener.lambda$reload$1(SimplePreparableReloadListener.java:19) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,re:computing_frames,re:classloading,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:SinglePreparationResourceReloaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:moonlight.mixins.json:ConditionHackMixin from mod moonlight,pl:mixin:A}     at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?] {}     at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.SimpleReloadInstance.lambda$new$3(SimpleReloadInstance.java:69) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,re:classloading,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.SimpleReloadInstanceMixin from mod modernfix,pl:mixin:APP:fabric-resource-loader-v0.mixins.json:SimpleResourceReloadMixin from mod fabric_resource_loader_v0,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:148) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.fix_loop_spin_waiting.BlockableEventLoopMixin from mod modernfix,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,re:computing_frames,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.fix_loop_spin_waiting.BlockableEventLoopMixin from mod modernfix,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:111) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.fix_loop_spin_waiting.BlockableEventLoopMixin from mod modernfix,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.runTick(Minecraft.java:1155) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:resourcepackoverrides.common.mixins.json:client.MinecraftMixin from mod resourcepackoverrides,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin from mod puffish_skills,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:emi.mixins.json:MinecraftClientMixin from mod emi,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientAccessor from mod bettercombat,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientInject from mod bettercombat,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin from mod ars_nouveau,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:carryon.mixins.json:MinecraftMixin from mod carryon,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadEnd from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadStart from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:accessor.MinecraftClientAccessor from mod entity_model_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinMinecraftClient from mod entity_texture_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinResourceReload from mod entity_texture_features,pl:mixin:APP:bridgingmod.mixins.json:MinecraftClientMixin from mod bridgingmod,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:monolib.mixins.json:MixinMinecraft from mod monolib,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:journeymap.mixins.json:client.MinecraftMixin from mod journeymap,pl:mixin:APP:bosses_of_mass_destruction.mixins.json:test.TestMixin from mod bosses_of_mass_destruction,pl:mixin:APP:bosses_of_mass_destruction-common.mixins.json:test.TestMixin from mod bosses_of_mass_destruction,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin from mod fabric_events_interaction_v0,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin from mod ars_nouveau,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.run(Minecraft.java:807) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:resourcepackoverrides.common.mixins.json:client.MinecraftMixin from mod resourcepackoverrides,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin from mod puffish_skills,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:emi.mixins.json:MinecraftClientMixin from mod emi,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientAccessor from mod bettercombat,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientInject from mod bettercombat,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin from mod ars_nouveau,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:carryon.mixins.json:MinecraftMixin from mod carryon,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadEnd from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadStart from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:accessor.MinecraftClientAccessor from mod entity_model_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinMinecraftClient from mod entity_texture_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinResourceReload from mod entity_texture_features,pl:mixin:APP:bridgingmod.mixins.json:MinecraftClientMixin from mod bridgingmod,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:monolib.mixins.json:MixinMinecraft from mod monolib,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:journeymap.mixins.json:client.MinecraftMixin from mod journeymap,pl:mixin:APP:bosses_of_mass_destruction.mixins.json:test.TestMixin from mod bosses_of_mass_destruction,pl:mixin:APP:bosses_of_mass_destruction-common.mixins.json:test.TestMixin from mod bosses_of_mass_destruction,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin from mod fabric_events_interaction_v0,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin from mod ars_nouveau,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.main.Main.main(Main.java:230) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:classloading,pl:runtimedistcleaner:A}     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}     at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {re:mixin}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:136) ~[loader-4.0.38.jar%23128!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-4.0.38.jar%23128!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:32) ~[loader-4.0.38.jar%23128!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-4.0.38.jar%23128!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:103) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:74) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-11.0.4.jar%23111!/:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.run(BootstrapLauncher.java:210) [bootstraplauncher-2.0.2.jar:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:69) [bootstraplauncher-2.0.2.jar:?] {} Caused by: net.minecraft.server.ChainedJsonException: Invalid shaders/core/particle.json: File not found     at TRANSFORMER/[email protected]/net.minecraft.server.ChainedJsonException.forException(ChainedJsonException.java:48) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,re:classloading,pl:mixin:APP:mixins.iris.json:MixinChainedJsonException from mod iris,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.ShaderInstance.<init>(ShaderInstance.java:157) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:MixinShaderInstance from mod iris,pl:mixin:APP:mixins.iris.forge.json:MixinShaderInstance from mod iris,pl:mixin:APP:fabric-rendering-v1.mixins.json:shader.ShaderProgramMixin from mod fabric_rendering_v1,pl:mixin:APP:sodium-common.mixins.json:features.shader.uniform.ShaderInstanceMixin from mod sodium,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramAccessor from mod owo,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramMixin from mod owo,pl:mixin:APP:mixins.codechickenlib.json:ShaderInstanceMixin from mod (unknown),pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.ShaderInstance.<init>(ShaderInstance.java:99) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:MixinShaderInstance from mod iris,pl:mixin:APP:mixins.iris.forge.json:MixinShaderInstance from mod iris,pl:mixin:APP:fabric-rendering-v1.mixins.json:shader.ShaderProgramMixin from mod fabric_rendering_v1,pl:mixin:APP:sodium-common.mixins.json:features.shader.uniform.ShaderInstanceMixin from mod sodium,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramAccessor from mod owo,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramMixin from mod owo,pl:mixin:APP:mixins.codechickenlib.json:ShaderInstanceMixin from mod (unknown),pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/com.corosus.watut.ShaderInstanceBlur.<init>(ShaderInstanceBlur.java:27) ~[watut-neoforge-1.21.0-1.2.3.jar%23595!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.handler$fbh000$watut$onLoadShaders(GameRenderer.java:8820) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:GameRendererAccessor from mod iris,pl:mixin:APP:mixins.iris.json:MixinGameRenderer from mod iris,pl:mixin:APP:mixins.iris.json:MixinModelViewBobbing from mod iris,pl:mixin:APP:supplementaries-common.mixins.json:GameRendererMixin from mod supplementaries,pl:mixin:APP:sodium-common.mixins.json:features.gui.hooks.console.GameRendererMixin from mod sodium,pl:mixin:APP:ponder.mixins.json:client.accessor.GameRendererAccessor from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:core.compat.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:hud_batching.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:ars_nouveau.mixins.json:GameRendererMixin from mod ars_nouveau,pl:mixin:APP:ok_zoomer.mixins.json:GameRendererMixin from mod ok_zoomer,pl:mixin:APP:entity_model_features-common.mixins.json:MixinGameRenderer from mod entity_model_features,pl:mixin:APP:owo.mixins.json:shader.GameRendererMixin from mod owo,pl:mixin:APP:mixins.artifacts.common.json:ability.nightvision.client.GameRendererMixin from mod artifacts,pl:mixin:APP:watut.mixins.json:client.GameRendererReloadShaders from mod watut,pl:mixin:APP:create.mixins.json:client.GameRendererMixin from mod create,pl:mixin:APP:mixins.iris.json:MixinGameRenderer_NightVisionCompat from mod iris,pl:mixin:A,pl:runtimedistcleaner:A}     ... 29 more Caused by: java.io.FileNotFoundException: minecraft:shaders/core/particle.json     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.ResourceProvider.lambda$getResourceOrThrow$1(ResourceProvider.java:23) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:classloading,re:mixin}     at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[?:?] {re:mixin}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.ResourceProvider.getResourceOrThrow(ResourceProvider.java:23) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:classloading,re:mixin}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.ResourceProvider.openAsReader(ResourceProvider.java:31) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:classloading,re:mixin}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.ShaderInstance.<init>(ShaderInstance.java:106) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:MixinShaderInstance from mod iris,pl:mixin:APP:mixins.iris.forge.json:MixinShaderInstance from mod iris,pl:mixin:APP:fabric-rendering-v1.mixins.json:shader.ShaderProgramMixin from mod fabric_rendering_v1,pl:mixin:APP:sodium-common.mixins.json:features.shader.uniform.ShaderInstanceMixin from mod sodium,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramAccessor from mod owo,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramMixin from mod owo,pl:mixin:APP:mixins.codechickenlib.json:ShaderInstanceMixin from mod (unknown),pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.ShaderInstance.<init>(ShaderInstance.java:99) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:MixinShaderInstance from mod iris,pl:mixin:APP:mixins.iris.forge.json:MixinShaderInstance from mod iris,pl:mixin:APP:fabric-rendering-v1.mixins.json:shader.ShaderProgramMixin from mod fabric_rendering_v1,pl:mixin:APP:sodium-common.mixins.json:features.shader.uniform.ShaderInstanceMixin from mod sodium,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramAccessor from mod owo,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramMixin from mod owo,pl:mixin:APP:mixins.codechickenlib.json:ShaderInstanceMixin from mod (unknown),pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/com.corosus.watut.ShaderInstanceBlur.<init>(ShaderInstanceBlur.java:27) ~[watut-neoforge-1.21.0-1.2.3.jar%23595!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.handler$fbh000$watut$onLoadShaders(GameRenderer.java:8820) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:GameRendererAccessor from mod iris,pl:mixin:APP:mixins.iris.json:MixinGameRenderer from mod iris,pl:mixin:APP:mixins.iris.json:MixinModelViewBobbing from mod iris,pl:mixin:APP:supplementaries-common.mixins.json:GameRendererMixin from mod supplementaries,pl:mixin:APP:sodium-common.mixins.json:features.gui.hooks.console.GameRendererMixin from mod sodium,pl:mixin:APP:ponder.mixins.json:client.accessor.GameRendererAccessor from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:core.compat.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:hud_batching.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:ars_nouveau.mixins.json:GameRendererMixin from mod ars_nouveau,pl:mixin:APP:ok_zoomer.mixins.json:GameRendererMixin from mod ok_zoomer,pl:mixin:APP:entity_model_features-common.mixins.json:MixinGameRenderer from mod entity_model_features,pl:mixin:APP:owo.mixins.json:shader.GameRendererMixin from mod owo,pl:mixin:APP:mixins.artifacts.common.json:ability.nightvision.client.GameRendererMixin from mod artifacts,pl:mixin:APP:watut.mixins.json:client.GameRendererReloadShaders from mod watut,pl:mixin:APP:create.mixins.json:client.GameRendererMixin from mod create,pl:mixin:APP:mixins.iris.json:MixinGameRenderer_NightVisionCompat from mod iris,pl:mixin:A,pl:runtimedistcleaner:A}     ... 29 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.handler$fbh000$watut$onLoadShaders(GameRenderer.java:8834) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:GameRendererAccessor from mod iris,pl:mixin:APP:mixins.iris.json:MixinGameRenderer from mod iris,pl:mixin:APP:mixins.iris.json:MixinModelViewBobbing from mod iris,pl:mixin:APP:supplementaries-common.mixins.json:GameRendererMixin from mod supplementaries,pl:mixin:APP:sodium-common.mixins.json:features.gui.hooks.console.GameRendererMixin from mod sodium,pl:mixin:APP:ponder.mixins.json:client.accessor.GameRendererAccessor from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:core.compat.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:hud_batching.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:ars_nouveau.mixins.json:GameRendererMixin from mod ars_nouveau,pl:mixin:APP:ok_zoomer.mixins.json:GameRendererMixin from mod ok_zoomer,pl:mixin:APP:entity_model_features-common.mixins.json:MixinGameRenderer from mod entity_model_features,pl:mixin:APP:owo.mixins.json:shader.GameRendererMixin from mod owo,pl:mixin:APP:mixins.artifacts.common.json:ability.nightvision.client.GameRendererMixin from mod artifacts,pl:mixin:APP:watut.mixins.json:client.GameRendererReloadShaders from mod watut,pl:mixin:APP:create.mixins.json:client.GameRendererMixin from mod create,pl:mixin:APP:mixins.iris.json:MixinGameRenderer_NightVisionCompat from mod iris,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.reloadShaders(GameRenderer.java:731) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:GameRendererAccessor from mod iris,pl:mixin:APP:mixins.iris.json:MixinGameRenderer from mod iris,pl:mixin:APP:mixins.iris.json:MixinModelViewBobbing from mod iris,pl:mixin:APP:supplementaries-common.mixins.json:GameRendererMixin from mod supplementaries,pl:mixin:APP:sodium-common.mixins.json:features.gui.hooks.console.GameRendererMixin from mod sodium,pl:mixin:APP:ponder.mixins.json:client.accessor.GameRendererAccessor from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:core.compat.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:hud_batching.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:ars_nouveau.mixins.json:GameRendererMixin from mod ars_nouveau,pl:mixin:APP:ok_zoomer.mixins.json:GameRendererMixin from mod ok_zoomer,pl:mixin:APP:entity_model_features-common.mixins.json:MixinGameRenderer from mod entity_model_features,pl:mixin:APP:owo.mixins.json:shader.GameRendererMixin from mod owo,pl:mixin:APP:mixins.artifacts.common.json:ability.nightvision.client.GameRendererMixin from mod artifacts,pl:mixin:APP:watut.mixins.json:client.GameRendererReloadShaders from mod watut,pl:mixin:APP:create.mixins.json:client.GameRendererMixin from mod create,pl:mixin:APP:mixins.iris.json:MixinGameRenderer_NightVisionCompat from mod iris,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer$1.apply(GameRenderer.java:386) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer$1.apply(GameRenderer.java:361) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.SimplePreparableReloadListener.lambda$reload$1(SimplePreparableReloadListener.java:19) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,re:computing_frames,re:classloading,pl:mixin:APP:fabric-resource-conditions-api-v1.mixins.json:SinglePreparationResourceReloaderMixin from mod fabric_resource_conditions_api_v1,pl:mixin:APP:moonlight.mixins.json:ConditionHackMixin from mod moonlight,pl:mixin:A}     at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?] {}     at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.SimpleReloadInstance.lambda$new$3(SimpleReloadInstance.java:69) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,re:classloading,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.SimpleReloadInstanceMixin from mod modernfix,pl:mixin:APP:fabric-resource-loader-v0.mixins.json:SimpleResourceReloadMixin from mod fabric_resource_loader_v0,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:148) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.fix_loop_spin_waiting.BlockableEventLoopMixin from mod modernfix,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,re:computing_frames,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:perf.fix_loop_spin_waiting.BlockableEventLoopMixin from mod modernfix,pl:mixin:A} -- Overlay render details -- Details:     Overlay name: net.neoforged.neoforge.client.loading.NeoForgeLoadingOverlay Stacktrace:     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:1084) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.iris.json:GameRendererAccessor from mod iris,pl:mixin:APP:mixins.iris.json:MixinGameRenderer from mod iris,pl:mixin:APP:mixins.iris.json:MixinModelViewBobbing from mod iris,pl:mixin:APP:supplementaries-common.mixins.json:GameRendererMixin from mod supplementaries,pl:mixin:APP:sodium-common.mixins.json:features.gui.hooks.console.GameRendererMixin from mod sodium,pl:mixin:APP:ponder.mixins.json:client.accessor.GameRendererAccessor from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:core.compat.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:immediatelyfast-common.mixins.json:hud_batching.MixinGameRenderer from mod immediatelyfast,pl:mixin:APP:ars_nouveau.mixins.json:GameRendererMixin from mod ars_nouveau,pl:mixin:APP:ok_zoomer.mixins.json:GameRendererMixin from mod ok_zoomer,pl:mixin:APP:entity_model_features-common.mixins.json:MixinGameRenderer from mod entity_model_features,pl:mixin:APP:owo.mixins.json:shader.GameRendererMixin from mod owo,pl:mixin:APP:mixins.artifacts.common.json:ability.nightvision.client.GameRendererMixin from mod artifacts,pl:mixin:APP:watut.mixins.json:client.GameRendererReloadShaders from mod watut,pl:mixin:APP:create.mixins.json:client.GameRendererMixin from mod create,pl:mixin:APP:mixins.iris.json:MixinGameRenderer_NightVisionCompat from mod iris,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.runTick(Minecraft.java:1195) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:resourcepackoverrides.common.mixins.json:client.MinecraftMixin from mod resourcepackoverrides,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin from mod puffish_skills,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:emi.mixins.json:MinecraftClientMixin from mod emi,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientAccessor from mod bettercombat,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientInject from mod bettercombat,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin from mod ars_nouveau,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:carryon.mixins.json:MinecraftMixin from mod carryon,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadEnd from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadStart from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:accessor.MinecraftClientAccessor from mod entity_model_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinMinecraftClient from mod entity_texture_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinResourceReload from mod entity_texture_features,pl:mixin:APP:bridgingmod.mixins.json:MinecraftClientMixin from mod bridgingmod,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:monolib.mixins.json:MixinMinecraft from mod monolib,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:journeymap.mixins.json:client.MinecraftMixin from mod journeymap,pl:mixin:APP:bosses_of_mass_destruction.mixins.json:test.TestMixin from mod bosses_of_mass_destruction,pl:mixin:APP:bosses_of_mass_destruction-common.mixins.json:test.TestMixin from mod bosses_of_mass_destruction,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin from mod fabric_events_interaction_v0,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin from mod ars_nouveau,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.run(Minecraft.java:807) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:resourcepackoverrides.common.mixins.json:client.MinecraftMixin from mod resourcepackoverrides,pl:mixin:APP:fabric-screen-api-v1.mixins.json:MinecraftClientMixin from mod fabric_screen_api_v1,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:puffish_skills.mixins.json:MinecraftClientMixin from mod puffish_skills,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:emi.mixins.json:MinecraftClientMixin from mod emi,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientAccessor from mod bettercombat,pl:mixin:APP:bettercombat.mixins.json:client.MinecraftClientInject from mod bettercombat,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin from mod ars_nouveau,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:carryon.mixins.json:MinecraftMixin from mod carryon,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadEnd from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:MixinResourceReloadStart from mod entity_model_features,pl:mixin:APP:entity_model_features-common.mixins.json:accessor.MinecraftClientAccessor from mod entity_model_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinMinecraftClient from mod entity_texture_features,pl:mixin:APP:entity_texture_features-common.mixins.json:reloading.MixinResourceReload from mod entity_texture_features,pl:mixin:APP:bridgingmod.mixins.json:MinecraftClientMixin from mod bridgingmod,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:monolib.mixins.json:MixinMinecraft from mod monolib,pl:mixin:APP:fabric-networking-api-v1.client.mixins.json:accessor.MinecraftClientAccessor from mod fabric_networking_api_v1,pl:mixin:APP:fabric-lifecycle-events-v1.client.mixins.json:MinecraftClientMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:journeymap.mixins.json:client.MinecraftMixin from mod journeymap,pl:mixin:APP:bosses_of_mass_destruction.mixins.json:test.TestMixin from mod bosses_of_mass_destruction,pl:mixin:APP:bosses_of_mass_destruction-common.mixins.json:test.TestMixin from mod bosses_of_mass_destruction,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:fabric-events-interaction-v0.client.mixins.json:MinecraftClientMixin from mod fabric_events_interaction_v0,pl:mixin:APP:mixins.codechickenlib.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin from mod ars_nouveau,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.main.Main.main(Main.java:230) ~[client-1.21.1-20240808.144430-srg.jar%23392!/:?] {re:classloading,pl:runtimedistcleaner:A}     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}     at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {re:mixin}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:136) ~[loader-4.0.38.jar%23128!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-4.0.38.jar%23128!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:32) ~[loader-4.0.38.jar%23128!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-4.0.38.jar%23128!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:103) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:74) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-11.0.4.jar%23111!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-11.0.4.jar%23111!/:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.run(BootstrapLauncher.java:210) [bootstraplauncher-2.0.2.jar:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:69) [bootstraplauncher-2.0.2.jar:?] {} -- Uptime -- Details:     JVM uptime: 30.974s     Wall uptime: 9.670s     High-res time: 27.089s     Client ticks: 39 ticks / 1.950s -- Last reload -- Details:     Reload number: 1     Reload reason: initial     Finished: No     Packs: vanilla, fabric -- System Details -- Details:     Minecraft Version: 1.21.1     Minecraft Version ID: 1.21.1     Operating System: Windows 11 (amd64) version 10.0     Java Version: 21.0.3, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 461736744 bytes (440 MiB) / 1895825408 bytes (1808 MiB) up to 18152947712 bytes (17312 MiB)     CPUs: 12     Processor Vendor: GenuineIntel     Processor Name: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz     Identifier: Intel64 Family 6 Model 158 Stepping 10     Microarchitecture: Coffee Lake     Frequency (GHz): 3.19     Number of physical packages: 1     Number of physical CPUs: 6     Number of logical CPUs: 12     Graphics card #0 name: NVIDIA GeForce GTX 1060 3GB     Graphics card #0 vendor: NVIDIA     Graphics card #0 VRAM (MiB): 3072.00     Graphics card #0 deviceId: VideoController1     Graphics card #0 versionInfo: 27.21.14.5751     Memory slot #0 capacity (MiB): 8192.00     Memory slot #0 clockSpeed (GHz): 2.40     Memory slot #0 type: DDR4     Memory slot #1 capacity (MiB): 16384.00     Memory slot #1 clockSpeed (GHz): 2.67     Memory slot #1 type: DDR4     Memory slot #2 capacity (MiB): 8192.00     Memory slot #2 clockSpeed (GHz): 2.40     Memory slot #2 type: DDR4     Memory slot #3 capacity (MiB): 16384.00     Memory slot #3 clockSpeed (GHz): 2.67     Memory slot #3 type: DDR4     Virtual memory max (MiB): 52109.58     Virtual memory used (MiB): 14606.43     Swap memory total (MiB): 3072.00     Swap memory used (MiB): 1.59     Space in storage for jna.tmpdir (MiB): available: 614936.13, total: 1907600.00     Space in storage for org.lwjgl.system.SharedLibraryExtractPath (MiB): available: 614936.13, total: 1907600.00     Space in storage for io.netty.native.workdir (MiB): available: 614936.13, total: 1907600.00     Space in storage for java.io.tmpdir (MiB): available: 277844.97, total: 461091.03     Space in storage for workdir (MiB): available: 614936.13, total: 1907600.00     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx17312m -Xms256m     Loaded Shaderpack: (off)     Launched Version: neoforge-21.1.139     Launcher name: minecraft-launcher     Backend library: LWJGL version 3.3.3+5     Backend API: GeForce GTX 1060 3GB/PCIe/SSE2 GL version 4.6.0 NVIDIA 457.51, NVIDIA Corporation     Window size: 1024x768     GFLW Platform: win32     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages:      Is Modded: Definitely; Client brand changed to 'neoforge'     Universe: 400921fb54442d18     Type: Client (map_client.txt)     Graphics mode: fancy     Render Distance: 12/12 chunks     Resource Packs: vanilla, fabric     Current Language: en_us     Locale: en_US     System encoding: Cp1252     File encoding: UTF-8     CPU: 12x Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz     ModLauncher: 11.0.4+main.d2e20e43     ModLauncher launch target: forgeclient     ModLauncher services:          sponge-mixin-0.15.2+mixin.0.8.7.jar mixin PLUGINSERVICE          loader-4.0.38.jar slf4jfixer PLUGINSERVICE          loader-4.0.38.jar runtime_enum_extender PLUGINSERVICE          at-modlauncher-10.0.1.jar accesstransformer PLUGINSERVICE          loader-4.0.38.jar runtimedistcleaner PLUGINSERVICE          modlauncher-11.0.4.jar mixin TRANSFORMATIONSERVICE          modlauncher-11.0.4.jar fml TRANSFORMATIONSERVICE      FML Language Providers:          [email protected]         [email protected]+0.16.0+1.21         [email protected]         [email protected]         [email protected]     Mod List:          skinlayers3d-neoforge-1.7.4-mc1.21.jar            |3d-Skin-Layers                |skinlayers3d                  |1.7.4               |Manifest: NOSIGNATURE         accessories-neoforge-1.1.0-beta.35+1.21.1.jar     |Accessories                   |accessories                   |1.1.0-beta.35+1.21.1|Manifest: NOSIGNATURE         adorabuild-structures-2.10.1-neoforge-1.21.3.jar  |AdoraBuild: Structures        |adorabuild_structures         |2.10.1              |Manifest: NOSIGNATURE         amendments-1.21-1.2.24-neoforge.jar               |Amendments                    |amendments                    |1.21-1.2.24         |Manifest: NOSIGNATURE         Apotheosis-1.21.1-8.1.3.jar                       |Apotheosis                    |apotheosis                    |8.1.3               |Manifest: NOSIGNATURE         ApothicAttributes-1.21.1-2.6.2.jar                |Apothic Attributes            |apothic_attributes            |2.6.2               |Manifest: NOSIGNATURE         ApothicEnchanting-1.21.1-1.3.2.jar                |Apothic Enchanting            |apothic_enchanting            |1.3.2               |Manifest: NOSIGNATURE         ApothicSpawners-1.21.1-1.2.1.jar                  |Apothic Spawners              |apothic_spawners              |1.2.1               |Manifest: NOSIGNATURE         architectury-13.0.8-neoforge.jar                  |Architectury                  |architectury                  |13.0.8              |Manifest: NOSIGNATURE         ars_creo-1.21.1-5.1.0.jar                         |Ars Creo                      |ars_creo                      |5.1.0               |Manifest: NOSIGNATURE         ars_nouveau-1.21.1-5.8.1-all.jar                  |Ars Nouveau                   |ars_nouveau                   |5.8.1               |Manifest: NOSIGNATURE         arsdelight-2.1.5.jar                              |Ars Nouveau's Flavors & Deligh|arsdelight                    |2.1.5               |Manifest: NOSIGNATURE         ars_ocultas-1.21.1-2.1.0.jar                      |Ars Ocultas                   |ars_ocultas                   |2.1.0               |Manifest: NOSIGNATURE         artifacts-neoforge-12.1.5.jar                     |Artifacts                     |artifacts                     |12.1.5              |Manifest: NOSIGNATURE         athena-neoforge-1.21-4.0.1.jar                    |Athena                        |athena                        |4.0.1               |Manifest: NOSIGNATURE         attributefix-neoforge-1.21.1-21.1.2.jar           |AttributeFix                  |attributefix                  |21.1.2              |Manifest: NOSIGNATURE         balm-neoforge-1.21.1-21.0.39.jar                  |Balm                          |balm                          |21.0.39             |Manifest: NOSIGNATURE         BEB-NeoForge-1.21-3.0.0.jar                       |Beautiful Enchanted Books     |beb                           |3.0.0               |Manifest: NOSIGNATURE         BetterAdvancements-NeoForge-1.21.1-0.4.3.21.jar   |Better Advancements           |betteradvancements            |0.4.3.21            |Manifest: NOSIGNATURE         betterarcheology-neoforge-1.3.2.jar               |Better Archeology             |betterarcheology              |1.3.2               |Manifest: NOSIGNATURE         bettercombat-neoforge-2.1.3+1.21.1.jar            |Better Combat                 |bettercombat                  |2.1.3+1.21.1        |Manifest: NOSIGNATURE         betterchunkloading-1.21-5.4.jar                   |betterchunkloading mod        |betterchunkloading            |5.4                 |Manifest: NOSIGNATURE         blossom-blade-1.3.jar                             |Blossom Blade                 |mr_blossom_blade              |1.3                 |Manifest: NOSIGNATURE         bookshelf-neoforge-1.21.1-21.1.57.jar             |Bookshelf                     |bookshelf                     |21.1.57             |Manifest: NOSIGNATURE         borderless-neoforge-1.21.4-1.7.2-all.jar          |Borderless Window             |borderlesswindow              |1.21.4-1.7.2        |Manifest: NOSIGNATURE         BOMD-NeoForge-1.21-1.3.2.jar                      |Bosses of Mass Destruction    |bosses_of_mass_destruction    |1.3.2               |Manifest: NOSIGNATURE         BridgingMod-2.6.2+1.21.1.neoforge-release.jar     |Bridging Mod                  |bridgingmod                   |2.6.2+1.21.1        |Manifest: NOSIGNATURE         buildersjetpackmod-3.1-1.21.1.jar                 |Builder's Jetpack Mod         |buildersjetpackmod            |3.1-1.21.1          |Manifest: NOSIGNATURE         BuildingWands-neoforge-MC1.21-2.8.3.jar           |Building Wands                |wands                         |2.8.3               |Manifest: NOSIGNATURE         carryon-neoforge-1.21.1-2.2.2.11.jar              |Carry On                      |carryon                       |2.2.2               |Manifest: NOSIGNATURE         CerbonsAPI-NeoForge-1.21-1.2.0.jar                |Cerbons API                   |cerbons_api                   |1.2.0               |Manifest: NOSIGNATURE         charmofundying-neoforge-9.1.0+1.21.1.jar          |Charm of Undying              |charmofundying                |9.1.0+1.21.1        |Manifest: NOSIGNATURE         cherishedworlds-neoforge-10.1.0+1.21.1.jar        |Cherished Worlds              |cherishedworlds               |10.1.0+1.21.1       |Manifest: NOSIGNATURE         chipped-neoforge-1.21.1-4.0.2.jar                 |Chipped                       |chipped                       |4.0.2               |Manifest: NOSIGNATURE         [neoforge]ctov-3.5.7a.jar                         |ChoiceTheorem's Overhauled Vil|ctov                          |3.5.7a              |Manifest: NOSIGNATURE         chunksending-1.21-2.8.jar                         |chunksending mod              |chunksending                  |2.8                 |Manifest: NOSIGNATURE         cloth-config-15.0.140-neoforge.jar                |Cloth Config v15 API          |cloth_config                  |15.0.140            |Manifest: NOSIGNATURE         Clumps-neoforge-1.21.1-19.0.0.1.jar               |Clumps                        |clumps                        |19.0.0.1            |Manifest: NOSIGNATURE         CodeChickenLib-1.21.1-4.6.0.521.jar               |CodeChicken Lib               |codechickenlib                |4.6.0.521           |Manifest: 31:e6:db:63:47:4a:6e:e0:0a:2c:11:d1:76:db:4e:82:ff:56:2d:29:93:d2:e5:02:bd:d3:bd:9d:27:47:a5:71         collective-1.21.1-7.94.jar                        |Collective                    |collective                    |7.94                |Manifest: NOSIGNATURE         colorfulhearts-neoforge-1.21.1-10.3.8.jar         |Colorful Hearts               |colorfulhearts                |10.3.8              |Manifest: NOSIGNATURE         comforts-neoforge-9.0.3+1.21.1.jar                |Comforts                      |comforts                      |9.0.3+1.21.1        |Manifest: NOSIGNATURE         common-networking-neoforge-1.0.18-1.21.1.jar      |Common Networking             |commonnetworking              |1.0.18-1.21.1       |Manifest: NOSIGNATURE         connectedglass-1.1.13-neoforge-mc1.21.jar         |Connected Glass               |connectedglass                |1.1.13              |Manifest: NOSIGNATURE         connectivity-1.21.1-7.1.jar                       |Connectivity Mod              |connectivity                  |7.1                 |Manifest: NOSIGNATURE         ConstructionSticks-1.21.1-1.1.5.jar               |Construction Sticks           |constructionstick             |1.1.5               |Manifest: NOSIGNATURE         Controlling-neoforge-1.21.1-19.0.4.jar            |Controlling                   |controlling                   |19.0.4              |Manifest: NOSIGNATURE         Corgilib-NeoForge-1.21.1-5.0.0.3.jar              |CorgiLib                      |corgilib                      |5.0.0.3             |Manifest: NOSIGNATURE         coroutil-neoforge-1.21.0-1.3.8.jar                |CoroUtil                      |coroutil                      |1.21.0-1.3.8        |Manifest: NOSIGNATURE         corpse-neoforge-1.21.1-1.1.5.jar                  |Corpse                        |corpse                        |1.21.1-1.1.5        |Manifest: NOSIGNATURE         corpsecurioscompat-1.21.1-NeoForge-2.2.2.jar      |Corpse Curios Compatibility   |corpsecurioscompat            |2.2.2               |Manifest: NOSIGNATURE         craftingtweaks-neoforge-1.21.1-21.1.5.jar         |Crafting Tweaks               |craftingtweaks                |21.1.5              |Manifest: NOSIGNATURE         create-1.21.1-6.0.4.jar                           |Create                        |create                        |6.0.4               |Manifest: NOSIGNATURE         Create Encased-1.21.1-1.7.1-fix2.jar              |Create Encased                |createcasing                  |1.7.1-fix2          |Manifest: NOSIGNATURE         createoreexcavation-1.21-1.6.2.jar                |Create Ore Excavation         |createoreexcavation           |0.0NONE             |Manifest: NOSIGNATURE         create_oxidized-0.1.3.jar                         |Create: Oxidized              |create_oxidized               |0.1.3               |Manifest: NOSIGNATURE         Stam1oCreateTweaks-1.0.7+1.21.1-Neo.jar           |Create: Stam1o Tweaks         |stam1ocreatetweaks            |1.0.7               |Manifest: NOSIGNATURE         create_waystones_recipes-3.0.0-NeoForge-1.21.1.jar|Create: Waystones Recipes     |create_waystones_recipes      |3.0.0-NeoForge-1.21.|Manifest: NOSIGNATURE         CreeperOverhaul-neoforge-1.21.1-4.0.6.jar         |Creeper Overhaul              |creeperoverhaul               |4.0.6               |Manifest: NOSIGNATURE         cristellib-neoforge-1.2.8.jar                     |Cristel Lib                   |cristellib                    |1.2.8               |Manifest: NOSIGNATURE         cupboard-1.21-2.9.jar                             |Cupboard mod                  |cupboard                      |2.9                 |Manifest: NOSIGNATURE         curios-neoforge-9.3.1+1.21.1.jar                  |Curios API                    |curios                        |9.3.1+1.21.1        |Manifest: NOSIGNATURE         cpapireforged-neo-1.21.1-1.0.11.jar               |Custom Portal API ReForged    |cpapireforged                 |1.0.11              |Manifest: NOSIGNATURE         cyclopscore-1.21.1-neoforge-1.25.9.jar            |Cyclops Core                  |cyclopscore                   |1.25.9              |Manifest: NOSIGNATURE         diagonalblocks-neoforge-21.1.2.jar                |Diagonal Blocks               |diagonalblocks                |21.1.2              |Manifest: NOSIGNATURE         DiagonalFences-v21.1.1-1.21.1-NeoForge.jar        |Diagonal Fences               |diagonalfences                |21.1.1              |Manifest: NOSIGNATURE         DiagonalWalls-v21.1.2-1.21.1-NeoForge.jar         |Diagonal Walls                |diagonalwalls                 |21.1.2              |Manifest: NOSIGNATURE         DiagonalWindows-v21.1.1-1.21.1-NeoForge.jar       |Diagonal Windows              |diagonalwindows               |21.1.1              |Manifest: NOSIGNATURE         doubledoors-1.21.1-6.2.jar                        |Double Doors                  |doubledoors                   |6.2                 |Manifest: NOSIGNATURE         dungeons-and-taverns-v4.4.4 [NeoForge].jar        |Dungeons and Taverns          |mr_dungeons_andtaverns        |1-v4.4.4            |Manifest: NOSIGNATURE         durabilitytooltip-1.1.5-neoforge-mc1.21.jar       |Durability Tooltip            |durabilitytooltip             |1.1.5               |Manifest: NOSIGNATURE         elevatorid-neoforge-1.21.1-1.11.4.jar             |ElevatorMod                   |elevatorid                    |1.21.1-1.11.4       |Manifest: NOSIGNATURE         emi-1.1.20+1.21.1+neoforge.jar                    |EMI                           |emi                           |1.1.20+1.21.1+neofor|Manifest: NOSIGNATURE         emi_enchanting-0.1.2+1.21+neoforge.jar            |EMI Enchanting                |emi_enchanting                |0.1.2+1.21+neoforge |Manifest: NOSIGNATURE         emi_loot-0.7.5+1.21+neoforge.jar                  |EMI Loot                      |emi_loot                      |0.7.5+1.21+neoforge |Manifest: NOSIGNATURE         enchdesc-neoforge-1.21.1-21.1.7.jar               |EnchantmentDescriptions       |enchdesc                      |21.1.7              |Manifest: NOSIGNATURE         EnderStorage-1.21.1-2.13.0.191.jar                |EnderStorage                  |enderstorage                  |2.13.0.191          |Manifest: 31:e6:db:63:47:4a:6e:e0:0a:2c:11:d1:76:db:4e:82:ff:56:2d:29:93:d2:e5:02:bd:d3:bd:9d:27:47:a5:71         entity_model_features_neoforge_1.21.1-2.4.1.jar   |Entity Model Features         |entity_model_features         |2.4.1               |Manifest: NOSIGNATURE         entity_texture_features_neoforge_1.21.1-6.2.9.jar |Entity Texture Features       |entity_texture_features       |6.2.9               |Manifest: NOSIGNATURE         everlastingabilities-1.21.1-neoforge-2.5.3.jar    |EverlastingAbilities          |everlastingabilities          |2.5.3               |Manifest: NOSIGNATURE         everycomp-1.21-2.9.10-neoforge.jar                |Every Compat                  |everycomp                     |1.21-2.9.10         |Manifest: NOSIGNATURE         expandability-neoforge-12.0.0.jar                 |ExpandAbility                 |expandability                 |12.0.0              |Manifest: NOSIGNATURE         expandeddelight-0.1.3.1.jar                       |Expanded Delight              |expandeddelight               |0.1.3.1             |Manifest: NOSIGNATURE         ExplorersCompass-1.21.1-3.0.3-neoforge.jar        |Explorer's Compass            |explorerscompass              |1.21.1-3.0.3-neoforg|Manifest: NOSIGNATURE         Explorify v1.6.2 f10-48.jar                       |Explorify                     |explorify                     |1.6.2               |Manifest: NOSIGNATURE         farmers-cutting-oh-the-biomes-weve-gone-1.21.1-2.1|Farmer's Cutting: Oh The Biome|mr_farmers_cuttingohthebiomesw|1.21.1-2.1-neoforge |Manifest: NOSIGNATURE         FarmersDelight-1.21.1-1.2.7.jar                   |Farmer's Delight              |farmersdelight                |1.2.7               |Manifest: NOSIGNATURE         ferritecore-7.0.2-neoforge.jar                    |Ferrite Core                  |ferritecore                   |7.0.2               |Manifest: 41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a         FluxNetworks-1.21.1-8.0.0.jar                     |Flux Networks                 |fluxnetworks                  |8.0.0               |Manifest: NOSIGNATURE         flywheel-neoforge-1.21.1-1.0.2.jar                |Flywheel                      |flywheel                      |1.0.2               |Manifest: NOSIGNATURE         forgified-fabric-api-0.107.0+2.0.25+1.21.1.jar    |Forgified Fabric API          |fabric_api                    |0.107.0+2.0.25+1.21.|Manifest: NOSIGNATURE         fabric-api-base-0.4.42+d1308dedd1.jar             |Forgified Fabric API Base     |fabric_api_base               |0.4.42+d1308dedd1   |Manifest: NOSIGNATURE         fabric-api-lookup-api-v1-1.6.69+c21168c319.jar    |Forgified Fabric API Lookup AP|fabric_api_lookup_api_v1      |1.6.69+c21168c319   |Manifest: NOSIGNATURE         fabric-biome-api-v1-13.0.30+1e62d33c19.jar        |Forgified Fabric Biome API (v1|fabric_biome_api_v1           |13.0.30+1e62d33c19  |Manifest: NOSIGNATURE         fabric-block-api-v1-1.0.22+a6e994cd19.jar         |Forgified Fabric Block API (v1|fabric_block_api_v1           |1.0.22+a6e994cd19   |Manifest: NOSIGNATURE         fabric-blockrenderlayer-v1-1.1.52+b089b4bd19.jar  |Forgified Fabric BlockRenderLa|fabric_blockrenderlayer_v1    |1.1.52+b089b4bd19   |Manifest: NOSIGNATURE         fabric-block-view-api-v2-1.0.10+9afaaf8c19.jar    |Forgified Fabric BlockView API|fabric_block_view_api_v2      |1.0.10+9afaaf8c19   |Manifest: NOSIGNATURE         fabric-client-tags-api-v1-1.1.15+e053909619.jar   |Forgified Fabric Client Tags  |fabric_client_tags_api_v1     |1.1.15+e053909619   |Manifest: NOSIGNATURE         fabric-command-api-v2-2.2.28+36d727be19.jar       |Forgified Fabric Command API (|fabric_command_api_v2         |2.2.28+36d727be19   |Manifest: NOSIGNATURE         fabric-content-registries-v0-8.0.17+0a0c14ff19.jar|Forgified Fabric Content Regis|fabric_content_registries_v0  |8.0.17+0a0c14ff19   |Manifest: NOSIGNATURE         fabric-convention-tags-v1-2.1.1+7f945d5b19.jar    |Forgified Fabric Convention Ta|fabric_convention_tags_v1     |2.1.1+7f945d5b19    |Manifest: NOSIGNATURE         fabric-convention-tags-v2-2.9.1+231468e519.jar    |Forgified Fabric Convention Ta|fabric_convention_tags_v2     |2.9.1+231468e519    |Manifest: NOSIGNATURE         fabric-data-attachment-api-v1-1.2.0+7330bc1b19.jar|Forgified Fabric Data Attachme|fabric_data_attachment_api_v1 |1.2.0+7330bc1b19    |Manifest: NOSIGNATURE         fabric-data-generation-api-v1-20.2.22+2d91a6db19.j|Forgified Fabric Data Generati|fabric_data_generation_api_v1 |20.2.22+2d91a6db19  |Manifest: NOSIGNATURE         fabric-entity-events-v1-1.7.0+1af6e62419.jar      |Forgified Fabric Entity Events|fabric_entity_events_v1       |1.7.0+1af6e62419    |Manifest: NOSIGNATURE         fabric-events-interaction-v0-0.7.13+7b71cc1619.jar|Forgified Fabric Events Intera|fabric_events_interaction_v0  |0.7.13+7b71cc1619   |Manifest: NOSIGNATURE         fabric-game-rule-api-v1-1.0.53+36d727be19.jar     |Forgified Fabric Game Rule API|fabric_game_rule_api_v1       |1.0.53+36d727be19   |Manifest: NOSIGNATURE         fabric-gametest-api-v1-2.0.5+29f188ce19.jar       |Forgified Fabric Game Test API|fabric_gametest_api_v1        |2.0.5+29f188ce19    |Manifest: NOSIGNATURE         fabric-item-api-v1-11.1.1+57cdfa8219.jar          |Forgified Fabric Item API (v1)|fabric_item_api_v1            |11.1.1+57cdfa8219   |Manifest: NOSIGNATURE         fabric-item-group-api-v1-4.1.6+e324903319.jar     |Forgified Fabric Item Group AP|fabric_item_group_api_v1      |4.1.6+e324903319    |Manifest: NOSIGNATURE         fabric-key-binding-api-v1-1.0.47+62cc7ce119.jar   |Forgified Fabric Key Binding A|fabric_key_binding_api_v1     |1.0.47+62cc7ce119   |Manifest: NOSIGNATURE         fabric-lifecycle-events-v1-2.4.0+36b6b86a19.jar   |Forgified Fabric Lifecycle Eve|fabric_lifecycle_events_v1    |2.4.0+36b6b86a19    |Manifest: NOSIGNATURE         fabric-loot-api-v2-3.0.15+a3ee712d19.jar          |Forgified Fabric Loot API (v2)|fabric_loot_api_v2            |3.0.15+a3ee712d19   |Manifest: NOSIGNATURE         fabric-loot-api-v3-1.0.3+333dfad919.jar           |Forgified Fabric Loot API (v3)|fabric_loot_api_v3            |1.0.3+333dfad919    |Manifest: NOSIGNATURE         fabric-message-api-v1-6.0.13+e053909619.jar       |Forgified Fabric Message API (|fabric_message_api_v1         |6.0.13+e053909619   |Manifest: NOSIGNATURE         fabric-model-loading-api-v1-2.0.0+986ae77219.jar  |Forgified Fabric Model Loading|fabric_model_loading_api_v1   |2.0.0+986ae77219    |Manifest: NOSIGNATURE         fabric-networking-api-v1-4.3.0+0d25d43e19.jar     |Forgified Fabric Networking AP|fabric_networking_api_v1      |4.3.0+0d25d43e19    |Manifest: NOSIGNATURE         fabric-object-builder-api-v1-15.2.1+cc242efd19.jar|Forgified Fabric Object Builde|fabric_object_builder_api_v1  |15.2.1+cc242efd19   |Manifest: NOSIGNATURE         fabric-particles-v1-4.0.2+824f924c19.jar          |Forgified Fabric Particles (v1|fabric_particles_v1           |4.0.2+824f924c19    |Manifest: NOSIGNATURE         fabric-recipe-api-v1-5.0.13+59440bcc19.jar        |Forgified Fabric Recipe API (v|fabric_recipe_api_v1          |5.0.13+59440bcc19   |Manifest: NOSIGNATURE         fabric-registry-sync-v0-5.1.3+0c9b5b5419.jar      |Forgified Fabric Registry Sync|fabric_registry_sync_v0       |5.1.3+0c9b5b5419    |Manifest: NOSIGNATURE         fabric-renderer-indigo-1.7.0+acb05a3919.jar       |Forgified Fabric Renderer - In|fabric_renderer_indigo        |1.7.0+acb05a3919    |Manifest: NOSIGNATURE         fabric-renderer-api-v1-3.4.0+acb05a3919.jar       |Forgified Fabric Renderer API |fabric_renderer_api_v1        |3.4.0+acb05a3919    |Manifest: NOSIGNATURE         fabric-rendering-v1-5.0.5+077ba95f19.jar          |Forgified Fabric Rendering (v1|fabric_rendering_v1           |5.0.5+077ba95f19    |Manifest: NOSIGNATURE         fabric-rendering-data-attachment-v1-0.3.48+73761d2|Forgified Fabric Rendering Dat|fabric_rendering_data_attachme|0.3.48+73761d2e19   |Manifest: NOSIGNATURE         fabric-rendering-fluids-v1-3.1.6+857185bc19.jar   |Forgified Fabric Rendering Flu|fabric_rendering_fluids_v1    |3.1.6+857185bc19    |Manifest: NOSIGNATURE         fabric-resource-conditions-api-v1-4.3.0+edeecbd819|Forgified Fabric Resource Cond|fabric_resource_conditions_api|4.3.0+edeecbd819    |Manifest: NOSIGNATURE         fabric-resource-loader-v0-1.3.1+4ea8954419.jar    |Forgified Fabric Resource Load|fabric_resource_loader_v0     |1.3.1+4ea8954419    |Manifest: NOSIGNATURE         fabric-screen-api-v1-2.0.25+b282c4bb19.jar        |Forgified Fabric Screen API (v|fabric_screen_api_v1          |2.0.25+b282c4bb19   |Manifest: NOSIGNATURE         fabric-screen-handler-api-v1-1.3.87+8dbc56dd19.jar|Forgified Fabric Screen Handle|fabric_screen_handler_api_v1  |1.3.87+8dbc56dd19   |Manifest: NOSIGNATURE         fabric-sound-api-v1-1.0.23+10b84f8419.jar         |Forgified Fabric Sound API (v1|fabric_sound_api_v1           |1.0.23+10b84f8419   |Manifest: NOSIGNATURE         fabric-transfer-api-v1-5.4.1+628bf5e919.jar       |Forgified Fabric Transfer API |fabric_transfer_api_v1        |5.4.1+628bf5e919    |Manifest: NOSIGNATURE         fabric-transitive-access-wideners-v1-6.1.0+0df3143|Forgified Fabric Transitive Ac|fabric_transitive_access_widen|6.1.0+0df3143b19    |Manifest: NOSIGNATURE         FramedBlocks-10.3.1.jar                           |FramedBlocks                  |framedblocks                  |10.3.1              |Manifest: NOSIGNATURE         ftb-chunks-neoforge-2101.1.8.jar                  |FTB Chunks                    |ftbchunks                     |2101.1.8            |Manifest: NOSIGNATURE         ftb-library-neoforge-2101.1.12.jar                |FTB Library                   |ftblibrary                    |2101.1.12           |Manifest: NOSIGNATURE         ftb-teams-neoforge-2101.1.2.jar                   |FTB Teams                     |ftbteams                      |2101.1.2            |Manifest: NOSIGNATURE         ftb-ultimine-neoforge-2101.1.1.jar                |FTB Ultimine                  |ftbultimine                   |2101.1.1            |Manifest: NOSIGNATURE         fusion-1.2.7-neoforge-mc1.21.jar                  |Fusion                        |fusion                        |1.2.7               |Manifest: NOSIGNATURE         fzzy_config-0.6.6+1.21+neoforge.jar               |Fzzy Config                   |fzzy_config                   |0.6.6+1.21+neoforge |Manifest: NOSIGNATURE         geckolib-neoforge-1.21.1-4.7.5.1.jar              |GeckoLib 4                    |geckolib                      |4.7.5.1             |Manifest: NOSIGNATURE         gjeb-neoforge-1.21.1-1.3.0.38.jar                 |GJEB (GammaJustExtremeBright) |gjeb                          |1.3.0.38            |Manifest: f4:a6:0b:ee:cb:8a:1a:ea:9f:9d:45:91:8f:8b:b3:ae:26:f3:bf:05:86:1d:90:9e:f6:32:2a:1a:ed:1d:ce:b0         gpumemleakfix-1.21-1.8.jar                        |Gpu memory leak fix           |gpumemleakfix                 |1.8                 |Manifest: NOSIGNATURE         handcrafted-neoforge-1.21.1-4.0.3.jar             |Handcrafted                   |handcrafted                   |4.0.3               |Manifest: NOSIGNATURE         Iceberg-1.21.1-neoforge-1.3.2.jar                 |Iceberg                       |iceberg                       |1.3.2               |Manifest: NOSIGNATURE         illagerwarship-1.0.0-neoforge-1.21.1.jar          |Illager-Warship               |illagerwarship                |1.0.0               |Manifest: NOSIGNATURE         ImmediatelyFast-NeoForge-1.6.5+1.21.1.jar         |ImmediatelyFast               |immediatelyfast               |1.6.5+1.21.1        |Manifest: NOSIGNATURE         immersiveweapons-1.21.1-1.31.2.jar                |Immersive Weapons             |immersiveweapons              |1.21.1-1.31.2       |Manifest: NOSIGNATURE         iwcompatbridge-1.21.1-1.10.2.jar                  |Immersive Weapons Compatibilit|iwcompatbridge                |1.21.1-1.10.2       |Manifest: NOSIGNATURE         inventoryessentials-neoforge-1.21.1-21.1.2.jar    |Inventory Essentials          |inventoryessentials           |21.1.2              |Manifest: NOSIGNATURE         iris-neoforge-1.8.8+mc1.21.1.jar                  |Iris                          |iris                          |1.8.8+mc1.21.1      |Manifest: NOSIGNATURE         irisblockcompat-1.21.1-1.1.0.jar                  |Iris Block Compat             |irisblockcompat               |1.1.0               |Manifest: NOSIGNATURE         ironfurnaces-neoforge-1.21.1-4.2.6.jar            |Iron Furnaces                 |ironfurnaces                  |4.2.6               |Manifest: NOSIGNATURE         Jade-1.21.1-NeoForge-15.9.2.jar                   |Jade                          |jade                          |15.9.2+neoforge     |Manifest: NOSIGNATURE         JadeAddons-1.21.1-NeoForge-6.0.1.jar              |Jade Addons                   |jadeaddons                    |0.0NONE             |Manifest: NOSIGNATURE         jamlib-neoforge-1.3.5+1.21.1.jar                  |JamLib                        |jamlib                        |1.3.5+1.21.1        |Manifest: NOSIGNATURE         journeymap-neoforge-1.21.1-6.0.0-beta.44.jar      |Journeymap                    |journeymap                    |1.21.1-6.0.0-beta.44|Manifest: NOSIGNATURE         journeymap-api-neoforge-2.0.0-1.21.1-SNAPSHOT.jar |JourneyMap API                |journeymap_api                |2.0.0               |Manifest: NOSIGNATURE         jei-1.21.1-neoforge-19.21.0.247.jar               |Just Enough Items             |jei                           |19.21.0.247         |Manifest: NOSIGNATURE         kffmod-5.7.0.jar                                  |Kotlin For Forge              |kotlinforforge                |5.7.0               |Manifest: NOSIGNATURE         kuma-api-neoforge-21.0.5+1.21.jar                 |KumaAPI                       |kuma_api                      |21.0.5              |Manifest: NOSIGNATURE         l2core-3.0.8+1.jar                                |L2Core                        |l2core                        |3.0.8+1             |Manifest: NOSIGNATURE         LeavesBeGone-v21.1.0-1.21.1-NeoForge.jar          |Leaves Be Gone                |leavesbegone                  |21.1.0              |Manifest: NOSIGNATURE         LegendaryTooltips-1.21.1-neoforge-1.5.5.jar       |Legendary Tooltips            |legendarytooltips             |1.5.5               |Manifest: NOSIGNATURE         lithostitched-neoforge-1.21.1-1.4.5.jar           |Lithostitched                 |lithostitched                 |1.4.2               |Manifest: NOSIGNATURE         lootbundles-1.21.0-1.1.0.jar                      |Loot Bundles                  |lootbundles                   |1.21.0-1.1.0        |Manifest: NOSIGNATURE         lootintegration_wda-1.6.jar                       |lootintegration_wda mod       |lootintegration_wda           |1                   |Manifest: NOSIGNATURE         lootintegrations-1.21-4.3.jar                     |Lootintegrations mod          |lootintegrations              |4.3                 |Manifest: NOSIGNATURE         lootintegrations_ctov-1.3.jar                     |lootintegrations_ctov mod     |lootintegrations_ctov         |1                   |Manifest: NOSIGNATURE         lootintegrations_structory-1.2.jar                |lootintegrations_structory mod|lootintegrations_structory    |1                   |Manifest: NOSIGNATURE         lootintegrations_vanilla-1.3.jar                  |lootintegrations_vanilla mod  |lootintegrations_vanilla      |1                   |Manifest: NOSIGNATURE         lootintegrations_yungs-1.3.jar                    |lootintegrations_yungs mod    |lootintegrations_yungs        |1                   |Manifest: NOSIGNATURE         lootr-neoforge-1.21-1.10.35.91.jar                |Lootr                         |lootr                         |1.21-1.10.35.91     |Manifest: NOSIGNATURE         lukis-grand-capitals-1.1.1.jar                    |Luki's Grand Capitals         |mr_lukis_grandcapitals        |1.1.1               |Manifest: NOSIGNATURE         mcw-lights-1.1.1-mc1.21.1neoforge.jar             |Macaw's Lights and Lamps      |mcwlights                     |1.1.1               |Manifest: NOSIGNATURE         maxhealthfix-neoforge-1.21.1-21.1.4.jar           |MaxHealthFix                  |maxhealthfix                  |21.1.4              |Manifest: NOSIGNATURE         client-1.21.1-20240808.144430-srg.jar             |Minecraft                     |minecraft                     |1.21.1              |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f         modernfix-neoforge-5.20.2+mc1.21.1.jar            |ModernFix                     |modernfix                     |5.20.2+mc1.21.1     |Manifest: NOSIGNATURE         modonomicon-1.21.1-neoforge-1.114.1.jar           |Modonomicon                   |modonomicon                   |1.114.1             |Manifest: NOSIGNATURE         monolib-neoforge-1.21.1-2.0.0.jar                 |MonoLib                       |monolib                       |2.0.0               |Manifest: NOSIGNATURE         mss-1.2.8-1.21.jar                                |Moog's Soaring Structures     |mss                           |1.2.8-1.21          |Manifest: NOSIGNATURE         mvs-4.3.0-1.21.jar                                |Moog's Voyager Structures     |mvs                           |4.3.0-1.21          |Manifest: NOSIGNATURE         moonlight-1.21-2.18.5-neoforge.jar                |Moonlight Lib                 |moonlight                     |1.21-2.18.5         |Manifest: NOSIGNATURE         more_beautiful_torches-merged-1.21-3.0.0.jar      |More Beautiful Torches        |more_beautiful_torches        |3.0.0               |Manifest: NOSIGNATURE         MouseTweaks-neoforge-mc1.21-2.26.1.jar            |Mouse Tweaks                  |mousetweaks                   |2.26.1              |Manifest: NOSIGNATURE         MutantMonsters-v21.1.0-1.21.1-NeoForge.jar        |Mutant Monsters               |mutantmonsters                |21.1.0              |Manifest: NOSIGNATURE         MyNethersDelight-1.21-1.7.8.jar                   |My Nether's Delight           |mynethersdelight              |1.7.8               |Manifest: NOSIGNATURE         NaturesCompass-1.21.1-3.0.3-neoforge.jar          |Nature's Compass              |naturescompass                |1.21.1-3.0.2-neoforg|Manifest: NOSIGNATURE         neoforge-21.1.139-universal.jar                   |NeoForge                      |neoforge                      |21.1.139            |Manifest: NOSIGNATURE         nuggets-neoforge-1.21-1.0.5.jar                   |Nuggets                       |nuggets                       |1.0.5               |Manifest: NOSIGNATURE         occultism-1.21.1-neoforge-1.179.3.jar             |Occultism                     |occultism                     |1.179.3             |Manifest: NOSIGNATURE         oceansdelight-neoforge-1.0.3-1.21.jar             |Ocean's Delight               |oceansdelight                 |1.0.3               |Manifest: NOSIGNATURE         Oh-The-Biomes-Weve-Gone-NeoForge-2.3.13.jar       |Oh The Biomes We've Gone      |biomeswevegone                |2.3.13              |Manifest: NOSIGNATURE         Oh-The-Trees-Youll-Grow-neoforge-1.21.1-5.0.10.jar|Oh The Trees You'll Grow      |ohthetreesyoullgrow           |5.0.10              |Manifest: NOSIGNATURE         ok_zoomer-neo-10.0.0-beta.8.jar                   |Ok Zoomer                     |ok_zoomer                     |10.0.0-beta.8       |Manifest: NOSIGNATURE         oracle_index-neoforge-0.2.0.jar                   |Oracle Index                  |oracle_index                  |0.2.0               |Manifest: NOSIGNATURE         overloadedarmorbar-neoforge-1.21-2.jar            |OverloadedArmorBar            |overloadedarmorbar            |2                   |Manifest: NOSIGNATURE         owo-lib-neoforge-0.12.15.1-beta.3+1.21.jar        |oωo                           |owo                           |0.12.15.1-beta.3+1.2|Manifest: NOSIGNATURE         packetfixer-neoforge-2.1.0-1.21-to-1.21.3.jar     |Packet Fixer                  |packetfixer                   |2.1.0               |Manifest: NOSIGNATURE         Patchouli-1.21-88-NEOFORGE.jar                    |Patchouli                     |patchouli                     |1.21-88-NEOFORGE    |Manifest: NOSIGNATURE         pipez-neoforge-1.21.1-1.2.19.jar                  |Pipez                         |pipez                         |1.21.1-1.2.19       |Manifest: NOSIGNATURE         Placebo-1.21.1-9.8.0.jar                          |Placebo                       |placebo                       |9.8.0               |Manifest: NOSIGNATURE         player-animation-lib-forge-2.0.1+1.21.1.jar       |Player Animator               |playeranimator                |2.0.1+1.21.1        |Manifest: NOSIGNATURE         polymorph-neoforge-1.0.7+1.21.1.jar               |Polymorph                     |polymorph                     |1.0.7+1.21.1        |Manifest: NOSIGNATURE         Ponder-NeoForge-1.21.1-1.0.46.jar                 |Ponder                        |ponder                        |1.0.46              |Manifest: NOSIGNATURE         prickle-neoforge-1.21.1-21.1.6.jar                |PrickleMC                     |prickle                       |21.1.6              |Manifest: NOSIGNATURE         Prism-1.21.1-neoforge-1.0.11.jar                  |Prism                         |prism                         |1.0.11              |Manifest: NOSIGNATURE         puffish_attributes-0.7.3-1.21-neoforge.jar        |Pufferfish's Attributes       |puffish_attributes            |0.7.3               |Manifest: NOSIGNATURE         puffish_skills-0.15.4-1.21-neoforge.jar           |Pufferfish's Skills           |puffish_skills                |0.15.4              |Manifest: NOSIGNATURE         PuzzlesLib-v21.1.33-1.21.1-NeoForge.jar           |Puzzles Lib                   |puzzleslib                    |21.1.33             |Manifest: NOSIGNATURE         quickrightclick-1.21.1-1.6.jar                    |Quick Right-Click             |quickrightclick               |1.6                 |Manifest: NOSIGNATURE         reeses-sodium-options-neoforge-1.8.3+mc1.21.4.jar |Reese's Sodium Options        |reeses_sodium_options         |1.8.3+mc1.21.4      |Manifest: NOSIGNATURE         refinedstorage-neoforge-2.0.0-beta.2.jar          |Refined Storage               |refinedstorage                |2.0.0-beta.2        |Manifest: NOSIGNATURE         refinedstorage-curios-integration-1.0.0.jar       |Refined Storage - Curios Integ|refinedstorage_curios_integrat|1.0.0               |Manifest: NOSIGNATURE         refinedstorage-jei-integration-neoforge-1.0.0.jar |Refined Storage - JEI Integrat|refinedstorage_jei_integration|1.0.0               |Manifest: NOSIGNATURE         refinedstorage-quartz-arsenal-neoforge-1.0.0.jar  |Refined Storage - Quartz Arsen|refinedstorage_quartz_arsenal |1.0.0               |Manifest: NOSIGNATURE         regions_unexplored-neoforge-1.21.1-0.5.6.1.jar    |Regions Unexplored            |regions_unexplored            |0.5.6.1             |Manifest: NOSIGNATURE         ResourcePackOverrides-v21.1.0-1.21.1-NeoForge.jar |Resource Pack Overrides       |resourcepackoverrides         |21.1.0              |Manifest: NOSIGNATURE         resourcefullib-neoforge-1.21-3.0.12.jar           |Resourceful Lib               |resourcefullib                |3.0.12              |Manifest: NOSIGNATURE         resourcefulconfig-neoforge-1.21-3.0.9.jar         |Resourcefulconfig             |resourcefulconfig             |3.0.9               |Manifest: NOSIGNATURE         rightclickharvest-neoforge-4.5.3+1.21.1.jar       |Right Click Harvest           |rightclickharvest             |4.5.3+1.21.1        |Manifest: NOSIGNATURE         Searchables-neoforge-1.21.1-1.0.2.jar             |Searchables                   |searchables                   |1.0.2               |Manifest: NOSIGNATURE         inventorysorter-1.21-24.0.20.jar                  |Simple Inventory Sorter       |inventorysorter               |24.0.20             |Manifest: NOSIGNATURE         voicechat-neoforge-1.21.1-2.5.26.jar              |Simple Voice Chat             |voicechat                     |1.21.1-2.5.26       |Manifest: NOSIGNATURE         simplehats-neoforge-1.21.1-0.4.0.jar              |SimpleHats                    |simplehats                    |0.4.0               |Manifest: NOSIGNATURE         simplyswords-neoforge-1.60.11-1.21.1.jar          |Simply Swords                 |simplyswords                  |1.60.11-1.21.1      |Manifest: NOSIGNATURE         SmartBrainLib-neoforge-1.21.1-1.16.7.jar          |SmartBrainLib                 |smartbrainlib                 |1.16.7              |Manifest: NOSIGNATURE         smoothchunk-1.21-4.1.jar                          |Smoothchunk mod               |smoothchunk                   |4.1                 |Manifest: NOSIGNATURE         sodium-neoforge-0.6.9+mc1.21.1.jar                |Sodium                        |sodium                        |0.6.9+mc1.21.1      |Manifest: NOSIGNATURE         sodiumcoreshadersupport-1.3.1-mc1.21.1-sodium0.6.9|Sodium Core Shader Support    |sodiumcoreshadersupport       |1.3.1               |Manifest: NOSIGNATURE         sodiumdynamiclights-neoforge-1.0.10-1.21.1.jar    |Sodium Dynamic Lights         |sodiumdynamiclights           |1.0.9               |Manifest: NOSIGNATURE         sodiumoptionsapi-neoforge-1.0.10-1.21.1.jar       |Sodium Options API            |sodiumoptionsapi              |1.0.10              |Manifest: NOSIGNATURE         sophisticatedbackpacks-1.21.1-3.24.9.1225.jar     |Sophisticated Backpacks       |sophisticatedbackpacks        |3.24.9              |Manifest: NOSIGNATURE         sophisticatedcore-1.21.1-1.3.27.951.jar           |Sophisticated Core            |sophisticatedcore             |1.3.27              |Manifest: NOSIGNATURE         sophisticatedstorage-1.21.1-1.4.21.1120.jar       |Sophisticated Storage         |sophisticatedstorage          |1.4.21              |Manifest: NOSIGNATURE         spectrelib-neoforge-0.17.2+1.21.jar               |SpectreLib                    |spectrelib                    |0.17.2+1.21         |Manifest: NOSIGNATURE         squatgrow-neoforge-21.1.0+mc1.21.1.jar            |Squat Grow                    |squatgrow                     |21.1.0+mc1.21.1     |Manifest: NOSIGNATURE         Storage Drawers-neoforge-1.21-13.8.5.jar          |Storage Drawers               |storagedrawers                |13.8.5              |Manifest: NOSIGNATURE         Structory_1.21.x_v1.3.10.jar                      |Structory                     |structory                     |1.3.10              |Manifest: NOSIGNATURE         Structory_Towers_1.21.x_v1.0.11.jar               |Structory: Towers             |structory_towers              |1.0.11              |Manifest: NOSIGNATURE         supermartijn642configlib-1.1.8-neoforge-mc1.21.jar|SuperMartijn642's Config Libra|supermartijn642configlib      |1.1.8               |Manifest: NOSIGNATURE         supermartijn642corelib-1.1.18a-neoforge-mc1.21.jar|SuperMartijn642's Core Lib    |supermartijn642corelib        |1.1.18+a            |Manifest: NOSIGNATURE         supplementaries-1.21-3.1.7-neoforge.jar           |Supplementaries               |supplementaries               |1.21-3.1.7          |Manifest: NOSIGNATURE         TaxFreeLevels-1.4.7-neoforge-1.21.1.jar           |Tax Free Levels               |taxfreelevels                 |1.4.7               |Manifest: NOSIGNATURE         tectonic-neoforge-1.21.1-2.4.3.jar                |Tectonic                      |tectonic                      |2.4.3               |Manifest: NOSIGNATURE         TerraBlender-neoforge-1.21.1-4.1.0.8.jar          |TerraBlender                  |terrablender                  |4.1.0.8             |Manifest: NOSIGNATURE         toms_storage-1.21-2.1.3.jar                       |Tom's Simple Storage Mod      |toms_storage                  |2.1.3               |Manifest: NOSIGNATURE         too_many_bows-neoforge-1.21-2.0.3.jar             |Too Many Bows                 |too_many_bows                 |1.21-2.0.3          |Manifest: NOSIGNATURE         t_and_t-neoforge-fabric-1.13.2.jar                |Towns and Towers              |t_and_t                       |1.13.2              |Manifest: NOSIGNATURE         trade-cycling-neoforge-1.21.1-1.0.17.jar          |Trade Cycling                 |trade_cycling                 |1.21.1-1.0.17       |Manifest: NOSIGNATURE         trashslot-neoforge-1.21.1-21.1.4.jar              |TrashSlot                     |trashslot                     |21.1.4              |Manifest: NOSIGNATURE         txnilib-neoforge-1.0.23-1.21.1.jar                |TxniLib                       |txnilib                       |1.0.23              |Manifest: NOSIGNATURE         universalgrid-neoforge-1.21.1-0.1.3.jar           |Universal Grid                |universalgrid                 |1.21.1-0.1.3        |Manifest: NOSIGNATURE         VisualWorkbench-v21.1.0-1.21.1-NeoForge.jar       |Visual Workbench              |visualworkbench               |21.1.0              |Manifest: NOSIGNATURE         waystones-neoforge-1.21.1-21.1.15.jar             |Waystones                     |waystones                     |21.1.15             |Manifest: NOSIGNATURE         watut-neoforge-1.21.0-1.2.3.jar                   |What Are They Up To           |watut                         |1.21.0-1.2.3        |Manifest: NOSIGNATURE         DungeonsArise-1.21.x-2.1.64-release.jar           |When Dungeons Arise           |dungeons_arise                |2.1.64              |Manifest: NOSIGNATURE         DungeonsAriseSevenSeas-1.21.x-1.0.3.2-neoforge.jar|When Dungeons Arise: Seven Sea|dungeons_arise_seven_seas     |1.0.3.2             |Manifest: NOSIGNATURE         wrench_wrapper-0.6.1.jar                          |Wrench Wrapper                |wrench_wrapper                |0.6.1               |Manifest: NOSIGNATURE         yet_another_config_lib_v3-3.6.6+1.21.1-neoforge.ja|YetAnotherConfigLib           |yet_another_config_lib_v3     |3.6.6+1.21.1-neoforg|Manifest: NOSIGNATURE         YungsApi-1.21.1-NeoForge-5.1.4.jar                |YUNG's API                    |yungsapi                      |1.21.1-NeoForge-5.1.|Manifest: NOSIGNATURE         YungsBetterDesertTemples-1.21.1-NeoForge-4.1.5.jar|YUNG's Better Desert Temples  |betterdeserttemples           |1.21.1-NeoForge-4.1.|Manifest: NOSIGNATURE         YungsBetterMineshafts-1.21.1-NeoForge-5.1.1.jar   |YUNG's Better Mineshafts      |bettermineshafts              |1.21.1-NeoForge-5.1.|Manifest: NOSIGNATURE         YungsBetterNetherFortresses-1.21.1-NeoForge-3.1.4.|YUNG's Better Nether Fortresse|betterfortresses              |1.21.1-NeoForge-3.1.|Manifest: NOSIGNATURE         YungsBetterOceanMonuments-1.21.1-NeoForge-4.1.2.ja|YUNG's Better Ocean Monuments |betteroceanmonuments          |1.21.1-NeoForge-4.1.|Manifest: NOSIGNATURE         YungsBetterWitchHuts-1.21.1-NeoForge-4.1.1.jar    |YUNG's Better Witch Huts      |betterwitchhuts               |1.21.1-NeoForge-4.1.|Manifest: NOSIGNATURE         YungsBridges-1.21.1-NeoForge-5.1.1.jar            |YUNG's Bridges                |yungsbridges                  |1.21.1-NeoForge-5.1.|Manifest: NOSIGNATURE         YungsExtras-1.21.1-NeoForge-5.1.1.jar             |YUNG's Extras                 |yungsextras                   |1.21.1-NeoForge-5.1.|Manifest: NOSIGNATURE     Crash Report UUID: 3bc67e74-174b-4d61-89a0-fa0f116dbfc1     FML: 4.0.38     NeoForge: 21.1.139     Flywheel Backend: flywheel:off
    • Thank you for the suggestion, I still am having the same crashing step. I updated the original post with the new crash logs
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.