Jump to content

I wanna to make AI for my whale


OrcaWorld

Recommended Posts

Hello , everyone. OrcaWorld is here again. Today I comes with not a problem. I wanna to make a whale with very powerful AI , but I need help from you. I can make AI for mobs , but somewhere I need a help (for a example making whale swimming to warm ocean to born baby , and then return to frozen and etc). I'm waiting for you , with most of parts of whale's AI I'm already but I need to a lot of others tasks and your help.

Link to comment
Share on other sites

Well, you could start by showing us some of the code you tried.. Also, to start with the example you provided:

Quote

(for a example making whale swimming to warm ocean to born baby , and then return to frozen and etc

You see that there is a minecraft entity that has a behaviour very similar to what you need, and its the turtle entity. It has a home position which it remembers always, no matter how far the turtle goes, and will return to that position to lay eggs. Take a look at the code for the turtle entity and see if you can adapt it to your whale entity

Edited by Beethoven92

Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port

Link to comment
Share on other sites

Yes , I'm finished my whales's AI. But for some reason it doesn't summoned. I'm tried spawn eggs and commands but it don't want to summon.

 

Here's code (I combined Wolf's , Cat's , Dolphin's , Turtle's and Horse's AI to make it):

 

package com.orca.whales;

import net.minecraft.advancements.CriteriaTriggers;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.block.TurtleEggBlock;
import net.minecraft.entity.AgeableEntity;
import net.minecraft.entity.CreatureAttribute;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityPredicate;
import net.minecraft.entity.EntitySize;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.IAngerable;
import net.minecraft.entity.IJumpingMount;
import net.minecraft.entity.ILivingEntityData;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.MobEntity;
import net.minecraft.entity.MoverType;
import net.minecraft.entity.Pose;
import net.minecraft.entity.SpawnReason;
import net.minecraft.entity.ai.attributes.AttributeModifierMap;
import net.minecraft.entity.ai.attributes.Attributes;
import net.minecraft.entity.ai.controller.MovementController;
import net.minecraft.entity.ai.goal.BreatheAirGoal;
import net.minecraft.entity.ai.goal.BreedGoal;
import net.minecraft.entity.ai.goal.FindWaterGoal;
import net.minecraft.entity.ai.goal.FollowOwnerGoal;
import net.minecraft.entity.ai.goal.FollowParentGoal;
import net.minecraft.entity.ai.goal.Goal;
import net.minecraft.entity.ai.goal.HurtByTargetGoal;
import net.minecraft.entity.ai.goal.LeapAtTargetGoal;
import net.minecraft.entity.ai.goal.LookAtGoal;
import net.minecraft.entity.ai.goal.MeleeAttackGoal;
import net.minecraft.entity.ai.goal.MoveToBlockGoal;
import net.minecraft.entity.ai.goal.NearestAttackableTargetGoal;
import net.minecraft.entity.ai.goal.OwnerHurtByTargetGoal;
import net.minecraft.entity.ai.goal.OwnerHurtTargetGoal;
import net.minecraft.entity.ai.goal.RandomSwimmingGoal;
import net.minecraft.entity.ai.goal.ResetAngerGoal;
import net.minecraft.entity.ai.goal.SitGoal;
import net.minecraft.entity.item.ExperienceOrbEntity;
import net.minecraft.entity.monster.CreeperEntity;
import net.minecraft.entity.monster.GhastEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.FoxEntity;
import net.minecraft.entity.passive.TameableEntity;
import net.minecraft.entity.passive.horse.AbstractHorseEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.entity.projectile.AbstractArrowEntity;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.IInventoryChangedListener;
import net.minecraft.inventory.Inventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.network.datasync.DataParameter;
import net.minecraft.network.datasync.DataSerializers;
import net.minecraft.network.datasync.EntityDataManager;
import net.minecraft.pathfinding.PathNavigator;
import net.minecraft.pathfinding.PathNodeType;
import net.minecraft.pathfinding.SwimmerPathNavigator;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Effects;
import net.minecraft.stats.Stats;
import net.minecraft.util.ActionResultType;
import net.minecraft.util.DamageSource;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.HandSide;
import net.minecraft.util.RangedInteger;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.SoundEvent;
import net.minecraft.util.SoundEvents;
import net.minecraft.util.TickRangeConverter;
import net.minecraft.util.TransportationHelper;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.world.DifficultyInstance;
import net.minecraft.world.GameRules;
import net.minecraft.world.IServerWorld;
import net.minecraft.world.IWorldReader;
import net.minecraft.world.World;
import net.minecraft.world.server.ServerWorld;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.items.wrapper.InvWrapper;

import javax.annotation.Nullable;
import java.util.EnumSet;
import java.util.Optional;
import java.util.Random;
import java.util.UUID;
import java.util.function.Predicate;

public class WhaleEntity extends TameableEntity implements IAngerable, IInventoryChangedListener, IJumpingMount {
    private static final Ingredient BREEDING_ITEMS = Ingredient.fromItems(Items.TROPICAL_FISH, Items.SALMON);
    private static final DataParameter<Integer> field_234232_bz_ = EntityDataManager.createKey(WhaleEntity.class, DataSerializers.VARINT);
    private static final EntityPredicate field_213810_bA = (new EntityPredicate()).setDistance(10.0D).allowFriendlyFire().allowInvulnerable().setLineOfSiteRequired();
    private static final Predicate<LivingEntity> IS_WHALE_BREEDING = (p_213617_0_) -> {
        return p_213617_0_ instanceof WhaleEntity && ((WhaleEntity) p_213617_0_).isBreeding();
    };

    private static final EntityPredicate MOMMY_TARGETING = (new EntityPredicate()).setDistance(16.0D).allowInvulnerable().allowFriendlyFire().setLineOfSiteRequired().setCustomPredicate(IS_WHALE_BREEDING);
    private static final DataParameter<BlockPos> HOME_POS = EntityDataManager.createKey(WhaleEntity.class, DataSerializers.BLOCK_POS);
    private static final DataParameter<BlockPos> TRAVEL_POS = EntityDataManager.createKey(WhaleEntity.class, DataSerializers.BLOCK_POS);
    private static final DataParameter<Boolean> IS_BORNING = EntityDataManager.createKey(WhaleEntity.class, DataSerializers.BOOLEAN);
    private static final DataParameter<Boolean> GOING_HOME = EntityDataManager.createKey(WhaleEntity.class, DataSerializers.BOOLEAN);
    private static final DataParameter<Boolean> TRAVELLING = EntityDataManager.createKey(WhaleEntity.class, DataSerializers.BOOLEAN);
    protected static final DataParameter<Byte> TAMED = EntityDataManager.createKey(WhaleEntity.class, DataSerializers.BYTE);
    protected static final DataParameter<Optional<UUID>> OWNER_UNIQUE_ID = EntityDataManager.createKey(WhaleEntity.class, DataSerializers.OPTIONAL_UNIQUE_ID);
    private static final RangedInteger field_234230_bG_ = TickRangeConverter.func_233037_a_(20, 39);
    private static final DataParameter<Byte> STATUS = EntityDataManager.createKey(AbstractHorseEntity.class, DataSerializers.BYTE);
    private static final DataParameter<Boolean> HAS_BABY = EntityDataManager.createKey(WhaleEntity.class, DataSerializers.BOOLEAN);
    protected boolean whaleJumping;
    private int isBorning;
    protected int temper;
    protected int gallopTime;
    protected Inventory whaleChest;
    protected float jumpPower;
    private float rearingAmount;
    private boolean allowStandSliding;
    private UUID field_234231_bH_;
    private boolean field_233683_bw_;
    public static final Predicate<LivingEntity> TARGET_DRY_BABY = (p_213616_0_) -> {
        return p_213616_0_.isChild() && !p_213616_0_.isInWater();
    };

    public WhaleEntity(EntityType<? extends WhaleEntity> type, World worldIn) {
        super(type, worldIn);
        this.setPathPriority(PathNodeType.WATER, 0.0F);
        this.moveController = new WhaleEntity.MoveHelperController(this);
        this.stepHeight = 1.0F;
        this.initWhaleChest();
        this.setTamed(false);
    }

    private void initWhaleChest() {
        Inventory inventory = this.whaleChest;
        this.whaleChest = new Inventory(this.getInventorySize());
        if (inventory != null) {
            inventory.removeListener(this);
            int i = Math.min(inventory.getSizeInventory(), this.whaleChest.getSizeInventory());

            for(int j = 0; j < i; ++j) {
                ItemStack itemstack = inventory.getStackInSlot(j);
                if (!itemstack.isEmpty()) {
                    this.whaleChest.setInventorySlotContents(j, itemstack.copy());
                }
            }
        }

        this.whaleChest.addListener(this);
        this.func_230275_fc_();
        this.itemHandler = LazyOptional.of(() -> new InvWrapper(this.whaleChest));
    }

    protected void func_230275_fc_() {
        if (!this.world.isRemote) {
            this.setWhaleWatchableBoolean(4, !this.whaleChest.getStackInSlot(0).isEmpty());
        }
    }

    public void setHome(BlockPos position) {
        this.dataManager.set(HOME_POS, position);
    }

    private BlockPos getHome() {
        return this.dataManager.get(HOME_POS);
    }

    private void setTravelPos(BlockPos position) {
        this.dataManager.set(TRAVEL_POS, position);
    }

    private BlockPos getTravelPos() {
        return this.dataManager.get(TRAVEL_POS);
    }

    public boolean hasBaby() {
        return this.dataManager.get(HAS_BABY);
    }

    private void setHasBaby(boolean hasBaby) {
        this.dataManager.set(HAS_BABY, hasBaby);
    }

    public boolean isBorning() {
        return this.dataManager.get(IS_BORNING);
    }

    private void setBorning(boolean isBorning) {
        this.isBorning = isBorning ? 1 : 0;
        this.dataManager.set(IS_BORNING, isBorning);
    }

    protected void registerGoals() {
        this.goalSelector.addGoal(0, new BreatheAirGoal(this));
        this.goalSelector.addGoal(0, new FindWaterGoal(this));
        this.goalSelector.addGoal(1, new WhaleEntity.BornBabyGoal(this, 1.0D));
        this.goalSelector.addGoal(1, new WhaleEntity.MateGoal(this, 1.0D));
        this.goalSelector.addGoal(2, new SitGoal(this));
        this.goalSelector.addGoal(2, new WhaleEntity.SwimWithPlayerGoal(this, 4.0D));
        this.goalSelector.addGoal(4, new LeapAtTargetGoal(this, 0.4F));
        this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.0D));
        this.goalSelector.addGoal(5, new MeleeAttackGoal(this, 1.0D, true));
        this.goalSelector.addGoal(6, new FollowOwnerGoal(this, 1.0D, 10.0F, 2.0F, false));
        this.goalSelector.addGoal(7, new BreedGoal(this, 1.0D));
        this.goalSelector.addGoal(10, new LookAtGoal(this, PlayerEntity.class, 8.0F));
        this.goalSelector.addGoal(10, new RandomSwimmingGoal(this, 1.0D, 10));
        this.targetSelector.addGoal(1, new OwnerHurtByTargetGoal(this));
        this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
        this.targetSelector.addGoal(3, (new HurtByTargetGoal(this)).setCallsForHelp());
        this.targetSelector.addGoal(7, new NearestAttackableTargetGoal<>(this, FoxEntity.class, false));
        this.targetSelector.addGoal(8, new ResetAngerGoal<>(this, true));
    }

    public static AttributeModifierMap.MutableAttribute func_234233_eS_() {
        return MobEntity.func_233666_p_().func_233815_a_(Attributes.field_233821_d_, (double)0.3F).func_233815_a_(Attributes.field_233818_a_, 200.0D).func_233815_a_(Attributes.field_233823_f_, 19.0D);
    }

    /**
     * Returns new PathNavigateGround instance
     */
    protected PathNavigator createNavigator(World worldIn) {
        return new SwimmerPathNavigator(this, worldIn);
    }

    public int getMaxAir() {
        return 4800;
    }

    public int getMaxTemper() {
        return 100;    
    }

    protected int determineNextAir(int currentAir) {
        return this.getMaxAir();
    }

    protected float getStandingEyeHeight(Pose poseIn, EntitySize sizeIn) {
        return 0.95F;
    }

    /**
     * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently
     * use in wolves.
     */
    public int getVerticalFaceSpeed() {
        return 1;
    }

    public int getHorizontalFaceSpeed() {
        return 1;
    }

    protected void registerData() {
        super.registerData();
        this.dataManager.register(HOME_POS, BlockPos.ZERO);
        this.dataManager.register(HAS_BABY, false);
        this.dataManager.register(TRAVEL_POS, BlockPos.ZERO);
        this.dataManager.register(GOING_HOME, false);
        this.dataManager.register(TRAVELLING, false);
        this.dataManager.register(IS_BORNING, false);
        this.dataManager.register(TAMED, (byte)0);
        this.dataManager.register(STATUS, (byte)0);
        this.dataManager.register(OWNER_UNIQUE_ID, Optional.empty());
        this.dataManager.register(field_234232_bz_, 0);
    }

    protected boolean getWhaleWatchableBoolean(int p_110233_1_) {
        return (this.dataManager.get(STATUS) & p_110233_1_) != 0;
    }

    protected void setWhaleWatchableBoolean(int p_110208_1_, boolean p_110208_2_) {
        byte b0 = this.dataManager.get(STATUS);
        if (p_110208_2_) {
            this.dataManager.set(STATUS, (byte)(b0 | p_110208_1_));
        } else {
            this.dataManager.set(STATUS, (byte)(b0 & ~p_110208_1_));
        }
    }

    protected void playStepSound(BlockPos pos, BlockState blockIn) {
        this.playSound(SoundEvents.ENTITY_WOLF_STEP, 0.15F, 1.0F);
    }

    public void writeAdditional(CompoundNBT compound) {
        super.writeAdditional(compound);
        compound.putBoolean("Bred", this.isBreeding());
        compound.putInt("HomePosX", this.getHome().getX());
        compound.putInt("HomePosY", this.getHome().getY());
        compound.putInt("HomePosZ", this.getHome().getZ());
        compound.putInt("TravelPosX", this.getTravelPos().getX());
        compound.putInt("TravelPosY", this.getTravelPos().getY());
        compound.putInt("TravelPosZ", this.getTravelPos().getZ());
    }

    /**
     * (abstract) Protected helper method to read subclass entity data from NBT.
     */
    public void readAdditional(CompoundNBT compound) {
        int i = compound.getInt("HomePosX");
        int j = compound.getInt("HomePosY");
        int k = compound.getInt("HomePosZ");
        this.setHome(new BlockPos(i, j, k));
        super.readAdditional(compound);
        int l = compound.getInt("TravelPosX");
        int i1 = compound.getInt("TravelPosY");
        int j1 = compound.getInt("TravelPosZ");
        this.setTravelPos(new BlockPos(l, i1, j1));
    }

    @Nullable
    public ILivingEntityData onInitialSpawn(IServerWorld worldIn, DifficultyInstance difficultyIn, SpawnReason reason, @Nullable ILivingEntityData spawnDataIn, @Nullable CompoundNBT dataTag) {
        this.setAir(this.getMaxAir());
        this.rotationPitch = 0.0F;
        return super.onInitialSpawn(worldIn, difficultyIn, reason, spawnDataIn, dataTag);
    }

    private net.minecraftforge.common.util.LazyOptional<?> itemHandler = null;

    @Override
    public <T> net.minecraftforge.common.util.LazyOptional<T> getCapability(net.minecraftforge.common.capabilities.Capability<T> capability, @Nullable net.minecraft.util.Direction facing) {
        if (this.isAlive() && capability == net.minecraftforge.items.CapabilityItemHandler.ITEM_HANDLER_CAPABILITY && itemHandler != null)
            return itemHandler.cast();
        return super.getCapability(capability, facing);
    }

    @Override
    public void remove(boolean keepData) {
        super.remove(keepData);
        if (!keepData && itemHandler != null) {
            itemHandler.invalidate();
            itemHandler = null;
        }
    }

    public boolean isPushedByWater() {
        return false;
    }

    public boolean canBreatheUnderwater() {
        return false;
    }

    protected void updateAir(int p_209207_1_) {
    }

    public CreatureAttribute getCreatureAttribute() {
        return CreatureAttribute.WATER;
    }

    /**
     * Get number of ticks, at least during which the living entity will be silent.
     */
    public int getTalkInterval() {
        return 200;
    }

    @Nullable
    protected SoundEvent getAmbientSound() {
        return !this.isInWater() && this.onGround && !this.isChild() ? SoundEvents.ENTITY_DOLPHIN_AMBIENT : super.getAmbientSound();
    }

    protected void playSwimSound(float volume) {
        super.playSwimSound(volume * 1.5F);
    }

    protected SoundEvent getSwimSound() {
        return SoundEvents.ENTITY_DOLPHIN_SWIM;
    }

    @Nullable
    protected SoundEvent getHurtSound(DamageSource damageSourceIn) {
       return SoundEvents.ENTITY_DOLPHIN_HURT;
    }

    @Nullable
    protected SoundEvent getDeathSound() {
        return SoundEvents.ENTITY_DOLPHIN_DEATH;
    }

    protected SoundEvent getSplashSound() {
        return SoundEvents.ENTITY_DOLPHIN_SPLASH;
    }

    protected boolean closeToTarget() {
        BlockPos blockpos = this.getNavigator().getTargetPos();
        return blockpos != null ? blockpos.withinDistance(this.getPositionVec(), 12.0D) : false;
    }

    public void travel(Vector3d p_213352_1_) {
        if (this.isServerWorld() && this.isInWater()) {
            this.moveRelative(this.getAIMoveSpeed(), p_213352_1_);
            this.move(MoverType.SELF, this.getMotion());
            this.setMotion(this.getMotion().scale(0.9D));
            if (this.getAttackTarget() == null) {
                this.setMotion(this.getMotion().add(0.0D, -0.005D, 0.0D));
            }
        } else {
            super.travel(p_213352_1_);
        }
    }

    public boolean canBeLeashedTo(PlayerEntity player) {
        return true;
    }

    @Override
    public void setJumpPower(int jumpPowerIn) {

    }

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

    @Override
    public void handleStartJump(int p_184775_1_) {

    }

    @Override
    public void handleStopJump() {

    }

    @Override
    public void onInventoryChanged(IInventory invBasic) {
    }

    /**
     * Called when the entity is attacked.
     */
    public boolean attackEntityFrom(DamageSource source, float amount) {
        if (this.isInvulnerableTo(source)) {
            return false;
        } else {
            Entity entity = source.getTrueSource();
            this.func_233687_w_(false);
            if (entity != null && !(entity instanceof PlayerEntity) && !(entity instanceof AbstractArrowEntity)) {
                amount = (amount + 1.0F) / 2.0F;
            }

            return super.attackEntityFrom(source, amount);
        }
    }

    public boolean attackEntityAsMob(Entity entityIn) {
        boolean flag = entityIn.attackEntityFrom(DamageSource.causeMobDamage(this), (float)((int)this.func_233637_b_(Attributes.field_233823_f_)));
        if (flag) {
            this.applyEnchantments(this, entityIn);
        }

        return flag;
    }

    public void setTamed(boolean tamed) {
        super.setTamed(tamed);
        if (tamed) {
            this.getAttribute(Attributes.field_233818_a_).setBaseValue(300.0D);
        } else {
            this.getAttribute(Attributes.field_233818_a_).setBaseValue(250.0D);
        }

        this.getAttribute(Attributes.field_233823_f_).setBaseValue(20.0D);
    }

    public ActionResultType func_230254_b_(PlayerEntity p_230254_1_, Hand p_230254_2_) {
        ItemStack itemstack = p_230254_1_.getHeldItem(p_230254_2_);
        Item item = itemstack.getItem();
        if (this.world.isRemote) {
            boolean flag = this.isOwner(p_230254_1_) || this.isTamed() || item == Items.COD && !this.isTamed() && !this.func_233678_J__();
            return flag ? ActionResultType.CONSUME : ActionResultType.PASS;
        } else {
            if (this.isTamed()) {
                if (this.isBreedingItem(itemstack) && this.getHealth() < this.getMaxHealth()) {
                    if (!p_230254_1_.abilities.isCreativeMode) {
                        itemstack.shrink(1);
                    }

                    this.heal((float)item.getFood().getHealing());
                    return ActionResultType.SUCCESS;
                }
            } else if (item == Items.COD && !this.func_233678_J__()) {
                if (!p_230254_1_.abilities.isCreativeMode) {
                    itemstack.shrink(1);
                }

                if (this.rand.nextInt(3) == 0 && !net.minecraftforge.event.ForgeEventFactory.onAnimalTame(this, p_230254_1_)) {
                    this.setTamedBy(p_230254_1_);
                    this.navigator.clearPath();
                    this.setAttackTarget((LivingEntity)null);
                    this.func_233687_w_(true);
                    this.world.setEntityState(this, (byte)7);
                } else {
                    this.world.setEntityState(this, (byte)6);
                }

                return ActionResultType.SUCCESS;
            }

            return super.func_230254_b_(p_230254_1_, p_230254_2_);
        }
    }

    public boolean isTame() {
        return this.getWhaleWatchableBoolean(2);
    }

    @Nullable
    public UUID getOwnerUniqueId() {
        return this.dataManager.get(OWNER_UNIQUE_ID).orElse((UUID)null);
    }

    public void setOwnerUniqueId(@Nullable UUID uniqueId) {
        this.dataManager.set(OWNER_UNIQUE_ID, Optional.ofNullable(uniqueId));

    }

    protected int getInventorySize() {
        return 2;
    }

    /**
     * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on
     * the animal type)
     */
    public boolean isBreedingItem(ItemStack stack) {
        return BREEDING_ITEMS.test(stack);
    }

    /**
     * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons
     * use this to react to sunlight and start to burn.
     */
    public void livingTick() {
        super.livingTick();
        if (this.isAlive() && this.isBorning() && this.isBorning >= 1 && this.isBorning % 5 == 0) {
            BlockPos blockpos = this.func_233580_cy_();
            if (WhaleEntity.hasProperHabitat(this.world, blockpos)) {
                this.world.playEvent(2001, blockpos, Block.getStateId(Blocks.SAND.getDefaultState()));
            }
        }
        
    }

    private static boolean hasProperHabitat(World world, BlockPos blockpos) {
        return true;
    }

    public boolean isEatingHaystack() {
        return this.getWhaleWatchableBoolean(16);
    }

    public boolean isBreeding() {
        return this.getWhaleWatchableBoolean(8);
    }

    public void setBreeding(boolean breeding) {
        this.setWhaleWatchableBoolean(8, breeding);
    }

    public boolean func_230264_L__() {
        return this.isAlive() && !this.isChild() && this.isTame();
    }

    public void func_230266_a_(@Nullable SoundCategory p_230266_1_) {
        this.whaleChest.setInventorySlotContents(0, new ItemStack(Items.SADDLE));
        if (p_230266_1_ != null) {
            this.world.playMovingSound((PlayerEntity)null, this, SoundEvents.ENTITY_HORSE_SADDLE, p_230266_1_, 0.5F, 1.0F);
        }

    }

    public double getWhaleJumpStrength() {
        return this.func_233637_b_(Attributes.field_233830_m_);

    }

    public boolean isWhaleSaddled() {
        return this.getWhaleWatchableBoolean(4);
    }

    public int getTemper() {
        return this.temper;
    }

    public void setTemper(int temperIn) {
        this.temper = temperIn;
    }

    public int increaseTemper(int p_110198_1_) {
        int i = MathHelper.clamp(this.getTemper() + p_110198_1_, 0, this.getMaxTemper());
        this.setTemper(i);
        return i;
    }

    public boolean isWhaleJumping() {
        return this.whaleJumping;
    }

    public void setWhaleTamed(boolean tamed) {
        this.setWhaleWatchableBoolean(2, tamed);
    }

    public void setWhaleJumping(boolean jumping) {
        this.whaleJumping = jumping;
    }

    public boolean isRearing() {
        return this.getWhaleWatchableBoolean(32);
    }

    public int func_230256_F__() {
        return this.dataManager.get(field_234232_bz_);
    }

    public void func_230260_a__(int p_230260_1_) {
        this.dataManager.set(field_234232_bz_, p_230260_1_);
    }

    public void func_230258_H__() {
        this.func_230260_a__(field_234230_bG_.func_233018_a_(this.rand));
    }

    @Nullable
    public UUID func_230257_G__() {
        return this.field_234231_bH_;
    }

    public void func_230259_a_(@Nullable UUID p_230259_1_) {
        this.field_234231_bH_ = p_230259_1_;
    }

    public boolean canBreed() {
        return super.canBreed() && !this.hasBaby();
    }

    public WhaleEntity func_241840_a(ServerWorld p_241840_1_, AgeableEntity p_241840_2_) {
        WhaleEntity whaleentity = EntityInit.WHALE.get().create(p_241840_1_);
        UUID uuid = this.getOwnerId();
        if (uuid != null) {
            whaleentity.setOwnerId(uuid);
            whaleentity.setTamed(true);
        }

        return whaleentity;
    }

    /**
     * For vehicles, the first passenger is generally considered the controller and "drives" the vehicle. For example,
     * Pigs, Horses, and Boats are generally "steered" by the controlling passenger.
     */
    @Nullable
    public Entity getControllingPassenger() {
        return this.getPassengers().isEmpty() ? null : this.getPassengers().get(0);
    }

    @Nullable
    private Vector3d func_234236_a_(Vector3d p_234236_1_, LivingEntity p_234236_2_) {
        double d0 = this.getPosX() + p_234236_1_.x;
        double d1 = this.getBoundingBox().minY;
        double d2 = this.getPosZ() + p_234236_1_.z;
        BlockPos.Mutable blockpos$mutable = new BlockPos.Mutable();

        for(Pose pose : p_234236_2_.func_230297_ef_()) {
            blockpos$mutable.setPos(d0, d1, d2);
            double d3 = this.getBoundingBox().maxY + 0.75D;

            while(true) {
                double d4 = this.world.func_242403_h(blockpos$mutable);
                if ((double)blockpos$mutable.getY() + d4 > d3) {
                    break;
                }

                if (TransportationHelper.func_234630_a_(d4)) {
                    AxisAlignedBB axisalignedbb = p_234236_2_.func_233648_f_(pose);
                    Vector3d vector3d = new Vector3d(d0, (double)blockpos$mutable.getY() + d4, d2);
                    if (TransportationHelper.func_234631_a_(this.world, p_234236_2_, axisalignedbb.offset(vector3d))) {
                        p_234236_2_.setPose(pose);
                        return vector3d;
                    }
                }

                blockpos$mutable.move(Direction.UP);
                if (!((double)blockpos$mutable.getY() < d3)) {
                    break;
                }
            }
        }

        return null;
    }

    public Vector3d func_230268_c_(LivingEntity p_230268_1_) {
        Vector3d vector3d = func_233559_a_((double)this.getWidth(), (double)p_230268_1_.getWidth(), this.rotationYaw + (p_230268_1_.getPrimaryHand() == HandSide.RIGHT ? 90.0F : -90.0F));
        Vector3d vector3d1 = this.func_234236_a_(vector3d, p_230268_1_);
        if (vector3d1 != null) {
            return vector3d1;
        } else {
            Vector3d vector3d2 = func_233559_a_((double)this.getWidth(), (double)p_230268_1_.getWidth(), this.rotationYaw + (p_230268_1_.getPrimaryHand() == HandSide.LEFT ? 90.0F : -90.0F));
            Vector3d vector3d3 = this.func_234236_a_(vector3d2, p_230268_1_);
            return vector3d3 != null ? vector3d3 : this.getPositionVec();
        }
    }

    protected void func_230273_eI_() {
    }

    /**
     * Returns true if the mob is currently able to mate with the specified mob.
     */
    public boolean canMateWith(AnimalEntity otherAnimal) {
        if (otherAnimal == this) {
            return false;
        } else if (!this.isTamed()) {
            return false;
        } else if (!(otherAnimal instanceof WhaleEntity)) {
            return false;
        } else {
            WhaleEntity whaleentity = (WhaleEntity)otherAnimal;
            if (!whaleentity.isTamed()) {
                return false;
            } else if (whaleentity.func_233684_eK_()) {
                return false;
            } else {
                return this.isInLove() && whaleentity.isInLove();
            }
        }
    }

    public boolean shouldAttackEntity(LivingEntity target, LivingEntity owner) {
        if (!(target instanceof CreeperEntity) && !(target instanceof GhastEntity)) {
            if (target instanceof WhaleEntity) {
                WhaleEntity whaleentity = (WhaleEntity)target;
                return !whaleentity.isTamed() || whaleentity.getOwner() != owner;
            } else if (target instanceof PlayerEntity && owner instanceof PlayerEntity && !((PlayerEntity)owner).canAttackPlayer((PlayerEntity)target)) {
                return false;
            } else if (target instanceof AbstractHorseEntity && ((AbstractHorseEntity)target).isTame()) {
                return false;
            } else {
                return !(target instanceof TameableEntity) || !((TameableEntity)target).isTamed();
            }
        } else {
            return false;
        }
    }

    protected void followMother() {
        if (this.isBreeding() && this.isChild() && !this.isEatingHaystack()) {
            LivingEntity livingentity = this.world.getClosestEntityWithinAABB(WhaleEntity.class, MOMMY_TARGETING, this, this.getPosX(), this.getPosY(), this.getPosZ(), this.getBoundingBox().grow(16.0D));
            if (livingentity != null && this.getDistanceSq(livingentity) > 4.0D) {
                this.navigator.getPathToEntity(livingentity, 0);
            }
        }
    }

    @OnlyIn(Dist.CLIENT)
    public Vector3d func_241205_ce_() {
        return new Vector3d(0.0D, (double)(2.0F * this.getEyeHeight()), (double)(this.getWidth() * 4.0F));
    }

    static class MoveHelperController extends MovementController {
        private final WhaleEntity whale;

        public MoveHelperController(WhaleEntity whaleIn) {
            super(whaleIn);
            this.whale = whaleIn;
        }

        public void tick() {
            if (this.whale.isInWater()) {
                this.whale.setMotion(this.whale.getMotion().add(0.0D, 0.005D, 0.0D));
            }

            if (this.action == Action.MOVE_TO && !this.whale.getNavigator().noPath()) {
                double d0 = this.posX - this.whale.getPosX();
                double d1 = this.posY - this.whale.getPosY();
                double d2 = this.posZ - this.whale.getPosZ();
                double d3 = d0 * d0 + d1 * d1 + d2 * d2;
                if (d3 < (double) 2.5000003E-7F) {
                    this.mob.setMoveForward(0.0F);
                } else {
                    float f = (float) (MathHelper.atan2(d2, d0) * (double) (180F / (float) Math.PI)) - 90.0F;
                    this.whale.rotationYaw = this.limitAngle(this.whale.rotationYaw, f, 10.0F);
                    this.whale.renderYawOffset = this.whale.rotationYaw;
                    this.whale.rotationYawHead = this.whale.rotationYaw;
                    float f1 = (float) (this.speed * this.whale.func_233637_b_(Attributes.field_233821_d_));
                    if (this.whale.isInWater()) {
                        this.whale.setAIMoveSpeed(f1 * 0.02F);
                        float f2 = -((float) (MathHelper.atan2(d1, (double) MathHelper.sqrt(d0 * d0 + d2 * d2)) * (double) (180F / (float) Math.PI)));
                        f2 = MathHelper.clamp(MathHelper.wrapDegrees(f2), -85.0F, 85.0F);
                        this.whale.rotationPitch = this.limitAngle(this.whale.rotationPitch, f2, 5.0F);
                        float f3 = MathHelper.cos(this.whale.rotationPitch * ((float) Math.PI / 180F));
                        float f4 = MathHelper.sin(this.whale.rotationPitch * ((float) Math.PI / 180F));
                        this.whale.moveForward = f3 * f1;
                        this.whale.moveVertical = -f4 * f1;
                    } else {
                        this.whale.setAIMoveSpeed(f1 * 0.1F);
                    }

                }
            } else {
                this.whale.setAIMoveSpeed(0.0F);
                this.whale.setMoveStrafing(0.0F);
                this.whale.setMoveVertical(0.0F);
                this.whale.setMoveForward(0.0F);
            }
        }
    }

    static class SwimWithPlayerGoal extends Goal {
        private final WhaleEntity whale;
        private final double speed;
        private PlayerEntity targetPlayer;

        SwimWithPlayerGoal(WhaleEntity whaleIn, double speedIn) {
            this.whale = whaleIn;
            this.speed = speedIn;
            this.setMutexFlags(EnumSet.of(Flag.MOVE, Flag.LOOK));
        }

        /**
         * Returns whether execution should begin. You can also read and cache any state necessary for execution in this
         * method as well.
         */
        public boolean shouldExecute() {
            this.targetPlayer = this.whale.world.getClosestPlayer(WhaleEntity.field_213810_bA, this.whale);
            if (this.targetPlayer == null) {
                return false;
            } else {
                return this.targetPlayer.isSwimming() && this.whale.getAttackTarget() != this.targetPlayer;
            }
        }

        /**
         * Returns whether an in-progress EntityAIBase should continue executing
         */
        public boolean shouldContinueExecuting() {
            return this.targetPlayer != null && this.targetPlayer.isSwimming() && this.whale.getDistanceSq(this.targetPlayer) < 256.0D;
        }

        /**
         * Execute a one shot task or start executing a continuous task
         */
        public void startExecuting() {
            this.targetPlayer.addPotionEffect(new EffectInstance(Effects.DOLPHINS_GRACE, 100));
        }

        /**
         * Reset the task's internal state. Called when this task is interrupted by another one
         */
        public void resetTask() {
            this.targetPlayer = null;
            this.whale.getNavigator().clearPath();
        }

        /**
         * Keep ticking a continuous task that has already been started
         */
        public void tick() {
            this.whale.getLookController().setLookPositionWithEntity(this.targetPlayer, (float) (this.whale.getHorizontalFaceSpeed() + 20), (float) this.whale.getVerticalFaceSpeed());
            if (this.whale.getDistanceSq(this.targetPlayer) < 6.25D) {
                this.whale.getNavigator().clearPath();
            } else {
                this.whale.getNavigator().tryMoveToEntityLiving(this.targetPlayer, this.speed);
            }

            if (this.targetPlayer.isSwimming() && this.targetPlayer.world.rand.nextInt(6) == 0) {
                this.targetPlayer.addPotionEffect(new EffectInstance(Effects.DOLPHINS_GRACE, 100));
            }
        }
    }

    public class BornBabyGoal extends MoveToBlockGoal {
        private final WhaleEntity whale;

        BornBabyGoal(WhaleEntity whaleentity, double speedIn) {
            super(whaleentity, speedIn, 16);
            this.whale = whaleentity;
        }

        /**
         * Returns whether execution should begin. You can also read and cache any state necessary for execution in this
         * method as well.
         */
        public boolean shouldExecute() {
            return this.whale.hasBaby() && this.whale.getHome().withinDistance(this.whale.getPositionVec(), 9.0D) ? super.shouldExecute() : false;
        }

        /**
         * Returns whether an in-progress EntityAIBase should continue executing
         */
        public boolean shouldContinueExecuting() {
            return super.shouldContinueExecuting() && this.whale.hasBaby() && this.whale.getHome().withinDistance(this.whale.getPositionVec(), 9.0D);
        }

        /**
         * Keep ticking a continuous task that has already been started
         */
        public void tick() {
            super.tick();
            BlockPos blockpos = this.whale.func_233580_cy_();
            if (!this.whale.isInWater() && this.getIsAboveDestination()) {
                if (this.whale.isBorning < 1) {
                    this.whale.setBorning(true);
                } else if (this.whale.isBorning > 200) {
                    World world = this.whale.world;
                    world.playSound((PlayerEntity) null, blockpos, SoundEvents.ENTITY_TURTLE_LAY_EGG, SoundCategory.BLOCKS, 0.3F, 0.9F + world.rand.nextFloat() * 0.2F);
                    world.setBlockState(this.destinationBlock.up(), Blocks.TURTLE_EGG.getDefaultState().with(TurtleEggBlock.EGGS, Integer.valueOf(this.whale.rand.nextInt(4) + 1)), 3);
                    this.whale.setHasBaby(false);
                    this.whale.setBorning(false);
                    this.whale.setInLove(600);
                }

                if (this.whale.isBorning()) {
                    this.whale.isBorning++;
                }
            }
        }

        @Override
        protected boolean shouldMoveTo(IWorldReader worldIn, BlockPos pos) {
            return !worldIn.isAirBlock(pos.up()) ? false : WhaleEntity.func_241473_b_(worldIn, pos);
        }
    }

    private static boolean func_241473_b_(IWorldReader worldIn, BlockPos pos) {
        return true;
    }

    static class MateGoal extends BreedGoal {
        private final WhaleEntity whale;

        MateGoal(WhaleEntity whale, double speedIn) {
            super(whale, speedIn);
            this.whale = whale;
        }

        /**
         * Returns whether execution should begin. You can also read and cache any state necessary for execution in this
         * method as well.
         */
        public boolean shouldExecute() {
            return super.shouldExecute() && !this.whale.hasBaby();
        }

        /**
         * Spawns a baby animal of the same type.
         */
        protected void spawnBaby() {
            ServerPlayerEntity serverplayerentity = this.animal.getLoveCause();
            if (serverplayerentity == null && this.targetMate.getLoveCause() != null) {
                serverplayerentity = this.targetMate.getLoveCause();
            }

            if (serverplayerentity != null) {
                serverplayerentity.addStat(Stats.ANIMALS_BRED);
                CriteriaTriggers.BRED_ANIMALS.trigger(serverplayerentity, this.animal, this.targetMate, (AgeableEntity)null);
            }

            this.whale.setHasBaby(true);
            this.animal.resetInLove();
            this.targetMate.resetInLove();
            Random random = this.animal.getRNG();
            if (this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
                this.world.addEntity(new ExperienceOrbEntity(this.world, this.animal.getPosX(), this.animal.getPosY(), this.animal.getPosZ(), random.nextInt(7) + 1));
            }
        }
    }
}

I think that main reason can be that I placed some behaviours in wrong places.

Link to comment
Share on other sites

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

    • I'm creating a Curio mod and one of those items gives the player Freezing immunity, It works fine with the vanilla Minecraft freezing effect i trayed to to also make it work with Ice and Fire: ice Dragon freezing effect, and the method I was to change the nbtTag the mod add to the player but nothing that i know of works
    • Hi guys! I'm really not good at this kind of thing at all, and I've been throwing together a modpack for my personal entertainment. I had tried loading some worlds earlier when I had 78 and that worked, but now I'm at 90 and something went wrong. I can't enter any world I try to create, it just crashes after lagging for a while at the "Loading World" section.   https://pastebin.com/embed_iframe/WwaKFxiK (please let me know if that link to my crash report doesn't work it's my first time doing this)   I was creating a fresh new world, it's not something that happened in an active world. I create worlds to make sure everything works quickly every 10 mods or so before deleting them. I also downloaded Not Enough Crashes and it doesn't seem to suspect any particular mod. I'm using the Prism Launcher. Any advice helps, I'm very new to this and don't want to have to start making my modpack over again! ❤️
    • Add crash-reports with sites like https://paste.ee/ and paste the link to it here   There is an issue with decorative_blocks - maybe a conflict with Optifine Make a test without Optifine first - if there is no change, remove decorative_blocks
    • While the mods are loading, I get this message and Minecraft crashes, I don't know why   Can anyone kindly help me if you know why? Thank you    ---- Minecraft Crash Report ---- // Don't do that. Time: 2024-05-26 22:17:38 Description: Initializing game java.lang.RuntimeException: null     at net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:320) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}     at net.minecraftforge.common.ForgeStatesProvider.lambda$new$4(ForgeStatesProvider.java:25) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}     at net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:219) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}     at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$19(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}     at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}     at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}     at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$13(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}     at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}     at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}     at net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:72) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.<init>(Minecraft.java:484) ~[forge-1.20.4-49.0.50-client.jar:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:dynamic_fps-common.mixins.json:MinecraftMixin,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:196) ~[forge-1.20.4-49.0.50-client.jar:?] {re:classloading,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:91) ~[fmlloader-1.20.4-49.0.50.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:75) ~[fmlloader-1.20.4-49.0.50.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:74) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:114) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:73) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) ~[modlauncher-10.1.2.jar:?] {}     at net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) ~[bootstrap-2.1.0.jar!/:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) ~[bootstrap-2.1.0.jar!/:?] {}     at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) ~[bootstrap-2.1.0.jar!/:?] {}     at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) ~[bootstrap-2.1.0.jar!/:?] {}     Suppressed: net.minecraftforge.fml.ModLoadingException: Decorative Blocks (decorative_blocks) encountered an error during the common_setup event phase §7java.lang.NoSuchMethodError: 'void net.minecraft.world.level.block.TrapDoorBlock.<init>(net.minecraft.world.level.block.state.BlockBehaviour$Properties, net.minecraft.world.level.block.state.properties.BlockSetType)'         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:110) ~[javafmllanguage-1.20.4-49.0.50.jar:49.0.50] {}         at net.minecraftforge.fml.ModLoader.lambda$postEventWithWrapInModOrder$33(ModLoader.java:347) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModList.forEachModInOrder(ModList.java:227) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {re:mixin}         at net.minecraftforge.fml.ModLoader.postEventWithWrapInModOrder(ModLoader.java:345) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.postEventWrapContainerInModOrder(ModLoader.java:338) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:334) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}         at net.minecraftforge.common.ForgeStatesProvider.lambda$new$4(ForgeStatesProvider.java:25) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}         at net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:219) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$19(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$13(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:72) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraft.client.Minecraft.<init>(Minecraft.java:484) ~[forge-1.20.4-49.0.50-client.jar:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:dynamic_fps-common.mixins.json:MinecraftMixin,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}         at net.minecraft.client.main.Main.main(Main.java:196) ~[forge-1.20.4-49.0.50-client.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:91) ~[fmlloader-1.20.4-49.0.50.jar:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:75) ~[fmlloader-1.20.4-49.0.50.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:74) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.Launcher.run(Launcher.java:114) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.Launcher.main(Launcher.java:73) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) ~[modlauncher-10.1.2.jar:?] {}         at net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) ~[bootstrap-2.1.0.jar!/:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) ~[bootstrap-2.1.0.jar!/:?] {}         at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) ~[bootstrap-2.1.0.jar!/:?] {}         at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) ~[bootstrap-2.1.0.jar!/:?] {}     Caused by: java.lang.NoSuchMethodError: 'void net.minecraft.world.level.block.TrapDoorBlock.<init>(net.minecraft.world.level.block.state.BlockBehaviour$Properties, net.minecraft.world.level.block.state.properties.BlockSetType)'         at lilypuree.decorative_blocks.blocks.BarPanelBlock.<init>(BarPanelBlock.java:30) ~[decorative_blocks-forge-1.20.1-4.0.2.jar!/:4.0.2] {re:classloading}         at lilypuree.decorative_blocks.core.DBBlocks.lambda$static$12(DBBlocks.java:67) ~[decorative_blocks-forge-1.20.1-4.0.2.jar!/:4.0.2] {re:classloading}         at net.minecraftforge.registries.DeferredRegister$EventDispatcher.lambda$handleEvent$0(DeferredRegister.java:366) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,pl:eventbus:A}         at net.minecraftforge.registries.RegisterEvent.register(RegisterEvent.java:59) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,pl:eventbus:A}         at net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:366) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,pl:eventbus:A}         at net.minecraftforge.registries.__EventDispatcher_handleEvent_RegisterEvent.invoke(.dynamic) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,pl:eventbus:B}         at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:58) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:300) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:281) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:106) ~[javafmllanguage-1.20.4-49.0.50.jar:49.0.50] {}         ... 38 more     Suppressed: net.minecraftforge.fml.ModLoadingException: Decorative Blocks (decorative_blocks) encountered an error during the common_setup event phase §7java.lang.NullPointerException: Registry Object not present: decorative_blocks:bar_panel         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:110) ~[javafmllanguage-1.20.4-49.0.50.jar:49.0.50] {}         at net.minecraftforge.fml.ModLoader.lambda$postEventWithWrapInModOrder$33(ModLoader.java:347) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModList.forEachModInOrder(ModList.java:227) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {re:mixin}         at net.minecraftforge.fml.ModLoader.postEventWithWrapInModOrder(ModLoader.java:345) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.postEventWrapContainerInModOrder(ModLoader.java:338) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:334) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}         at net.minecraftforge.common.ForgeStatesProvider.lambda$new$4(ForgeStatesProvider.java:25) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}         at net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:219) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$19(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$13(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:72) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraft.client.Minecraft.<init>(Minecraft.java:484) ~[forge-1.20.4-49.0.50-client.jar:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:dynamic_fps-common.mixins.json:MinecraftMixin,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}         at net.minecraft.client.main.Main.main(Main.java:196) ~[forge-1.20.4-49.0.50-client.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:91) ~[fmlloader-1.20.4-49.0.50.jar:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:75) ~[fmlloader-1.20.4-49.0.50.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:74) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.Launcher.run(Launcher.java:114) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.Launcher.main(Launcher.java:73) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) ~[modlauncher-10.1.2.jar:?] {}         at net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) ~[bootstrap-2.1.0.jar!/:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) ~[bootstrap-2.1.0.jar!/:?] {}         at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) ~[bootstrap-2.1.0.jar!/:?] {}         at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) ~[bootstrap-2.1.0.jar!/:?] {}     Caused by: java.lang.NullPointerException: Registry Object not present: decorative_blocks:bar_panel         at java.util.Objects.requireNonNull(Objects.java:336) ~[?:?] {re:mixin}         at net.minecraftforge.registries.RegistryObject.get(RegistryObject.java:204) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,re:mixin}         at lilypuree.decorative_blocks.registration.forge.ForgeRegistrationFactory$Provider$1.get(ForgeRegistrationFactory.java:145) ~[decorative_blocks-forge-1.20.1-4.0.2.jar!/:4.0.2] {re:classloading}         at lilypuree.decorative_blocks.registration.BlockRegistryObject$1.get(BlockRegistryObject.java:87) ~[decorative_blocks-forge-1.20.1-4.0.2.jar!/:4.0.2] {re:classloading}         at lilypuree.decorative_blocks.registration.BlockRegistryObject$1.get(BlockRegistryObject.java:74) ~[decorative_blocks-forge-1.20.1-4.0.2.jar!/:4.0.2] {re:classloading}         at lilypuree.decorative_blocks.core.DBItems.lambda$registerBlockItem$3(DBItems.java:83) ~[decorative_blocks-forge-1.20.1-4.0.2.jar!/:4.0.2] {re:classloading}         at net.minecraftforge.registries.DeferredRegister$EventDispatcher.lambda$handleEvent$0(DeferredRegister.java:366) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,pl:eventbus:A}         at net.minecraftforge.registries.RegisterEvent.register(RegisterEvent.java:59) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,pl:eventbus:A}         at net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:366) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,pl:eventbus:A}         at net.minecraftforge.registries.__EventDispatcher_handleEvent_RegisterEvent.invoke(.dynamic) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,pl:eventbus:B}         at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:58) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:300) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:281) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:106) ~[javafmllanguage-1.20.4-49.0.50.jar:49.0.50] {}         ... 38 more     Suppressed: net.minecraftforge.fml.ModLoadingException: GlitchCore (glitchcore) encountered an error during the common_setup event phase §7java.lang.NullPointerException: null         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:110) ~[javafmllanguage-1.20.4-49.0.50.jar:49.0.50] {}         at net.minecraftforge.fml.ModLoader.lambda$postEventWithWrapInModOrder$33(ModLoader.java:347) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModList.forEachModInOrder(ModList.java:227) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {re:mixin}         at net.minecraftforge.fml.ModLoader.postEventWithWrapInModOrder(ModLoader.java:345) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.postEventWrapContainerInModOrder(ModLoader.java:338) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:334) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}         at net.minecraftforge.common.ForgeStatesProvider.lambda$new$4(ForgeStatesProvider.java:25) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}         at net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:219) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$19(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$13(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:72) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraft.client.Minecraft.<init>(Minecraft.java:484) ~[forge-1.20.4-49.0.50-client.jar:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:dynamic_fps-common.mixins.json:MinecraftMixin,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}         at net.minecraft.client.main.Main.main(Main.java:196) ~[forge-1.20.4-49.0.50-client.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:91) ~[fmlloader-1.20.4-49.0.50.jar:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:75) ~[fmlloader-1.20.4-49.0.50.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:74) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.Launcher.run(Launcher.java:114) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.Launcher.main(Launcher.java:73) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) ~[modlauncher-10.1.2.jar:?] {}         at net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) ~[bootstrap-2.1.0.jar!/:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) ~[bootstrap-2.1.0.jar!/:?] {}         at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) ~[bootstrap-2.1.0.jar!/:?] {}         at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) ~[bootstrap-2.1.0.jar!/:?] {}     Caused by: java.lang.NullPointerException         at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:903) ~[guava-32.1.2-jre.jar!/:?] {}         at com.google.common.collect.ImmutableSet.construct(ImmutableSet.java:206) ~[guava-32.1.2-jre.jar!/:?] {re:mixin}         at com.google.common.collect.ImmutableSet.constructUnknownDuplication(ImmutableSet.java:172) ~[guava-32.1.2-jre.jar!/:?] {re:mixin}         at com.google.common.collect.ImmutableSet.copyOf(ImmutableSet.java:300) ~[guava-32.1.2-jre.jar!/:?] {re:mixin}         at net.minecraft.world.level.block.entity.BlockEntityType$Builder.m_155273_(BlockEntityType.java:127) ~[forge-1.20.4-49.0.50-client.jar!/:?] {re:classloading}         at biomesoplenty.init.ModBlockEntities.registerBlockEntities(ModBlockEntities.java:26) ~[BiomesOPlenty-forge-1.20.4-19.0.0.89.jar!/:19.0.0.89] {re:classloading}         at glitchcore.util.RegistryHelper.lambda$accept$0(RegistryHelper.java:43) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at glitchcore.util.RegistryHelper.accept(RegistryHelper.java:41) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at glitchcore.util.RegistryHelper.accept(RegistryHelper.java:18) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at glitchcore.event.EventManager.fire(EventManager.java:45) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:mixin,re:classloading}         at glitchcore.forge.handlers.RegistryEventHandler.onRegister(RegistryEventHandler.java:22) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at glitchcore.forge.handlers.__RegistryEventHandler_onRegister_RegisterEvent.invoke(.dynamic) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading,pl:eventbus:B}         at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:58) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:300) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:281) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:106) ~[javafmllanguage-1.20.4-49.0.50.jar:49.0.50] {}         ... 38 more     Suppressed: net.minecraftforge.fml.ModLoadingException: GlitchCore (glitchcore) encountered an error during the common_setup event phase §7java.lang.NullPointerException: null         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:110) ~[javafmllanguage-1.20.4-49.0.50.jar:49.0.50] {}         at net.minecraftforge.fml.ModLoader.lambda$postEventWithWrapInModOrder$33(ModLoader.java:347) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModList.forEachModInOrder(ModList.java:227) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {re:mixin}         at net.minecraftforge.fml.ModLoader.postEventWithWrapInModOrder(ModLoader.java:345) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.postEventWrapContainerInModOrder(ModLoader.java:338) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:334) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}         at net.minecraftforge.common.ForgeStatesProvider.lambda$new$4(ForgeStatesProvider.java:25) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}         at net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:219) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$19(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$13(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:72) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraft.client.Minecraft.<init>(Minecraft.java:484) ~[forge-1.20.4-49.0.50-client.jar:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:dynamic_fps-common.mixins.json:MinecraftMixin,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}         at net.minecraft.client.main.Main.main(Main.java:196) ~[forge-1.20.4-49.0.50-client.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:91) ~[fmlloader-1.20.4-49.0.50.jar:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:75) ~[fmlloader-1.20.4-49.0.50.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:74) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.Launcher.run(Launcher.java:114) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.Launcher.main(Launcher.java:73) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) ~[modlauncher-10.1.2.jar:?] {}         at net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) ~[bootstrap-2.1.0.jar!/:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) ~[bootstrap-2.1.0.jar!/:?] {}         at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) ~[bootstrap-2.1.0.jar!/:?] {}         at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) ~[bootstrap-2.1.0.jar!/:?] {}     Caused by: java.lang.NullPointerException         at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:903) ~[guava-32.1.2-jre.jar!/:?] {}         at com.google.common.collect.ImmutableSet.construct(ImmutableSet.java:206) ~[guava-32.1.2-jre.jar!/:?] {re:mixin}         at com.google.common.collect.ImmutableSet.of(ImmutableSet.java:152) ~[guava-32.1.2-jre.jar!/:?] {re:mixin}         at biomesoplenty.worldgen.carver.OriginCaveWorldCarver.<init>(OriginCaveWorldCarver.java:20) ~[BiomesOPlenty-forge-1.20.4-19.0.0.89.jar!/:19.0.0.89] {re:classloading}         at biomesoplenty.worldgen.carver.BOPWorldCarvers.registerCarvers(BOPWorldCarvers.java:21) ~[BiomesOPlenty-forge-1.20.4-19.0.0.89.jar!/:19.0.0.89] {re:classloading}         at glitchcore.util.RegistryHelper.lambda$accept$0(RegistryHelper.java:43) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at glitchcore.util.RegistryHelper.accept(RegistryHelper.java:41) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at glitchcore.util.RegistryHelper.accept(RegistryHelper.java:18) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at glitchcore.event.EventManager.fire(EventManager.java:45) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:mixin,re:classloading}         at glitchcore.forge.handlers.RegistryEventHandler.onRegister(RegistryEventHandler.java:22) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at glitchcore.forge.handlers.__RegistryEventHandler_onRegister_RegisterEvent.invoke(.dynamic) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading,pl:eventbus:B}         at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:58) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:300) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:281) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:106) ~[javafmllanguage-1.20.4-49.0.50.jar:49.0.50] {}         ... 38 more     Suppressed: net.minecraftforge.fml.ModLoadingException: GlitchCore (glitchcore) encountered an error during the common_setup event phase §7java.lang.NullPointerException: at index 0         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:110) ~[javafmllanguage-1.20.4-49.0.50.jar:49.0.50] {}         at net.minecraftforge.fml.ModLoader.lambda$postEventWithWrapInModOrder$33(ModLoader.java:347) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModList.forEachModInOrder(ModList.java:227) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {re:mixin}         at net.minecraftforge.fml.ModLoader.postEventWithWrapInModOrder(ModLoader.java:345) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.postEventWrapContainerInModOrder(ModLoader.java:338) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:334) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}         at net.minecraftforge.common.ForgeStatesProvider.lambda$new$4(ForgeStatesProvider.java:25) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}         at net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:219) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$19(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$13(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar:1.0] {}         at net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:72) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraft.client.Minecraft.<init>(Minecraft.java:484) ~[forge-1.20.4-49.0.50-client.jar:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:dynamic_fps-common.mixins.json:MinecraftMixin,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}         at net.minecraft.client.main.Main.main(Main.java:196) ~[forge-1.20.4-49.0.50-client.jar:?] {re:classloading,pl:runtimedistcleaner:A}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:91) ~[fmlloader-1.20.4-49.0.50.jar:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:75) ~[fmlloader-1.20.4-49.0.50.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:74) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.Launcher.run(Launcher.java:114) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.Launcher.main(Launcher.java:73) ~[modlauncher-10.1.2.jar:?] {}         at cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) ~[modlauncher-10.1.2.jar:?] {}         at net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) ~[bootstrap-2.1.0.jar!/:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) ~[bootstrap-2.1.0.jar!/:?] {}         at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) ~[bootstrap-2.1.0.jar!/:?] {}         at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) ~[bootstrap-2.1.0.jar!/:?] {}     Caused by: java.lang.NullPointerException: at index 0         at com.google.common.collect.ObjectArrays.checkElementNotNull(ObjectArrays.java:232) ~[guava-32.1.2-jre.jar!/:?] {}         at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:222) ~[guava-32.1.2-jre.jar!/:?] {}         at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:216) ~[guava-32.1.2-jre.jar!/:?] {}         at com.google.common.collect.ImmutableList.construct(ImmutableList.java:353) ~[guava-32.1.2-jre.jar!/:?] {}         at com.google.common.collect.ImmutableList.of(ImmutableList.java:225) ~[guava-32.1.2-jre.jar!/:?] {}         at biomesoplenty.init.ModCreativeTab.registerCreativeTabs(ModCreativeTab.java:25) ~[BiomesOPlenty-forge-1.20.4-19.0.0.89.jar!/:19.0.0.89] {re:classloading}         at glitchcore.util.RegistryHelper.lambda$accept$0(RegistryHelper.java:43) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at glitchcore.util.RegistryHelper.accept(RegistryHelper.java:41) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at glitchcore.util.RegistryHelper.accept(RegistryHelper.java:18) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at glitchcore.event.EventManager.fire(EventManager.java:45) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:mixin,re:classloading}         at glitchcore.forge.handlers.RegistryEventHandler.onRegister(RegistryEventHandler.java:22) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading}         at glitchcore.forge.handlers.__RegistryEventHandler_onRegister_RegisterEvent.invoke(.dynamic) ~[GlitchCore-forge-1.20.4-1.0.0.59.jar!/:1.0.0.59] {re:classloading,pl:eventbus:B}         at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:58) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:300) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:281) ~[eventbus-6.2.0.jar:?] {}         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:106) ~[javafmllanguage-1.20.4-49.0.50.jar:49.0.50] {}         ... 38 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Suspected Mods: NONE Stacktrace:     at net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:320) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}     at net.minecraftforge.common.ForgeStatesProvider.lambda$new$4(ForgeStatesProvider.java:25) ~[forge-1.20.4-49.0.50-universal.jar:?] {re:classloading}     at net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:219) ~[fmlcore-1.20.4-49.0.50.jar!/:1.0] {}     at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$19(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar!/:1.0] {}     at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}     at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:211) ~[fmlcore-1.20.4-49.0.50.jar!/:1.0] {}     at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$13(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar!/:1.0] {}     at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}     at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:185) ~[fmlcore-1.20.4-49.0.50.jar!/:1.0] {}     at net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:72) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:52) ~[forge-1.20.4-49.0.50-universal.jar!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.<init>(Minecraft.java:484) ~[forge-1.20.4-49.0.50-client.jar!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:glitchcore.mixins.json:client.MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:dynamic_fps-common.mixins.json:MinecraftMixin,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A} -- Initialization -- Details:     Modules:          ADVAPI32.dll:API Windows 32 Base avanzato:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         COMCTL32.dll:Libreria di controlli per le azioni dell'utente:6.10 (WinBuild.160101.0800):Microsoft Corporation         CRYPT32.dll:Crypto API32:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         CRYPTBASE.dll:Base cryptographic API DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         CRYPTSP.dll:Cryptographic Service Provider API:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         ColorAdapterClient.dll:Microsoft Color Adapter Client:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         CoreMessaging.dll:Microsoft CoreMessaging Dll:10.0.19041.4355:Microsoft Corporation         CoreUIComponents.dll:Microsoft Core UI Components Dll:10.0.19041.3636:Microsoft Corporation         DBGHELP.DLL:Windows Image Helper:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         DEVOBJ.dll:Device Information Set DLL:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         DNSAPI.dll:DLL API client DNS:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         DPAPI.DLL:Data Protection API:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         GDI32.dll:GDI Client DLL:10.0.19041.3996 (WinBuild.160101.0800):Microsoft Corporation         GLU32.dll:OpenGL Utility Library DLL:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         IMM32.DLL:Multi-User Windows IMM32 API Client DLL:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         IPHLPAPI.DLL:API helper IP:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         KERNEL32.DLL:DLL client di Windows NT BASE API:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         KERNELBASE.dll:DLL client di Windows NT BASE API:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         MSCTF.dll:MSCTF Server DLL:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         NLAapi.dll:Network Location Awareness 2:10.0.19041.4123 (WinBuild.160101.0800):Microsoft Corporation         NSI.dll:NSI User-mode interface DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         NTASN1.dll:Microsoft ASN.1 API:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         OLEAUT32.dll:OLEAUT32.DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         POWRPROF.dll:DLL helper del profilo di alimentazione:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         PROPSYS.dll:Sistema di proprietà Microsoft:7.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         PSAPI.DLL:Process Status Helper:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         Pdh.dll:DLL helper Dati di prestazione di Windows:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         RPCRT4.dll:Runtime RPC (Remote Procedure Call):10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         SHCORE.dll:SHCORE:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         SHELL32.dll:DLL comune della shell di Windows:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         SSPICLI.DLL:Security Support Provider Interface:10.0.19041.4239 (WinBuild.160101.0800):Microsoft Corporation         Secur32.dll:Security Support Provider Interface:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         UMPDC.dll         USER32.dll:Multi-User Windows USER API Client DLL:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         USERENV.dll:Userenv:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         VCRUNTIME140.dll:Microsoft® C Runtime Library:14.29.30139.0 built by: vcwrkspc:Microsoft Corporation         VERSION.dll:Version Checking and File Installation Libraries:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         WINHTTP.dll:Servizi HTTP Windows:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         WINMM.dll:DLL API MCI:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         WS2_32.dll:DLL a 32 bit di Windows Socket 2.0:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         WSOCK32.dll:Windows Socket 32-Bit DLL:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         Wldp.dll:Criterio di blocco di Windows:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         amsi.dll:Anti-Malware Scan Interface:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         apphelp.dll:Libreria client compatibilità applicazione:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         awt.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         bcrypt.dll:Libreria primitive di crittografia di Windows:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         bcryptPrimitives.dll:Windows Cryptographic Primitives Library:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         cfgmgr32.dll:Configuration Manager DLL:10.0.19041.3996 (WinBuild.160101.0800):Microsoft Corporation         clbcatq.dll:COM+ Configuration Catalog:2001.12.10941.16384 (WinBuild.160101.0800):Microsoft Corporation         com_antivirus.dll:Kaspersky ComAntivirus Component:30.1580.0.940:AO Kaspersky Lab         combase.dll:Microsoft COM per Windows:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         dbgcore.DLL:Windows Core Debugging Helpers:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         dhcpcsvc.DLL:Servizio Client DHCP:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         dhcpcsvc6.DLL:Client DHCPv6:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         dinput8.dll:Microsoft DirectInput:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         dwmapi.dll:API di Gestione finestre desktop Microsoft:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         dxgi.dll:DirectX Graphics Infrastructure:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         fwpuclnt.dll:API modalità utente FWP/IPsec:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         gdi32full.dll:GDI Client DLL:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         glfw.dll:GLFW 3.4.0 DLL:3.4.0:GLFW         icm32.dll:Microsoft Color Management Module (CMM):10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         ig9icd64.dll:OpenGL(R) Driver for Intel(R) Graphics Accelerator:27.20.100.8682:Intel Corporation         igc64.dll:Intel Graphics Shader Compiler for Intel(R) Graphics Accelerator:27.20.100.8682:Intel Corporation         igdgmm64.dll:User Mode Driver for Intel(R) Graphics Technology:27.20.100.8682:Intel Corporation         igdml64.dll:Metrics Library for Intel(R) Graphics Technology:27.20.100.8682:Intel Corporation         inputhost.dll:InputHost:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         java.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         javaw.exe:OpenJDK Platform binary:17.0.8.0:Microsoft         jemalloc.dll         jimage.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         jli.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         jna14716657657075399810.dll:JNA native library:6.1.6:Java(TM) Native Access (JNA)         jsvml.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         jvm.dll:OpenJDK 64-Bit server VM:17.0.8.0:Microsoft         kernel.appcore.dll:AppModel API Host:10.0.19041.3758 (WinBuild.160101.0800):Microsoft Corporation         lwjgl.dll         lwjgl_opengl.dll         lwjgl_stb.dll         management.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         management_ext.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         mscms.dll:DLL sistema di corrispondenza colori Microsoft:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         msvcp140.dll:Microsoft® C Runtime Library:14.29.30139.0 built by: vcwrkspc:Microsoft Corporation         msvcp_win.dll:Microsoft® C Runtime Library:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         msvcrt.dll:Windows NT CRT DLL:7.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         mswsock.dll:Service Provider Microsoft Windows Sockets 2.0:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         napinsp.dll:Provider shim denominazione posta elettronica:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         ncrypt.dll:Windows NCrypt Router:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         net.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         nio.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         ntdll.dll:DLL del livello NT:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         ntmarta.dll:Provider MARTA per Windows NT:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         ole32.dll:Microsoft OLE per Windows:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         opengl32.dll:OpenGL Client DLL:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         perfos.dll:DLL oggetti delle prestazioni del sistema Windows:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         pnrpnsp.dll:Provider spazio dei nomi PNRP:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         profapi.dll:User Profile Basic API:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         rasadhlp.dll:Remote Access AutoDial Helper:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         rsaenh.dll:Microsoft Enhanced Cryptographic Provider:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         sechost.dll:Host for SCM/SDDL/LSA Lookup APIs:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         shlwapi.dll:Libreria leggera di utilità per la shell:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         sunmscapi.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         textinputframework.dll:"TextInputFramework.DYNLINK":10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         ucrtbase.dll:Microsoft® C Runtime Library:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         uxtheme.dll:Libreria UxTheme di Microsoft:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         vcruntime140_1.dll:Microsoft® C Runtime Library:14.29.30139.0 built by: vcwrkspc:Microsoft Corporation         verify.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         win32u.dll:Win32u:10.0.19041.4412 (WinBuild.160101.0800):Microsoft Corporation         windows.storage.dll:API archiviazione Microsoft WinRT:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         winrnr.dll:LDAP RnR Provider DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         wintypes.dll:DLL tipi di base Windows:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         wshbth.dll:Windows Sockets Helper DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         xinput1_4.dll:API periferica comune Microsoft:10.0.19041.4165 (WinBuild.160101.0800):Microsoft Corporation         zip.dll:OpenJDK Platform binary:17.0.8.0:Microsoft Stacktrace:     at net.minecraft.client.main.Main.main(Main.java:196) ~[forge-1.20.4-49.0.50-client.jar:?] {re:classloading,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:91) ~[fmlloader-1.20.4-49.0.50.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:75) ~[fmlloader-1.20.4-49.0.50.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:74) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:114) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:73) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) ~[modlauncher-10.1.2.jar:?] {}     at net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) ~[bootstrap-2.1.0.jar!/:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) ~[bootstrap-2.1.0.jar!/:?] {}     at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) ~[bootstrap-2.1.0.jar!/:?] {}     at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) ~[bootstrap-2.1.0.jar!/:?] {} -- System Details -- Details:     Minecraft Version: 1.20.4     Minecraft Version ID: 1.20.4     Operating System: Windows 10 (amd64) version 10.0     Java Version: 17.0.8, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 715257464 bytes (682 MiB) / 1447034880 bytes (1380 MiB) up to 4294967296 bytes (4096 MiB)     CPUs: 4     Processor Vendor: GenuineIntel     Processor Name: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz     Identifier: Intel64 Family 6 Model 142 Stepping 9     Microarchitecture: Amber Lake     Frequency (GHz): 2.71     Number of physical packages: 1     Number of physical CPUs: 2     Number of logical CPUs: 4     Graphics card #0 name: NVIDIA GeForce 930MX     Graphics card #0 vendor: NVIDIA (0x10de)     Graphics card #0 VRAM (MB): 2048.00     Graphics card #0 deviceId: 0x134e     Graphics card #0 versionInfo: DriverVersion=30.0.15.1179     Graphics card #1 name: Intel(R) HD Graphics 620     Graphics card #1 vendor: Intel Corporation (0x8086)     Graphics card #1 VRAM (MB): 1024.00     Graphics card #1 deviceId: 0x5916     Graphics card #1 versionInfo: DriverVersion=27.20.100.8682     Memory slot #0 capacity (MB): 4096.00     Memory slot #0 clockSpeed (GHz): 2.13     Memory slot #0 type: DDR4     Virtual memory max (MB): 14220.26     Virtual memory used (MB): 8538.14     Swap memory total (MB): 10240.00     Swap memory used (MB): 1415.27     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx4096m -Xms256m     Launched Version: forge-49.0.50     Launcher name: minecraft-launcher     Backend library: LWJGL version 3.3.2+13     Backend API: Intel(R) HD Graphics 620 GL version 4.6.0 - Build 27.20.100.8682, Intel     Window size: <not initialized>     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages:      Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'     Universe: 404     Type: Client (map_client.txt)     Locale: en_US     CPU: 4x Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz     OptiFine Version: OptiFine_1.20.4_HD_U_I7     OptiFine Build: 20240317-172634     Render Distance Chunks: 8     Mipmaps: 4     Anisotropic Filtering: 1     Antialiasing: 0     Multitexture: false     Shaders: null     OpenGlVersion: 4.6.0 - Build 27.20.100.8682     OpenGlRenderer: Intel(R) HD Graphics 620     OpenGlVendor: Intel     CpuCount: 4     ModLauncher: 10.1.2     ModLauncher launch target: forge_client     ModLauncher naming: srg     ModLauncher services:          / slf4jfixer PLUGINSERVICE          / runtimedistcleaner PLUGINSERVICE          / runtime_enum_extender PLUGINSERVICE          / object_holder_definalize PLUGINSERVICE          / capability_token_subclass PLUGINSERVICE          / accesstransformer PLUGINSERVICE          / eventbus PLUGINSERVICE          / mixin PLUGINSERVICE          / OptiFine TRANSFORMATIONSERVICE          / fml TRANSFORMATIONSERVICE          / mixin TRANSFORMATIONSERVICE      FML Language Providers:          lowcodefml@49         [email protected]         [email protected]     Mod List:          forge-1.20.4-49.0.50-client.jar                   |Minecraft                     |minecraft                     |1.20.4              |COMMON_SET|Manifest: NOSIGNATURE         mcw-bridges-3.0.0-mc1.20.4forge.jar               |Macaw's Bridges               |mcwbridges                    |3.0.0               |COMMON_SET|Manifest: NOSIGNATURE         saturn-mc1.20.4-0.1.3.jar                         |Saturn                        |saturn                        |0.1.3               |COMMON_SET|Manifest: NOSIGNATURE         TerraBlender-forge-1.20.4-3.3.0.12.jar            |TerraBlender                  |terrablender                  |3.3.0.12            |COMMON_SET|Manifest: NOSIGNATURE         mcw-fences-1.1.1-mc1.20.4forge.jar                |Macaw's Fences and Walls      |mcwfences                     |1.1.1               |COMMON_SET|Manifest: NOSIGNATURE         jei-1.20.4-forge-17.3.0.52.jar                    |Just Enough Items             |jei                           |17.3.0.52           |COMMON_SET|Manifest: NOSIGNATURE         spectrelib-forge-0.15.2+1.20.4.jar                |SpectreLib                    |spectrelib                    |0.15.2+1.20.4       |COMMON_SET|Manifest: NOSIGNATURE         mcw-windows-2.2.1-mc1.20.4forge.jar               |Macaw's Windows               |mcwwindows                    |2.2.1               |COMMON_SET|Manifest: NOSIGNATURE         ForgeEndertech-1.20.4-11.4.1.1-build.0170.jar     |ForgeEndertech                |forgeendertech                |11.4.1.1            |COMMON_SET|Manifest: NOSIGNATURE         Croptopia-1.20.4-FORGE-3.0.4.jar                  |Croptopia                     |croptopia                     |3.0.4               |COMMON_SET|Manifest: NOSIGNATURE         journeymap-1.20.4-5.9.25-forge.jar                |Journeymap                    |journeymap                    |5.9.25              |COMMON_SET|Manifest: NOSIGNATURE         comforts-forge-7.2.2+1.20.4.jar                   |Comforts                      |comforts                      |7.2.2+1.20.4        |COMMON_SET|Manifest: NOSIGNATURE         travelersbackpack-forge-1.20.4-9.4.2.jar          |Traveler's Backpack           |travelersbackpack             |9.4.2               |COMMON_SET|Manifest: NOSIGNATURE         EpheroLib-1.20.4-FORGE-1.2.0.jar                  |EpheroLib                     |epherolib                     |1.2.0               |COMMON_SET|Manifest: NOSIGNATURE         YungsApi-1.20.4-Forge-4.4.3.jar                   |YUNG's API                    |yungsapi                      |1.20.4-Forge-4.4.3  |COMMON_SET|Manifest: NOSIGNATURE         decorative_blocks-forge-1.20.1-4.0.2.jar          |Decorative Blocks             |decorative_blocks             |4.0.2               |COMMON_SET|Manifest: NOSIGNATURE         mixinextras-forge-0.3.5.jar                       |MixinExtras                   |mixinextras                   |0.3.5               |COMMON_SET|Manifest: NOSIGNATURE         GlitchCore-forge-1.20.4-1.0.0.59.jar              |GlitchCore                    |glitchcore                    |1.0.0.59            |COMMON_SET|Manifest: NOSIGNATURE         BiomesOPlenty-forge-1.20.4-19.0.0.89.jar          |Biomes O' Plenty              |biomesoplenty                 |19.0.0.89           |COMMON_SET|Manifest: NOSIGNATURE         mcw-roofs-2.3.0-mc1.20.4forge.jar                 |Macaw's Roofs                 |mcwroofs                      |2.3.0               |COMMON_SET|Manifest: NOSIGNATURE         architectury-11.1.17-minecraftforge.jar           |Architectury                  |architectury                  |11.1.17             |COMMON_SET|Manifest: NOSIGNATURE         moremobvariants-forge+1.20.4-1.3.0.1.jar          |More Mob Variants             |moremobvariants               |1.3.0.1             |COMMON_SET|Manifest: NOSIGNATURE         additional_lights-1.20.4-2.1.7.jar                |Additional Lights             |additional_lights             |2.1.7               |COMMON_SET|Manifest: NOSIGNATURE         dynamic-fps-3.4.3+minecraft-1.20.0-forge.jar      |Dynamic FPS                   |dynamic_fps                   |3.4.3               |COMMON_SET|Manifest: NOSIGNATURE         AdChimneys-1.20.4-10.4.1.1-build.0170.jar         |Advanced Chimneys             |adchimneys                    |10.4.1.1            |COMMON_SET|Manifest: NOSIGNATURE         macawsroofsbop-1.20-1.0.jar                       |Macaw's Roofs - BOP           |macawsroofsbop                |1.20-1.0            |COMMON_SET|Manifest: NOSIGNATURE         cloth-config-13.0.121-forge.jar                   |Cloth Config v13 API          |cloth_config                  |13.0.121            |COMMON_SET|Manifest: NOSIGNATURE         sound-physics-remastered-forge-1.20.4-1.4.2.jar   |Sound Physics Remastered      |sound_physics_remastered      |1.20.4-1.4.2        |COMMON_SET|Manifest: NOSIGNATURE         [1.20.2-forge]-Epic-Knights-8.11.jar              |Epic Knights Mod              |magistuarmory                 |8.11                |COMMON_SET|Manifest: NOSIGNATURE         forge-1.20.4-49.0.50-universal.jar                |Forge                         |forge                         |49.0.50             |COMMON_SET|Manifest: NOSIGNATURE         appleskin-forge-mc1.20.2-2.5.1.jar                |AppleSkin                     |appleskin                     |2.5.1+mc1.20.2      |COMMON_SET|Manifest: NOSIGNATURE         t_and_t-1.12.1.1.jar                              |Towns and Towers              |t_and_t                       |1.12.1              |COMMON_SET|Manifest: NOSIGNATURE         YungsBetterMineshafts-1.20.4-Forge-4.4.2.jar      |YUNG's Better Mineshafts      |bettermineshafts              |1.20.4-Forge-4.4.2  |COMMON_SET|Manifest: NOSIGNATURE         cristellib-1.2.2-forge.jar                        |Cristel Lib                   |cristellib                    |1.2.2               |COMMON_SET|Manifest: NOSIGNATURE     Crash Report UUID: a8123eb1-7d66-4297-93b0-8b9baf89b22d     FML: 0.0     Forge: net.minecraftforge:49.0.50
    • In the perilous world of online trading, where promises of quick riches often lead to devastating losses, finding a trustworthy ally can feel like searching for a needle in a haystack. My journey began with high hopes, as I ventured into online trading with an external expert guiding my every move. Little did I know, I was stepping into a carefully orchestrated scam. After investing a substantial $380,000 deposit on an online trading platform, I found myself at the mercy of both the platform and the supposed expert leading my trades. Despite initially seeing profits, red flags began to appear when they demanded a hefty 20% fee, not from the generated profits, but from my pocket. Alarm bells rang loudly in my mind, signaling a potential scam. Thankfully, in the nick of time, I stumbled upon Wizard Web Recovery. With skepticism clouding my judgment, I cautiously reached out to them, hoping against hope for a glimmer of salvation. From the first interaction, their professionalism and expertise shone brightly, offering hope amidst the murky waters of deceit. Their approach was meticulous and methodical, as they diligently assessed my situation, leaving no stone unturned in their quest for justice. Despite the daunting odds stacked against me, Wizard Web Recovery embarked on a relentless pursuit to reclaim what was rightfully mine. Their transparency was a breath of fresh air in an industry plagued by deception. Every step of the way, they kept me informed, providing regular updates and guidance, instilling a sense of trust that had long eluded me. Their dedication to my cause was unwavering, as they navigated the complexities of online trading with finesse and precision. What truly sets Wizard Web Recovery apart is its unwavering commitment to its clients. Beyond mere restitution, they prioritize education and empowerment, equipping individuals with the knowledge and tools to navigate the treacherous waters of online trading safely. Through their expertise and tenacity, Wizard Web Recovery emerged victorious, securing the return of my hard-earned funds. But their impact extends far beyond mere financial restitution. They restored my faith in humanity, proving that amidst the darkness, there are still beacons of light shining brightly. To anyone who finds themselves ensnared in the tangled web of online trading scams, I wholeheartedly recommend Wizard Web Recovery. Their professionalism, expertise, and unwavering dedication are unmatched, offering a glimmer of hope in an otherwise bleak landscape. Trust in their abilities, for they are true wizards in the realm of recovery.
  • Topics

×
×
  • Create New...

Important Information

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