Jump to content

Recommended Posts

Posted (edited)
On 6/15/2020 at 5:22 AM, diesieben07 said:

Implement IContainerFactory on your container factory, not ContainerType.IFactory. Then you get the PacketBuffer you wrote to when using NetworkHooks.openGui.

Hi

 

I am doing the same thing here (custom entity inventory) and I got lost when you said this.

I didn't find any mention about (SiegeContainerFactory and SiegeScreenFactory) inside classes at first post

 

My code is working except that client does not have itemstacks syncronized (it is empty).

By the way, these are important parts of my mod

 

Can anybody help me please?

Thank you

†GnR† Slash

 

DeadPlayerContainer:

package com.gnrdevand.inventoryplus.inventory;

import com.gnrdevand.inventoryplus.entities.DeadPlayerEntity;
import com.gnrdevand.inventoryplus.init.ContainerTypes;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.network.PacketBuffer;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

import javax.annotation.Nullable;
import java.awt.*;

public class DeadPlayerContainer extends Container {
    private static final String[] ARMOR_SLOT_TEXTURES = new String[]{"item/empty_armor_slot_boots", "item/empty_armor_slot_leggings", "item/empty_armor_slot_chestplate", "item/empty_armor_slot_helmet"};
    private static final EquipmentSlotType[] VALID_EQUIPMENT_SLOTS = new EquipmentSlotType[]{EquipmentSlotType.HEAD, EquipmentSlotType.CHEST, EquipmentSlotType.LEGS, EquipmentSlotType.FEET};
    private final Point firstArmorSlot = new Point(8, 8);
    private final Point firstInvSlot = new Point(44, 9);

    private final Point firstPlayerArmorSlot = new Point(8, 98);
    private final Point firstPlayerInvSlot = new Point(44, 98);

    private final PlayerInventory playerInventory;
    private final DeadPlayerEntity deadPlayerEntity;

    private int ctSlotIndex;
    private int firstArmorSlotIndex;
    private int firstOffHandSlotIndex;
    private int firstMainSlotIndex;
    private int firstMainHandSlotIndex;
    private int firstPlayerArmorSlotIndex;
    private int firstPlayerOffHandPSlotIndex;
    private int firstPlayerMainPSlotIndex;
    private int firstPlayerMainHandSlotIndex;

    public DeadPlayerContainer(int containerId, PlayerInventory playerInv, PacketBuffer buffer) {
        this(containerId, playerInv, (DeadPlayerEntity) playerInv.player.world.getEntityByID(buffer.readInt()));
    }
    public DeadPlayerContainer(int containerIdIn, PlayerInventory playerInventoryIn, DeadPlayerEntity deadPlayerEntityIn) {
        super(ContainerTypes.DEAD_PLAYER_CONTAINER.get(), containerIdIn);

        this.deadPlayerEntity = deadPlayerEntityIn;
        this.playerInventory = playerInventoryIn;

        this.deadPlayerEntity.getMainInventory().openInventory(playerInventoryIn.player);
        this.deadPlayerEntity.getArmorInventory().openInventory(playerInventoryIn.player);
        this.deadPlayerEntity.getOffHandInventory().openInventory(playerInventoryIn.player);

        addContainerSlots();
        addPlayerSlots();
    }

    @Override
    public boolean canInteractWith(PlayerEntity playerIn) {
        return playerIn.getDistanceSq(deadPlayerEntity.posX, deadPlayerEntity.posY, deadPlayerEntity.posZ) <= 64D;
    }

    @Override
    public ItemStack transferStackInSlot(PlayerEntity playerIn, int index) {
        return super.transferStackInSlot(playerIn, index);
    }

    @Override
    public void onContainerClosed(PlayerEntity playerIn) {
        super.onContainerClosed(playerIn);
        this.deadPlayerEntity.getInventory().getInventories().forEach((s, invEnt) -> {
            invEnt.closeInventory(playerIn);
        });
    }

    private void addContainerSlots() {
        ctSlotIndex = 0;

        // armor slots
        firstArmorSlotIndex = ctSlotIndex;
        for (int i = 0; i < 4; i++) {
            final EquipmentSlotType equipmentslottype = VALID_EQUIPMENT_SLOTS[i];
            addSlot(new Slot( deadPlayerEntity.getArmorInventory(), ctSlotIndex, firstArmorSlot.x, firstArmorSlot.y + 18 * i){
                @Override
                public int getSlotStackLimit() { return 1; }
                @Override
                public boolean isItemValid(ItemStack stack) { return stack.canEquip(equipmentslottype, playerInventory.player); }

                @Nullable
                @OnlyIn(Dist.CLIENT)
                @Override
                public String getSlotTexture() { return DeadPlayerContainer.ARMOR_SLOT_TEXTURES[equipmentslottype.getIndex()]; }
            });
            ctSlotIndex++;
        }
        // off hand slot
        firstOffHandSlotIndex = ctSlotIndex;
        this.addSlot(new Slot(deadPlayerEntity.getOffHandInventory(), ctSlotIndex, firstArmorSlot.x + 18, firstArmorSlot.y + 18 * 3) {
            @Nullable
            @OnlyIn(Dist.CLIENT)
            public String getSlotTexture() {
                return "item/empty_armor_slot_shield";
            }
        });
        ctSlotIndex++;
        // main slots
        firstMainSlotIndex = ctSlotIndex;
        for (int row = 0; row < 3; row++) {
            for (int col = 0; col < 9; col++) {
                addSlot(new Slot(deadPlayerEntity.getMainInventory(), ctSlotIndex, firstInvSlot.x + col * 18, firstInvSlot.y + row * 18));
                ctSlotIndex++;
            }
        }
        // main hand slots
        firstMainHandSlotIndex = ctSlotIndex;
        for (int i = 0; i < 9; i++) {
            addSlot(new Slot(deadPlayerEntity.getMainInventory(), ctSlotIndex, firstInvSlot.x + i * 18, firstInvSlot.y + 18 * 3));
            ctSlotIndex++;
        }
    }
    private void addPlayerSlots() {
        // armor slots
        firstPlayerArmorSlotIndex = ctSlotIndex;
        for (int i = 0; i < 4; i++) {
            final EquipmentSlotType equipmentslottype = VALID_EQUIPMENT_SLOTS[i];
            addSlot(new Slot( playerInventory, playerInventory.getSizeInventory() - 5 + 1, firstPlayerArmorSlot.x, firstPlayerArmorSlot.y + 18 * i){
                @Override
                public int getSlotStackLimit() { return 1; }
                @Override
                public boolean isItemValid(ItemStack stack) { return stack.canEquip(equipmentslottype, playerInventory.player); }

                @Nullable
                @OnlyIn(Dist.CLIENT)
                @Override
                public String getSlotTexture() { return DeadPlayerContainer.ARMOR_SLOT_TEXTURES[equipmentslottype.getIndex()]; }
            });
            ctSlotIndex++;
        }
        // off hand slot
        firstPlayerOffHandPSlotIndex = ctSlotIndex;
        this.addSlot(new Slot(playerInventory, playerInventory.getSizeInventory() - 1, firstPlayerArmorSlot.x + 18, firstPlayerArmorSlot.y + 18 * 3) {
            @Nullable
            @OnlyIn(Dist.CLIENT)
            public String getSlotTexture() {
                return "item/empty_armor_slot_shield";
            }
        });
        ctSlotIndex++;
        // main slots
        firstPlayerMainPSlotIndex = ctSlotIndex;
        for (int row = 0; row < 3; row++) {
            for (int col = 0; col < 9; col++) {
                addSlot(new Slot(playerInventory, col + (row + 1) * 9, firstPlayerInvSlot.x + col * 18, firstPlayerInvSlot.y + row * 18));
                ctSlotIndex++;
            }
        }
        // main hand slots
        firstPlayerMainHandSlotIndex = ctSlotIndex;
        for (int i = 0; i < 9; i++) {
            addSlot(new Slot(playerInventory, i, firstPlayerInvSlot.x + i * 18, firstPlayerInvSlot.y + 18 * 3));
        }
    }
    public DeadPlayerEntity getDeadPlayerEntity() { return this.deadPlayerEntity; }
}

ContainerTypes:

package com.gnrdevand.inventoryplus.init;

import com.gnrdevand.inventoryplus.InventoryPlus;
import com.gnrdevand.inventoryplus.inventory.DeadPlayerContainer;
import net.minecraft.inventory.container.ContainerType;
import net.minecraftforge.common.extensions.IForgeContainerType;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;

public class ContainerTypes {
    public static final DeferredRegister<ContainerType<?>> CONTAINER_TYPES = new DeferredRegister<>(ForgeRegistries.CONTAINERS, InventoryPlus.MODID);
    public static final RegistryObject<ContainerType<DeadPlayerContainer>> DEAD_PLAYER_CONTAINER = CONTAINER_TYPES.register(InventoryPlus.MODID, () -> {
        return IForgeContainerType.create(DeadPlayerContainer::new);
    });
}

 

MainMod:

package com.gnrdevand.inventoryplus;

import com.gnrdevand.inventoryplus.gui.DeadPlayerInventoryScreen;
import com.gnrdevand.inventoryplus.init.ConfigHandler;
import com.gnrdevand.inventoryplus.init.ContainerTypes;
import com.gnrdevand.inventoryplus.network.Networking;
import net.minecraft.client.gui.ScreenManager;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.client.util.InputMappings;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.config.ModConfig;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.loading.FMLPaths;

import java.util.logging.Logger;


@Mod(InventoryPlus.MODID)
public final class InventoryPlus {
    public static final String MODID = "inventoryplus";
    public static final Logger LOGGER = Logger.getLogger(MODID);

    public InventoryPlus() {
        ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, ConfigHandler.CLIENT_CONFIG);
        ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, ConfigHandler.COMMON_CONFIG);

        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
        FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientRegistries);

        ConfigHandler.loadConfig(ConfigHandler.CLIENT_CONFIG, FMLPaths.CONFIGDIR.get().resolve(MODID + "-client.toml"));
        ConfigHandler.loadConfig(ConfigHandler.COMMON_CONFIG, FMLPaths.CONFIGDIR.get().resolve(MODID + "-common.toml"));

        ContainerTypes.CONTAINER_TYPES.register(FMLJavaModLoadingContext.get().getModEventBus());
    }

    private void setup(final FMLCommonSetupEvent event) {
        Networking.registerMessages();
    }

    private void clientRegistries(FMLClientSetupEvent event) {
        ScreenManager.registerFactory(ContainerTypes.DEAD_PLAYER_CONTAINER.get(), DeadPlayerInventoryScreen::new);
    }

}

I did not understand this part of MainMod class:  (ContainerTypes.CONTAINER_TYPES.register(FMLJavaModLoadingContext.get().getModEventBus());)

 

DeadPlayerInventoryScreen:

package com.gnrdevand.inventoryplus.gui;


import com.gnrdevand.gnrsharedlib.gui.controls.ButtonExt;
import com.gnrdevand.inventoryplus.entities.DeadPlayerEntity;
import com.gnrdevand.inventoryplus.inventory.DeadPlayerContainer;
import com.gnrdevand.inventoryplus.lib.Resources;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.gui.screen.inventory.ContainerScreen;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

@OnlyIn(Dist.CLIENT)
public class DeadPlayerInventoryScreen extends ContainerScreen<DeadPlayerContainer> {
    private final PlayerInventory playerInventory;
    private final DeadPlayerEntity deadPlayerEntity;
    private float mousePosx;
    private float mousePosY;

    public DeadPlayerInventoryScreen(DeadPlayerContainer container, PlayerInventory playerInventoryIn, ITextComponent tileIn) {
        super(container, playerInventoryIn, tileIn);
        this.playerInventory = playerInventoryIn;
        this.deadPlayerEntity = container.getDeadPlayerEntity();
    }

    @Override
    protected void init() {
        xSize = 211;
        ySize = 179;
        super.init();

        String txt = Resources.getMsg("transfer");
        addButton(new ButtonExt(this, guiLeft + xSize - 20 - font.getStringWidth(txt) - 6, guiTop + (18 * 4) + 6, font.getStringWidth(txt) + 20, 20, txt, btnClick -> {

        }));
    }
    @Override
    protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
        GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
        this.minecraft.getTextureManager().bindTexture(Resources.DEAD_PLAYER_GUI);
        int x = (this.width - this.xSize) / 2;
        int y = (this.height - this.ySize) / 2;
        this.blit(x, y, 0, 0, this.xSize, this.ySize);
    }
    @Override
    protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {
        this.font.drawString(this.playerInventory.getDisplayName().getFormattedText(), 7, (18 * 4) + 6 + font.FONT_HEIGHT, 4210752);
    }

    @Override
    public void render(int mouseX, int mouseY, float partialTicks) {
        this.mousePosx = mouseX;
        this.mousePosY = mouseY;
        super.render(mouseX, mouseY, partialTicks);
        this.renderHoveredToolTip(mouseX, mouseY);
    }
}

 

DeadPlayerEntity:

package com.gnrdevand.inventoryplus.entities;

import com.gnrdevand.inventoryplus.init.ConfigHandler;
import com.gnrdevand.inventoryplus.init.ModEntities;
import com.gnrdevand.inventoryplus.inventory.DeadPlayerContainer;
import net.minecraft.entity.CreatureEntity;
import net.minecraft.entity.EntitySize;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.Pose;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.INamedContainerProvider;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.network.PacketBuffer;
import net.minecraft.network.datasync.DataParameter;
import net.minecraft.network.datasync.DataSerializers;
import net.minecraft.network.datasync.EntityDataManager;
import net.minecraft.util.DamageSource;
import net.minecraft.util.Hand;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.world.World;
import net.minecraftforge.fml.network.NetworkHooks;

import javax.annotation.Nullable;
import java.util.function.Consumer;

public class DeadPlayerEntity extends CreatureEntity {
    public static final String name = "dead_player_entity";
    private static final DataParameter<Integer> DATA_BORN_TIME = EntityDataManager.createKey(DeadPlayerEntity.class, DataSerializers.VARINT);
    private static final DataParameter<String> DATA_CUSTOM_NAME = EntityDataManager.createKey(DeadPlayerEntity.class, DataSerializers.STRING);
    private final DeadPlayerEntityInventoryContainerProvider containerProvider;
    private int timeToDie;
    private String customName;
    private InventoryForEntities inventory;

    public enum eDeadPlayerInvTypes {
        ARMOR("armorInventory"),
        MAIN("mainInventory"),
        OFFHAND("offHandInventory");

        private String type;

        eDeadPlayerInvTypes(String type) {
            this.type = type;
        }
        public String getType() { return this.type; }
    }

    public DeadPlayerEntity(EntityType<? extends CreatureEntity> type, World worldIn) {
        super((EntityType<? extends CreatureEntity>) ModEntities.DEAD_PLAYER_ENTITY, worldIn);
        this.timeToDie = 20 * 60 * ConfigHandler.CFG_DEAD_BODY_TIME.get(); // in minutes
        this.setInvulnerable(true);

        inventory = new InventoryForEntities(this);
        inventory.addInventory(eDeadPlayerInvTypes.MAIN.getType(), 9 * 4); // Player Inventory + Player quick inventory
        inventory.addInventory(eDeadPlayerInvTypes.ARMOR.getType(), 4); // Player Armor
        inventory.addInventory(eDeadPlayerInvTypes.OFFHAND.getType(), 1); // Player off hand item
        inventory.setMustDieOnPeacefull(false);
        inventory.setCanDropInventoryOnDeath(true);

        this.containerProvider = new DeadPlayerEntityInventoryContainerProvider(this);
    }
    public InventoryForEntities getInventory() { return this.inventory; }
    public InventoryEntity getArmorInventory() { return this.inventory.getInventory(eDeadPlayerInvTypes.ARMOR.getType()); }
    public InventoryEntity getOffHandInventory() { return this.inventory.getInventory(eDeadPlayerInvTypes.OFFHAND.getType()); }
    public InventoryEntity getMainInventory() { return this.inventory.getInventory(eDeadPlayerInvTypes.MAIN.getType()); }
    public long getTimeToDie() { return this.timeToDie; }
    public void setName(String name) {
        customName = name;
        this.dataManager.set(DATA_CUSTOM_NAME, customName);
    }
    public boolean copyPlayerInventory(PlayerEntity player) {
        boolean hasInv = false;
        for (int i = 0; i < player.inventory.armorInventory.size(); i++) {
            inventory.getInventory(eDeadPlayerInvTypes.ARMOR.getType()).addItem(player.inventory.armorInventory.get(i).copy());
            if (!player.inventory.armorInventory.get(i).isEmpty()) hasInv = true;
        }
        inventory.getInventory(eDeadPlayerInvTypes.OFFHAND.getType()).addItem(player.inventory.offHandInventory.get(0).copy());
        if (!player.inventory.offHandInventory.get(0).isEmpty()) hasInv = true;

        for (int i = 0; i < player.inventory.mainInventory.size(); i++) {
            inventory.getInventory(eDeadPlayerInvTypes.MAIN.getType()).addItem(player.inventory.mainInventory.get(i).copy());
            if (!player.inventory.mainInventory.get(i).isEmpty()) hasInv = true;
        }
        return hasInv;
    }

    @Override
    protected void registerData() {
        super.registerData();
        this.getDataManager().register(DATA_BORN_TIME, 0);
        this.getDataManager().register(DATA_CUSTOM_NAME, "");
    }
    @Override
    public void writeAdditional(CompoundNBT compound) {
        super.writeAdditional(compound);
        compound.putInt("DATA_BORN_TIME", timeToDie);
        compound.putString("DATA_CUSTOM_NAME", customName);
        inventory.getInventories().forEach((name, invEnt) -> {
            compound.put(name, invEnt.writeToNBT());
        });
    }
    @Override
    public void readAdditional(CompoundNBT compound) {
        super.readAdditional(compound);
        timeToDie = compound.getInt("DATA_BORN_TIME");
        customName = compound.getString("DATA_CUSTOM_NAME");
        inventory.getInventories().forEach((name, invEnt) -> {
            invEnt.readFromNBT(compound.getList(name, 10));
        });
    }
    @Override
    public EntitySize getSize(Pose poseIn) { return EntitySize.fixed(1.8F, 0.2F); }
    @Override
    protected boolean isMovementBlocked() { return true; }
    @Override
    public boolean canBeSteered() { return false; }
    @Override
    public boolean canDespawn(double distanceToClosestPlayer) { return false; }
    @Override
    public void livingTick() {
        if (!ConfigHandler.CFG_USE_DEAD_BODY.get() && !world.isRemote) {
            this.setHealth(0);
            this.remove();
            return;
        }
        super.livingTick();

        //if (bornTime > 0) bornTime--;
        if (timeToDie <=0) {
            this.setHealth(0);
            this.onDeath(DamageSource.OUT_OF_WORLD);
            this.remove();
        } else if (!world.isRemote) {
            int seconds = timeToDie / 20;
            this.setCustomName(new StringTextComponent(customName + " > " + String.format("%02d", (int) (seconds / 60)) + ":" + String.format("%02d", (int) (seconds % 60))));
        }
    }

    @Override
    protected boolean processInteract(PlayerEntity player, Hand hand) {
        if (hand == Hand.MAIN_HAND && !player.world.isRemote && player instanceof ServerPlayerEntity) {
            NetworkHooks.openGui((ServerPlayerEntity) player, this.containerProvider, new Consumer<PacketBuffer>() {
                @Override
                public void accept(PacketBuffer buffer) {
                    buffer.writeInt(getEntityId());
                }
            });
            return true;
        }
        return super.processInteract(player, hand);
    }

    @Override
    public void onDeath(DamageSource cause) {
        super.onDeath(cause);

        if (!world.isRemote) {
            inventory.getInventory(eDeadPlayerInvTypes.ARMOR.getType()).dropInventoryItems();
            inventory.getInventory(eDeadPlayerInvTypes.OFFHAND.getType()).dropInventoryItems();
            inventory.getInventory(eDeadPlayerInvTypes.MAIN.getType()).dropInventoryItems();
        }
    }

    @Override
    public ItemStack getItemStackFromSlot(EquipmentSlotType slotIn) {
        if (slotIn == EquipmentSlotType.MAINHAND) {
            return this.inventory.getInventory(eDeadPlayerInvTypes.MAIN.getType()).getStackInSlot(0);
        } else if (slotIn == EquipmentSlotType.OFFHAND) {
            return this.inventory.getInventory(eDeadPlayerInvTypes.OFFHAND.getType()).getStackInSlot(0);
        } else {
            return slotIn.getSlotType() == EquipmentSlotType.Group.ARMOR ? this.inventory.getInventory(eDeadPlayerInvTypes.ARMOR.getType()).getStackInSlot(slotIn.getIndex()) : ItemStack.EMPTY;
        }
    }
}

class DeadPlayerEntityInventoryContainerProvider implements INamedContainerProvider {
    private final DeadPlayerEntity deadPlayerEntity;
    public DeadPlayerEntityInventoryContainerProvider(DeadPlayerEntity deadPlayerEntity) {
        this.deadPlayerEntity = deadPlayerEntity;
    }

    @Nullable
    @Override
    public Container createMenu(int containerId, PlayerInventory playerInv, PlayerEntity player) {
        return new DeadPlayerContainer(containerId, playerInv, this.deadPlayerEntity);
    }

    @Override
    public ITextComponent getDisplayName() {
        return deadPlayerEntity.getDisplayName();
    }
}

 

Edited by GnRSlashSP
Added full Container code (with slots creation)

†GnR† Slash

can one man truly make a difference?

Posted
5 minutes ago, diesieben07 said:

In the future please make your own thread instead of posting in some random thread that you think is mildly related.

Sorry, I posted hede because I am trying to use exact the same code. Next time I'll create new topic

5 minutes ago, diesieben07 said:

Your container does not add any slots. Not sure what you expected as a result other than it having no slots and thus not showing any items.

Ok, all code is now there. Sorry

5 minutes ago, diesieben07 said:

This does nothing.

I know, but I don't know what I have to do inside it yet 

 

†GnR† Slash

can one man truly make a difference?

Posted

Last question:

 

Do you know if there is a repository that contains "entity with inventory" that I can use as a study?

I confess that from forge 1.7.10 to 1.15 is very difficult for me, I can learn fast from examples.

 

Thank you

†GnR† Slash

can one man truly make a difference?

Posted

I was looking at ItemStackHandler and the difference mine is too slight, ItemHandler is missing some features like listeners, clear inventory, isEmpty, MarkDirt. So, this is reasonable if it syncs with client for me automatically.

I changed from "extends Inventory"  to extends "ItemHandler" and now I cant add slots because new slot needs Inventory class.

 

Let me see ... Did I get it right?
If I implement correctly, will the inventory automatically sync without having to create custom network messages or ItemHandler is just a way to writeToNBT automatically?

 

thanks

†GnR† Slash

can one man truly make a difference?

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 am having this issue as well. It crashes immediately after hitting play from the launcher. I am able to play vanilla minecraft and also optifine, both 1.21.4 and before. How do I view the crash report? I am on Ubuntu 20.04. I checked my ~/.minecraft folder and the crash isn't there. On the launcher I see "An unexpected issue occurred and the game has crashed. We're sorry for the inconvenience. Crash dump sent! Exit Code: 1" I am trying to play version 1.21.4-54.0.17, which I downloaded from the forge website.
    • Ive recently made an ATM 8 server with some family. It was running fine for the first few hours but it seems to crash every 10 minutes now. Ive no idea on how to properly read the crash report so i was hoping someone here could help me out.   https://pastebin.com/KeWyDZd1    
    • i was running around in my miencraft with my modpack until suuden crash (the worl was going perfectly since i create it like 9 weeks ago) this is the log i get if i try again to join the same world(the other world works perfectly):     my log <-- i dont know to share it so i put i dropbox link plz help me i dont wanna lost my world
    • The game crashed: initializing game Error: net.minecraftforge.fml.loading.EarlyLoadingException: Could not execute entrypoint stage 'main' due to errors, provided by 'betternether' at 'org.betterx.betternether.BetterNether'!   crash report: ---- Minecraft Crash Report ---- // Hi. I'm Connector, and I'm a crashaholic ========================= SINYTRA CONNECTOR IS PRESENT! Please verify issues are not caused by Connector before reporting them to mod authors. If you're unsure, file a report on Connector's issue tracker found at https://github.com/Sinytra/Connector/issues. ========================= // My bad. Time: 2025-01-18 19:37:21 Description: Initializing game net.minecraftforge.fml.loading.EarlyLoadingException: Could not execute entrypoint stage 'main' due to errors, provided by 'betternether' at 'org.betterx.betternether.BetterNether'!     at org.sinytra.connector.loader.ConnectorEarlyLoader.createLoadingException(ConnectorEarlyLoader.java:81) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.loader.ConnectorEarlyLoader.createGenericLoadingException(ConnectorEarlyLoader.java:77) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:55) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}     at net.minecraft.client.Minecraft.handler$dib000$connectormod$earlyInit(Minecraft.java:27924) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.<init>(Minecraft.java:424) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:182) ~[forge-47.3.0.jar:?] {re:classloading,pl:connector_pre_launch:A,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) ~[?:?] {re:mixin}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} Caused by: java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'betternether' at 'org.betterx.betternether.BetterNether'!     at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$0(FabricLoaderImpl.java:133) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:131) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:44) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}     ... 18 more     Suppressed: java.lang.ExceptionInInitializerError         at org.betterx.betterend.registry.EndItems.<clinit>(EndItems.java:276) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:classloading}         at org.betterx.betterend.complexmaterials.StoneMaterial.<init>(StoneMaterial.java:151) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:classloading}         at org.betterx.betterend.registry.EndBlocks.<clinit>(EndBlocks.java:175) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:mixin,re:classloading}         at org.betterx.betterend.registry.EndBlockEntities.<clinit>(EndBlockEntities.java:17) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:classloading}         at org.betterx.betterend.BetterEnd.onInitialize(BetterEnd.java:46) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:mixin,re:classloading}         at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:129) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}         at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:44) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}         at net.minecraft.client.Minecraft.handler$dib000$connectormod$earlyInit(Minecraft.java:27924) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}         at net.minecraft.client.Minecraft.<init>(Minecraft.java:424) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}         at net.minecraft.client.main.Main.main(Main.java:182) ~[forge-47.3.0.jar:?] {re:classloading,pl:connector_pre_launch:A,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) ~[?:?] {re:mixin}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {}         at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.0.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {}     Caused by: java.lang.IllegalStateException: Attempted to get a value from a Registrar before it was registered. ResourceKey[minecraft:attribute / rediscovered:undead_damage_scaling]         at com.legacy.structure_gel.api.util.LazyOptional.getOrThrow(LazyOptional.java:55) ~[structure_gel-1.20.1-2.16.2.jar%23785!/:2.16.2] {re:classloading}         at com.legacy.structure_gel.api.registry.registrar.Registrar$Static.get(Registrar.java:297) ~[structure_gel-1.20.1-2.16.2.jar%23785!/:2.16.2] {re:mixin,re:classloading}         at net.minecraft.world.entity.LivingEntity.handler$jbl000$rediscovered$addAttributes(LivingEntity.java:36037) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:mixin:APP:bclib.mixins.common.json:elytra.LivingEntityMixin from mod bclib,pl:mixin:APP:betterend.mixins.common.json:LivingEntityMixin from mod betterend,pl:mixin:APP:forge-badoptimizations.mixins.json:entitydata.MixinLivingEntity from mod (unknown),pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LaterLivingEntityMixin from mod the_bumblezone,pl:mixin:APP:modernfix-forge.mixins.json:perf.forge_cap_retrieval.LivingEntityMixin from mod modernfix,pl:mixin:APP:tinyskeletons.common.mixins.json:accessor.LivingEntityAccessor from mod tinyskeletons,pl:mixin:APP:tombstone.mixins.json:LivingEntityMixin from mod tombstone,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityAccessor from mod the_bumblezone,pl:mixin:APP:mixins.recruits.json:LivingEntityMixin from mod recruits,pl:mixin:APP:lithium.mixins.json:alloc.enum_values.living_entity.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.collisions.unpushable_cramming.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_elytra_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_hand_swing.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_powder_snow_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.skip_equipment_change_check.LivingEntityMixin from mod radium,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity from mod caelus,pl:mixin:APP:fromanotherworld-common.mixins.json:LivingEntityMixin from mod fromanotherworld,pl:mixin:APP:notenoughanimations.mixins.json:LivingEntityMixin from mod notenoughanimations,pl:mixin:APP:adastra-common.mixins.json:common.EntityBelowWorldMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityAccessor from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.radio.LivingEntityMixin from mod ad_astra,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity from mod bookshelf,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity from mod bookshelf,pl:mixin:APP:bagusmob.mixins.json:LivingEntityMixin from mod bagusmob,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin from mod cataclysm,pl:mixin:APP:enchantwithmob.mixins.json:LivingEntityMixin from mod enchantwithmob,pl:mixin:APP:reimaginingpotatoes.mixins.json:server.LivingEntityMixin from mod reimaginingpotatoes,pl:mixin:APP:friendsandfoes-common.mixins.json:BlazeLivingEntityMixin from mod friendsandfoes,pl:mixin:APP:friendsandfoes-common.mixins.json:LivingEntityMixin from mod friendsandfoes,pl:mixin:APP:betterarcheology.mixins.json:TorrentTotemItemTickMixin from mod betterarcheology,pl:mixin:APP:creaturechat.mixins.json:MixinLivingEntity from mod creaturechat,pl:mixin:APP:lodestone.mixins.json:common.LivingEntityMixin from mod lodestone,pl:mixin:APP:goety.mixins.json:LivingEntityMixin from mod goety,pl:mixin:APP:bagus_lib.mixins.json:LivingEntityMixin from mod bagus_lib,pl:mixin:APP:curios.mixins.json:MixinLivingEntity from mod curios,pl:mixin:APP:fabric-entity-events-v1.mixins.json:LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:fabric-entity-events-v1.mixins.json:elytra.LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:pehkui.mixins.json:LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat117plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1194plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1204minus.LivingEntityMixin from mod pehkui,pl:mixin:APP:earthmobsmod.mixins.json:LivingEntityMixin from mod earthmobsmod,pl:mixin:APP:blue_skies.mixins.json:LivingEntityMixin from mod blue_skies,pl:mixin:APP:netherportalfix.mixins.json:LivingEntityAccessor from mod netherportalfix,pl:mixin:APP:crittersandcompanions.mixins.json:LivingEntityMixin from mod crittersandcompanions,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin from mod aether,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor from mod aether,pl:mixin:APP:aether_redux.mixins.json:common.entity.LivingEntityMixin from mod aether_redux,pl:mixin:APP:citadel.mixins.json:LivingEntityMixin from mod citadel,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityAccessor from mod all_bark_all_bite,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityMixin from mod all_bark_all_bite,pl:mixin:APP:dummmmmmy-common.mixins.json:LivingEntityMixin from mod dummmmmmy,pl:mixin:APP:snifferplus.mixins.json:MixinLivingEntity from mod snifferplus,pl:mixin:APP:trimeffects.mixins.json:MixinLivingEntity from mod trimeffects,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntity from mod witherstormmod,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntityAccessor from mod witherstormmod,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:LivingEntityMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:betterdeserttemples.mixins.json:PharaohKilledMixin from mod betterdeserttemples,pl:mixin:APP:endergetic.mixins.json:LivingEntityMixin from mod endergetic,pl:mixin:APP:alexscaves.mixins.json:LivingEntityMixin from mod alexscaves,pl:mixin:APP:quark.mixins.json:accessor.AccessorLivingEntity from mod quark,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityAccessor from mod supplementaries,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:supplementaries.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:rediscovered.mixins.json:LivingEntityMixin from mod rediscovered,pl:mixin:APP:walkers.mixins.json:LivingEntityFoodMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:LivingEntityMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:PlayerSwimmingMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:accessor.LivingEntityAccessor from mod walkers,pl:mixin:APP:META-INF/mixin/midnight.mixins.json:LivingEntityMixin from mod (unknown),pl:mixin:APP:pehkui.mixins.json:compat115plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityMixin from mod the_bumblezone,pl:mixin:A,pl:connector_pre_launch:A}         at net.minecraft.world.entity.LivingEntity.m_21183_(LivingEntity.java:279) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:mixin:APP:bclib.mixins.common.json:elytra.LivingEntityMixin from mod bclib,pl:mixin:APP:betterend.mixins.common.json:LivingEntityMixin from mod betterend,pl:mixin:APP:forge-badoptimizations.mixins.json:entitydata.MixinLivingEntity from mod (unknown),pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LaterLivingEntityMixin from mod the_bumblezone,pl:mixin:APP:modernfix-forge.mixins.json:perf.forge_cap_retrieval.LivingEntityMixin from mod modernfix,pl:mixin:APP:tinyskeletons.common.mixins.json:accessor.LivingEntityAccessor from mod tinyskeletons,pl:mixin:APP:tombstone.mixins.json:LivingEntityMixin from mod tombstone,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityAccessor from mod the_bumblezone,pl:mixin:APP:mixins.recruits.json:LivingEntityMixin from mod recruits,pl:mixin:APP:lithium.mixins.json:alloc.enum_values.living_entity.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.collisions.unpushable_cramming.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_elytra_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_hand_swing.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_powder_snow_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.skip_equipment_change_check.LivingEntityMixin from mod radium,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity from mod caelus,pl:mixin:APP:fromanotherworld-common.mixins.json:LivingEntityMixin from mod fromanotherworld,pl:mixin:APP:notenoughanimations.mixins.json:LivingEntityMixin from mod notenoughanimations,pl:mixin:APP:adastra-common.mixins.json:common.EntityBelowWorldMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityAccessor from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.radio.LivingEntityMixin from mod ad_astra,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity from mod bookshelf,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity from mod bookshelf,pl:mixin:APP:bagusmob.mixins.json:LivingEntityMixin from mod bagusmob,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin from mod cataclysm,pl:mixin:APP:enchantwithmob.mixins.json:LivingEntityMixin from mod enchantwithmob,pl:mixin:APP:reimaginingpotatoes.mixins.json:server.LivingEntityMixin from mod reimaginingpotatoes,pl:mixin:APP:friendsandfoes-common.mixins.json:BlazeLivingEntityMixin from mod friendsandfoes,pl:mixin:APP:friendsandfoes-common.mixins.json:LivingEntityMixin from mod friendsandfoes,pl:mixin:APP:betterarcheology.mixins.json:TorrentTotemItemTickMixin from mod betterarcheology,pl:mixin:APP:creaturechat.mixins.json:MixinLivingEntity from mod creaturechat,pl:mixin:APP:lodestone.mixins.json:common.LivingEntityMixin from mod lodestone,pl:mixin:APP:goety.mixins.json:LivingEntityMixin from mod goety,pl:mixin:APP:bagus_lib.mixins.json:LivingEntityMixin from mod bagus_lib,pl:mixin:APP:curios.mixins.json:MixinLivingEntity from mod curios,pl:mixin:APP:fabric-entity-events-v1.mixins.json:LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:fabric-entity-events-v1.mixins.json:elytra.LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:pehkui.mixins.json:LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat117plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1194plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1204minus.LivingEntityMixin from mod pehkui,pl:mixin:APP:earthmobsmod.mixins.json:LivingEntityMixin from mod earthmobsmod,pl:mixin:APP:blue_skies.mixins.json:LivingEntityMixin from mod blue_skies,pl:mixin:APP:netherportalfix.mixins.json:LivingEntityAccessor from mod netherportalfix,pl:mixin:APP:crittersandcompanions.mixins.json:LivingEntityMixin from mod crittersandcompanions,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin from mod aether,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor from mod aether,pl:mixin:APP:aether_redux.mixins.json:common.entity.LivingEntityMixin from mod aether_redux,pl:mixin:APP:citadel.mixins.json:LivingEntityMixin from mod citadel,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityAccessor from mod all_bark_all_bite,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityMixin from mod all_bark_all_bite,pl:mixin:APP:dummmmmmy-common.mixins.json:LivingEntityMixin from mod dummmmmmy,pl:mixin:APP:snifferplus.mixins.json:MixinLivingEntity from mod snifferplus,pl:mixin:APP:trimeffects.mixins.json:MixinLivingEntity from mod trimeffects,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntity from mod witherstormmod,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntityAccessor from mod witherstormmod,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:LivingEntityMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:betterdeserttemples.mixins.json:PharaohKilledMixin from mod betterdeserttemples,pl:mixin:APP:endergetic.mixins.json:LivingEntityMixin from mod endergetic,pl:mixin:APP:alexscaves.mixins.json:LivingEntityMixin from mod alexscaves,pl:mixin:APP:quark.mixins.json:accessor.AccessorLivingEntity from mod quark,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityAccessor from mod supplementaries,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:supplementaries.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:rediscovered.mixins.json:LivingEntityMixin from mod rediscovered,pl:mixin:APP:walkers.mixins.json:LivingEntityFoodMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:LivingEntityMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:PlayerSwimmingMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:accessor.LivingEntityAccessor from mod walkers,pl:mixin:APP:META-INF/mixin/midnight.mixins.json:LivingEntityMixin from mod (unknown),pl:mixin:APP:pehkui.mixins.json:compat115plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityMixin from mod the_bumblezone,pl:mixin:A,pl:connector_pre_launch:A}         at org.betterx.betterend.entity.DragonflyEntity.createMobAttributes(DragonflyEntity.java:49) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:classloading}         at org.betterx.betterend.registry.EndEntities.<clinit>(EndEntities.java:28) ~[better-end-4.0.10_mapped_srg_1.20.1.jar%231428!/:?] {re:classloading}         ... 25 more Caused by: java.lang.ExceptionInInitializerError     at org.betterx.betternether.BetterNether.onInitialize(BetterNether.java:45) ~[better-nether-9.0.9_mapped_srg_1.20.1.jar%231429!/:?] {re:mixin,re:classloading}     at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:129) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:44) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}     ... 18 more Caused by: java.lang.IllegalStateException: Attempted to get a value from a Registrar before it was registered. ResourceKey[minecraft:attribute / rediscovered:undead_damage_scaling]     at com.legacy.structure_gel.api.util.LazyOptional.getOrThrow(LazyOptional.java:55) ~[structure_gel-1.20.1-2.16.2.jar%23785!/:2.16.2] {re:classloading}     at com.legacy.structure_gel.api.registry.registrar.Registrar$Static.get(Registrar.java:297) ~[structure_gel-1.20.1-2.16.2.jar%23785!/:2.16.2] {re:mixin,re:classloading}     at net.minecraft.world.entity.LivingEntity.handler$jbl000$rediscovered$addAttributes(LivingEntity.java:36037) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:mixin:APP:bclib.mixins.common.json:elytra.LivingEntityMixin from mod bclib,pl:mixin:APP:betterend.mixins.common.json:LivingEntityMixin from mod betterend,pl:mixin:APP:forge-badoptimizations.mixins.json:entitydata.MixinLivingEntity from mod (unknown),pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LaterLivingEntityMixin from mod the_bumblezone,pl:mixin:APP:modernfix-forge.mixins.json:perf.forge_cap_retrieval.LivingEntityMixin from mod modernfix,pl:mixin:APP:tinyskeletons.common.mixins.json:accessor.LivingEntityAccessor from mod tinyskeletons,pl:mixin:APP:tombstone.mixins.json:LivingEntityMixin from mod tombstone,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityAccessor from mod the_bumblezone,pl:mixin:APP:mixins.recruits.json:LivingEntityMixin from mod recruits,pl:mixin:APP:lithium.mixins.json:alloc.enum_values.living_entity.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.collisions.unpushable_cramming.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_elytra_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_hand_swing.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_powder_snow_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.skip_equipment_change_check.LivingEntityMixin from mod radium,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity from mod caelus,pl:mixin:APP:fromanotherworld-common.mixins.json:LivingEntityMixin from mod fromanotherworld,pl:mixin:APP:notenoughanimations.mixins.json:LivingEntityMixin from mod notenoughanimations,pl:mixin:APP:adastra-common.mixins.json:common.EntityBelowWorldMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityAccessor from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.radio.LivingEntityMixin from mod ad_astra,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity from mod bookshelf,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity from mod bookshelf,pl:mixin:APP:bagusmob.mixins.json:LivingEntityMixin from mod bagusmob,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin from mod cataclysm,pl:mixin:APP:enchantwithmob.mixins.json:LivingEntityMixin from mod enchantwithmob,pl:mixin:APP:reimaginingpotatoes.mixins.json:server.LivingEntityMixin from mod reimaginingpotatoes,pl:mixin:APP:friendsandfoes-common.mixins.json:BlazeLivingEntityMixin from mod friendsandfoes,pl:mixin:APP:friendsandfoes-common.mixins.json:LivingEntityMixin from mod friendsandfoes,pl:mixin:APP:betterarcheology.mixins.json:TorrentTotemItemTickMixin from mod betterarcheology,pl:mixin:APP:creaturechat.mixins.json:MixinLivingEntity from mod creaturechat,pl:mixin:APP:lodestone.mixins.json:common.LivingEntityMixin from mod lodestone,pl:mixin:APP:goety.mixins.json:LivingEntityMixin from mod goety,pl:mixin:APP:bagus_lib.mixins.json:LivingEntityMixin from mod bagus_lib,pl:mixin:APP:curios.mixins.json:MixinLivingEntity from mod curios,pl:mixin:APP:fabric-entity-events-v1.mixins.json:LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:fabric-entity-events-v1.mixins.json:elytra.LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:pehkui.mixins.json:LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat117plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1194plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1204minus.LivingEntityMixin from mod pehkui,pl:mixin:APP:earthmobsmod.mixins.json:LivingEntityMixin from mod earthmobsmod,pl:mixin:APP:blue_skies.mixins.json:LivingEntityMixin from mod blue_skies,pl:mixin:APP:netherportalfix.mixins.json:LivingEntityAccessor from mod netherportalfix,pl:mixin:APP:crittersandcompanions.mixins.json:LivingEntityMixin from mod crittersandcompanions,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin from mod aether,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor from mod aether,pl:mixin:APP:aether_redux.mixins.json:common.entity.LivingEntityMixin from mod aether_redux,pl:mixin:APP:citadel.mixins.json:LivingEntityMixin from mod citadel,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityAccessor from mod all_bark_all_bite,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityMixin from mod all_bark_all_bite,pl:mixin:APP:dummmmmmy-common.mixins.json:LivingEntityMixin from mod dummmmmmy,pl:mixin:APP:snifferplus.mixins.json:MixinLivingEntity from mod snifferplus,pl:mixin:APP:trimeffects.mixins.json:MixinLivingEntity from mod trimeffects,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntity from mod witherstormmod,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntityAccessor from mod witherstormmod,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:LivingEntityMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:betterdeserttemples.mixins.json:PharaohKilledMixin from mod betterdeserttemples,pl:mixin:APP:endergetic.mixins.json:LivingEntityMixin from mod endergetic,pl:mixin:APP:alexscaves.mixins.json:LivingEntityMixin from mod alexscaves,pl:mixin:APP:quark.mixins.json:accessor.AccessorLivingEntity from mod quark,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityAccessor from mod supplementaries,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:supplementaries.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:rediscovered.mixins.json:LivingEntityMixin from mod rediscovered,pl:mixin:APP:walkers.mixins.json:LivingEntityFoodMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:LivingEntityMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:PlayerSwimmingMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:accessor.LivingEntityAccessor from mod walkers,pl:mixin:APP:META-INF/mixin/midnight.mixins.json:LivingEntityMixin from mod (unknown),pl:mixin:APP:pehkui.mixins.json:compat115plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityMixin from mod the_bumblezone,pl:mixin:A,pl:connector_pre_launch:A}     at net.minecraft.world.entity.LivingEntity.m_21183_(LivingEntity.java:279) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,xf:fml:connectormod:insertInjectionTarget,xf:fml:connectormod:updateItemUseStartTreshold,pl:mixin:APP:bclib.mixins.common.json:elytra.LivingEntityMixin from mod bclib,pl:mixin:APP:betterend.mixins.common.json:LivingEntityMixin from mod betterend,pl:mixin:APP:forge-badoptimizations.mixins.json:entitydata.MixinLivingEntity from mod (unknown),pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LaterLivingEntityMixin from mod the_bumblezone,pl:mixin:APP:modernfix-forge.mixins.json:perf.forge_cap_retrieval.LivingEntityMixin from mod modernfix,pl:mixin:APP:tinyskeletons.common.mixins.json:accessor.LivingEntityAccessor from mod tinyskeletons,pl:mixin:APP:tombstone.mixins.json:LivingEntityMixin from mod tombstone,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityAccessor from mod the_bumblezone,pl:mixin:APP:mixins.recruits.json:LivingEntityMixin from mod recruits,pl:mixin:APP:lithium.mixins.json:alloc.enum_values.living_entity.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.collisions.unpushable_cramming.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_elytra_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_hand_swing.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.fast_powder_snow_check.LivingEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.skip_equipment_change_check.LivingEntityMixin from mod radium,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity from mod caelus,pl:mixin:APP:fromanotherworld-common.mixins.json:LivingEntityMixin from mod fromanotherworld,pl:mixin:APP:notenoughanimations.mixins.json:LivingEntityMixin from mod notenoughanimations,pl:mixin:APP:adastra-common.mixins.json:common.EntityBelowWorldMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityAccessor from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityMixin from mod ad_astra,pl:mixin:APP:adastra-common.mixins.json:common.radio.LivingEntityMixin from mod ad_astra,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity from mod bookshelf,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity from mod bookshelf,pl:mixin:APP:bagusmob.mixins.json:LivingEntityMixin from mod bagusmob,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin from mod cataclysm,pl:mixin:APP:enchantwithmob.mixins.json:LivingEntityMixin from mod enchantwithmob,pl:mixin:APP:reimaginingpotatoes.mixins.json:server.LivingEntityMixin from mod reimaginingpotatoes,pl:mixin:APP:friendsandfoes-common.mixins.json:BlazeLivingEntityMixin from mod friendsandfoes,pl:mixin:APP:friendsandfoes-common.mixins.json:LivingEntityMixin from mod friendsandfoes,pl:mixin:APP:betterarcheology.mixins.json:TorrentTotemItemTickMixin from mod betterarcheology,pl:mixin:APP:creaturechat.mixins.json:MixinLivingEntity from mod creaturechat,pl:mixin:APP:lodestone.mixins.json:common.LivingEntityMixin from mod lodestone,pl:mixin:APP:goety.mixins.json:LivingEntityMixin from mod goety,pl:mixin:APP:bagus_lib.mixins.json:LivingEntityMixin from mod bagus_lib,pl:mixin:APP:curios.mixins.json:MixinLivingEntity from mod curios,pl:mixin:APP:fabric-entity-events-v1.mixins.json:LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:fabric-entity-events-v1.mixins.json:elytra.LivingEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:pehkui.mixins.json:LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat117plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1194plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:pehkui.mixins.json:compat1204minus.LivingEntityMixin from mod pehkui,pl:mixin:APP:earthmobsmod.mixins.json:LivingEntityMixin from mod earthmobsmod,pl:mixin:APP:blue_skies.mixins.json:LivingEntityMixin from mod blue_skies,pl:mixin:APP:netherportalfix.mixins.json:LivingEntityAccessor from mod netherportalfix,pl:mixin:APP:crittersandcompanions.mixins.json:LivingEntityMixin from mod crittersandcompanions,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin from mod aether,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor from mod aether,pl:mixin:APP:aether_redux.mixins.json:common.entity.LivingEntityMixin from mod aether_redux,pl:mixin:APP:citadel.mixins.json:LivingEntityMixin from mod citadel,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityAccessor from mod all_bark_all_bite,pl:mixin:APP:all_bark_all_bite.mixins.json:LivingEntityMixin from mod all_bark_all_bite,pl:mixin:APP:dummmmmmy-common.mixins.json:LivingEntityMixin from mod dummmmmmy,pl:mixin:APP:snifferplus.mixins.json:MixinLivingEntity from mod snifferplus,pl:mixin:APP:trimeffects.mixins.json:MixinLivingEntity from mod trimeffects,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntity from mod witherstormmod,pl:mixin:APP:witherstormmod.mixins.json:MixinLivingEntityAccessor from mod witherstormmod,pl:mixin:APP:fabric-lifecycle-events-v1.mixins.json:LivingEntityMixin from mod fabric_lifecycle_events_v1,pl:mixin:APP:betterdeserttemples.mixins.json:PharaohKilledMixin from mod betterdeserttemples,pl:mixin:APP:endergetic.mixins.json:LivingEntityMixin from mod endergetic,pl:mixin:APP:alexscaves.mixins.json:LivingEntityMixin from mod alexscaves,pl:mixin:APP:quark.mixins.json:accessor.AccessorLivingEntity from mod quark,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityAccessor from mod supplementaries,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:supplementaries.mixins.json:LivingEntityMixin from mod supplementaries,pl:mixin:APP:rediscovered.mixins.json:LivingEntityMixin from mod rediscovered,pl:mixin:APP:walkers.mixins.json:LivingEntityFoodMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:LivingEntityMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:PlayerSwimmingMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:accessor.LivingEntityAccessor from mod walkers,pl:mixin:APP:META-INF/mixin/midnight.mixins.json:LivingEntityMixin from mod (unknown),pl:mixin:APP:pehkui.mixins.json:compat115plus.LivingEntityMixin from mod pehkui,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.LivingEntityMixin from mod the_bumblezone,pl:mixin:A,pl:connector_pre_launch:A}     at net.minecraft.world.entity.Mob.m_21552_(Mob.java:144) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,re:computing_frames,pl:accesstransformer:B,pl:connector_pre_launch:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:backported_wolves.mixins.json:MobEntityMixin from mod backported_wolves,pl:mixin:APP:tombstone.mixins.json:MobMixin from mod tombstone,pl:mixin:APP:the_bumblezone-common.mixins.json:entities.MobAccessor from mod the_bumblezone,pl:mixin:APP:the_bumblezone-common.mixins.json:items.HoneyShieldMobMixin from mod the_bumblezone,pl:mixin:APP:mixins.recruits.json:MobMixin from mod recruits,pl:mixin:APP:lithium.mixins.json:entity.inactive_navigations.MobEntityMixin from mod radium,pl:mixin:APP:lithium.mixins.json:entity.skip_equipment_change_check.MobEntityMixin from mod radium,pl:mixin:APP:adastra-common.mixins.json:common.MobMixin from mod ad_astra,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorMob from mod bookshelf,pl:mixin:APP:takesapillage.mixins.json:MobRememberSpawnReasonMixin from mod takesapillage,pl:mixin:APP:tumbleweed.mixins.json:MobAccessor from mod tumbleweed,pl:mixin:APP:reimaginingpotatoes.mixins.json:server.MobMixin from mod reimaginingpotatoes,pl:mixin:APP:creaturechat.mixins.json:MixinMobEntity from mod creaturechat,pl:mixin:APP:creaturechat.mixins.json:MixinMobEntityAccessor from mod creaturechat,pl:mixin:APP:fabric-entity-events-v1.mixins.json:MobEntityMixin from mod fabric_entity_events_v1,pl:mixin:APP:pehkui.mixins.json:MobEntityMixin from mod pehkui,pl:mixin:APP:tropicraft.mixins.json:MobMixin from mod tropicraft,pl:mixin:APP:aether.mixins.json:common.MobMixin from mod aether,pl:mixin:APP:aether_redux.mixins.json:common.entity.MobMixin from mod aether_redux,pl:mixin:APP:all_bark_all_bite.mixins.json:MobAccessor from mod all_bark_all_bite,pl:mixin:APP:all_bark_all_bite.mixins.json:MobMixin from mod all_bark_all_bite,pl:mixin:APP:despawn_tweaker.mixins.json:MobMixin from mod despawn_tweaker,pl:mixin:APP:witherstormmod.mixins.json:MixinMob from mod witherstormmod,pl:mixin:APP:forge-overclocked_watches.forge.mixins.json:ForgeMobMixin from mod (unknown),pl:mixin:APP:endergetic.mixins.json:MobMixin from mod endergetic,pl:mixin:APP:alexscaves.mixins.json:MobMixin from mod alexscaves,pl:mixin:APP:moonlight-common.mixins.json:EntityMixin from mod moonlight,pl:mixin:APP:rediscovered.mixins.json:MobAccessor from mod rediscovered,pl:mixin:APP:walkers.mixins.json:MobEntityDataMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:MobHunterPreyMixin from mod walkers,pl:mixin:APP:walkers.mixins.json:accessor.MobEntityAccessor from mod walkers,pl:mixin:APP:pehkui.mixins.json:compat116plus.MobEntityMixin from mod pehkui,pl:mixin:A,pl:connector_pre_launch:A}     at org.betterx.betternether.entity.EntityFirefly.createMobAttributes(EntityFirefly.java:88) ~[better-nether-9.0.9_mapped_srg_1.20.1.jar%231429!/:?] {re:classloading}     at org.betterx.betternether.registry.NetherEntities.<clinit>(NetherEntities.java:143) ~[better-nether-9.0.9_mapped_srg_1.20.1.jar%231429!/:?] {re:classloading}     at org.betterx.betternether.BetterNether.onInitialize(BetterNether.java:45) ~[better-nether-9.0.9_mapped_srg_1.20.1.jar%231429!/:?] {re:mixin,re:classloading}     at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:129) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:44) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}     ... 18 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 org.sinytra.connector.loader.ConnectorEarlyLoader.createLoadingException(ConnectorEarlyLoader.java:81) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.loader.ConnectorEarlyLoader.createGenericLoadingException(ConnectorEarlyLoader.java:77) ~[Connector-1.0.0-beta.46+1.20.1.jar%23495!/:1.0.0-beta.46+1.20.1] {}     at org.sinytra.connector.mod.ConnectorLoader.load(ConnectorLoader.java:55) ~[Connector-1.0.0-beta.46+1.20.1-mod.jar%23499!/:1.0.0-beta.46+1.20.1] {re:mixin,re:classloading}     at net.minecraft.client.Minecraft.handler$dib000$connectormod$earlyInit(Minecraft.java:27924) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.<init>(Minecraft.java:424) ~[client-1.20.1-20230612.114412-srg.jar%23838!/:?] {re:mixin,pl:accesstransformer:B,pl:connector_pre_launch:A,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:connector_pre_launch:A,pl:runtimedistcleaner:A} Mixins in Stacktrace:     net.minecraft.client.Minecraft:         glitchcore.mixin.client.MixinMinecraft (glitchcore.mixins.json)         mod.chloeprime.aaaparticles.mixin.client.MixinMinecraft (aaa_particles-common.mixins.json)         net.fabricmc.fabric.mixin.screen.MinecraftClientMixin (fabric-screen-api-v1.mixins.json)         traben.entity_model_features.mixin.accessor.MinecraftClientAccessor (entity_model_features-common.mixins.json)         org.embeddedt.modernfix.common.mixin.bugfix.concurrency.MinecraftMixin (modernfix-common.mixins.json)         net.fabricmc.fabric.mixin.registry.sync.client.MinecraftClientMixin (fabric-registry-sync-v0.client.mixins.json)         traben.entity_texture_features.mixin.reloading.MixinMinecraftClient (entity_texture_features-common.mixins.json)         de.keksuccino.konkrete.mixin.client.MixinMinecraft (konkrete.mixin.json)         org.betterx.betterend.mixin.client.MinecraftClientMixin (betterend.mixins.client.json)         net.mehvahdjukaar.moonlight.core.mixins.MinecraftMixin (moonlight-common.mixins.json)         dev.tr7zw.notenoughanimations.mixins.LivingRenderStateMixin (notenoughanimations.mixins.json)         com.cursee.monolib.mixin.MinecraftMixin (monolib.mixins.json)         dev.architectury.mixin.forge.MixinMinecraft (architectury.mixins.json)         net.darkhax.bookshelf.mixin.accessors.client.AccessorMinecraft (bookshelf.common.mixins.json)         org.embeddedt.modernfix.common.mixin.feature.measure_time.MinecraftMixin (modernfix-common.mixins.json)         traben.entity_model_features.mixin.MixinResourceReloadStart (entity_model_features-common.mixins.json)         net.raphimc.immediatelyfast.injection.mixins.core.MixinMinecraftClient (immediatelyfast-common.mixins.json)         com.anthonyhilyard.iceberg.mixin.MinecraftMixin (iceberg.mixins.json)         me.jellysquid.mods.sodium.mixin.core.render.MinecraftAccessor (embeddium.mixins.json)         org.violetmoon.quark.mixin.mixins.client.MinecraftMixin (quark.mixins.json)         net.blay09.mods.balm.mixin.MinecraftMixin (balm.mixins.json)         tschipp.carryon.mixin.MinecraftMixin (carryon.mixins.json)         net.mehvahdjukaar.supplementaries.mixins.MinecraftMixin (supplementaries-common.mixins.json)         tocraft.craftedcore.mixin.client.MinecraftMixin (craftedcore.mixins.json)         net.fabricmc.fabric.mixin.event.lifecycle.client.MinecraftClientMixin (fabric-lifecycle-events-v1.client.mixins.json)         org.sinytra.connector.mod.mixin.registries.MinecraftMixin (connectormod.mixins.json)         io.socol.betterthirdperson.mixin.MinecraftMixin (betterthirdperson.mixins.json)         net.fabricmc.fabric.mixin.event.interaction.client.MinecraftClientMixin (fabric-events-interaction-v0.client.mixins.json)         org.betterx.bclib.mixin.client.MinecraftMixin (bclib.mixins.client.json)         com.telepathicgrunt.the_bumblezone.mixin.client.MinecraftMixin (the_bumblezone-common.mixins.json)         mod.azure.azurelib.mixins.MinecraftMixin (azurelib.forge.mixins.json)         com.Polarice3.Goety.mixin.MinecraftMixin (goety.mixins.json)         org.embeddedt.modernfix.common.mixin.feature.remove_telemetry.MinecraftMixin_Telemetry (modernfix-common.mixins.json)         org.betterx.betternether.mixin.client.MinecraftClientMixin (betternether.mixins.client.json)         com.teamabnormals.blueprint.core.mixin.client.MinecraftMixin (blueprint.mixins.json)         com.github.alexmodguy.alexscaves.mixin.client.MinecraftMixin (alexscaves.mixins.json)         com.sonicether.soundphysics.mixin.MinecraftMixin (sound_physics_remastered.mixins.json)         net.geforcemods.securitycraft.mixin.camera.MinecraftMixin (securitycraft.mixins.json)         de.keksuccino.fancymenu.mixin.mixins.common.client.IMixinMinecraft (fancymenu.mixins.json)         net.irisshaders.iris.mixin.MixinMinecraft_PipelineManagement (mixins.oculus.json)         org.embeddedt.modernfix.common.mixin.perf.dedicated_reload_executor.MinecraftMixin (modernfix-common.mixins.json)         com.cerbon.beb.forge.mixin.test.TestMixin (beb.mixins.json)         com.aizistral.nochatreports.common.mixins.client.MixinMinecraft (mixins/common/nochatreports.mixins.json)         net.fabricmc.fabric.mixin.networking.client.accessor.MinecraftClientAccessor (fabric-networking-api-v1.client.mixins.json)         me.jellysquid.mods.sodium.mixin.core.MinecraftClientMixin (embeddium.mixins.json)         de.cheaterpaul.fallingleaves.mixin.MinecraftClientMixin (fallingleaves.mixins.json)         de.keksuccino.fancymenu.mixin.mixins.common.client.MixinMinecraft (fancymenu.mixins.json)         org.embeddedt.modernfix.common.mixin.bugfix.world_leaks.MinecraftMixin (modernfix-common.mixins.json)         org.embeddedt.modernfix.forge.mixin.feature.measure_time.MinecraftMixin_Forge (modernfix-forge.mixins.json)         org.embeddedt.modernfix.common.mixin.perf.blast_search_trees.MinecraftMixin (modernfix-common.mixins.json)         org.sinytra.connector.mod.mixin.boot.MinecraftMixin (connectormod.mixins.json) -- Initialization -- Details:     Modules:          ADVAPI32.dll:Advanced Windows 32 Base API:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         COMCTL32.dll:Biblioteka formantów czynności użytkownika:6.10 (WinBuild.160101.0800):Microsoft Corporation         CRYPT32.dll:Crypto API32:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         CRYPTSP.dll:Cryptographic Service Provider API: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:Biblioteka DLL interfejsu API klienta usługi DNS:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         GDI32.dll:GDI Client DLL:10.0.19041.4474 (WinBuild.160101.0800):Microsoft Corporation         GLU32.dll:Biblioteka DLL OpenGL Utility Library:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         IMM32.DLL:Multi-User Windows IMM32 API Client DLL:10.0.19041.4474 (WinBuild.160101.0800):Microsoft Corporation         IPHLPAPI.DLL:IP Helper API:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         KERNEL32.DLL:Biblioteka DLL klienta Windows NT BASE API:10.0.19041.4717 (WinBuild.160101.0800):Microsoft Corporation         KERNELBASE.dll:Biblioteka DLL klienta Windows NT BASE API:10.0.19041.4717 (WinBuild.160101.0800):Microsoft Corporation         MSCTF.dll:Biblioteka DLL serwera MSCTF:10.0.19041.4522 (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:Pomocnicza biblioteka DLL dla profilu zasilania:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         PROPSYS.dll:System właściwości firmy Microsoft:7.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         PSAPI.DLL:Process Status Helper:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         Pdh.dll:Windows Performance Data Helper DLL:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         RPCRT4.dll:Czas wykonania zdalnego wywoływania procedury:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         SETUPAPI.dll:Interfejs API Instalatora systemu Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         SHCORE.dll:SHCORE:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         SHELL32.dll:Wspólna biblioteka DLL Powłoki systemu Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         UMPDC.dll         USER32.dll:Współużytkowana biblioteka DLL klienta Windows USER API:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         USERENV.dll:Userenv:10.0.19041.4522 (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:Usługi Windows HTTP Services:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         WINMM.dll:MCI API DLL:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         WINSTA.dll:Winstation Library:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         WINTRUST.dll:Microsoft Trust Verification APIs:10.0.19041.4780 (WinBuild.160101.0800):Microsoft Corporation         WS2_32.dll:Biblioteka DLL 32-bitowej wersji usługi Windows Socket 2.0:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         WSOCK32.dll:Windows Socket 32-Bit DLL:10.0.19041.1 (WinBuild.160101.0800):Microsoft Corporation         WTSAPI32.dll:Windows Remote Desktop Session Host Server SDK APIs:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         Wldp.dll:Zasady blokady systemu Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         amsi.dll:Anti-Malware Scan Interface:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         aswAMSI.dll:Avast AMSI COM object:24.12.9725.0:Gen Digital Inc.         aswhook.dll:Avast Hook Library:24.12.9725.0:AVAST Software         bcrypt.dll:Biblioteka podstawowych elementów kryptograficznych systemu Windows:10.0.19041.4522 (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         combase.dll:Microsoft COM for Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         cryptbase.dll:Base cryptographic API DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         cryptnet.dll:Crypto Network Related API:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         dbgcore.DLL:Windows Core Debugging Helpers:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         dhcpcsvc.DLL:Usługa klienta DHCP:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         dhcpcsvc6.DLL:Klient DHCPv6:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         dinput8.dll:Microsoft DirectInput:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         drvstore.dll:Driver Store API:10.0.19041.4355 (WinBuild.160101.0800):Microsoft Corporation         dwmapi.dll:Interfejs API menedżera okien Microsoft Desktop Window Manager:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         dxcore.dll:DXCore:10.0.19041.4474 (WinBuild.160101.0800):Microsoft Corporation         fwpuclnt.dll:Interfejs API trybu użytkownika funkcji FWP/IPSec:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         gdi32full.dll:GDI Client DLL:10.0.19041.4717 (WinBuild.160101.0800):Microsoft Corporation         glfw.dll:GLFW 3.4.0 DLL:3.4.0:GLFW         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         jna18238345871653851494.dll:JNA native library:6.1.4: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         msasn1.dll:ASN.1 Runtime APIs:10.0.19041.3636 (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:Microsoft Windows Sockets 2.0 Dostawca usługi:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         napinsp.dll:Dostawca podkładek nazewnictwa poczty e-mail:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         ncrypt.dll:Router programu NCrypt w systemie Windows:10.0.19041.4522 (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:Biblioteka NT Layer DLL:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         ntmarta.dll:Windows NT - dostawca MARTA:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         nvoglv64.dll:NVIDIA Compatible OpenGL ICD:30.0.14.7288:NVIDIA Corporation         ole32.dll:Microsoft OLE for Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         opengl32.dll:OpenGL Client DLL:10.0.19041.4717 (WinBuild.160101.0800):Microsoft Corporation         perfos.dll:Biblioteka DLL obiektów wydajności systemu Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         pnrpnsp.dll:Dostawca obszaru nazw PNRP:10.0.19041.4522 (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:Biblioteka dodatkowych narzędzi powłoki:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         sunmscapi.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         textinputframework.dll:"TextInputFramework.DYNLINK":10.0.19041.4651 (WinBuild.160101.0800):Microsoft Corporation         ucrtbase.dll:Microsoft® C Runtime Library:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         uxtheme.dll:Biblioteka Microsoft UxTheme:10.0.19041.4522 (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.4717 (WinBuild.160101.0800):Microsoft Corporation         windows.storage.dll:Interfejs API magazynu systemu Microsoft WinRT:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         winrnr.dll:LDAP RnR Provider DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         wintypes.dll:Biblioteka DLL typów systemu Windows:10.0.19041.4522 (WinBuild.160101.0800):Microsoft Corporation         wshbth.dll:Windows Sockets Helper DLL:10.0.19041.3636 (WinBuild.160101.0800):Microsoft Corporation         xinput1_4.dll:Interfejs API typowego kontrolera firmy Microsoft:10.0.19041.4522 (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:182) ~[forge-47.3.0.jar:?] {re:classloading,pl:connector_pre_launch:A,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) ~[?:?] {re:mixin}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} Mixins in Stacktrace: None found -- System Details -- Details:     Minecraft Version: 1.20.1     Minecraft Version ID: 1.20.1     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: 1491492512 bytes (1422 MiB) / 3087007744 bytes (2944 MiB) up to 21474836480 bytes (20480 MiB)     CPUs: 12     Processor Vendor: GenuineIntel     Processor Name: 11th Gen Intel(R) Core(TM) i5-11500 @ 2.70GHz     Identifier: Intel64 Family 6 Model 167 Stepping 1     Microarchitecture: Rocket Lake     Frequency (GHz): 2.71     Number of physical packages: 1     Number of physical CPUs: 6     Number of logical CPUs: 12     Graphics card #0 name: NVIDIA GeForce RTX 3060     Graphics card #0 vendor: NVIDIA (0x10de)     Graphics card #0 VRAM (MB): 4095.00     Graphics card #0 deviceId: 0x2504     Graphics card #0 versionInfo: DriverVersion=30.0.14.7288     Memory slot #0 capacity (MB): 16384.00     Memory slot #0 clockSpeed (GHz): 2.67     Memory slot #0 type: DDR4     Virtual memory max (MB): 47933.33     Virtual memory used (MB): 14112.97     Swap memory total (MB): 31711.85     Swap memory used (MB): 217.08     JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx20G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     Launched Version: forge-47.3.0     Backend library: LWJGL version 3.3.1 build 7     Backend API: Unknown     Window size: <not initialized>     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages: <disabled>     Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'     Type: Client (map_client.txt)     CPU: <unknown>     Sinytra Connector: 1.0.0-beta.46+1.20.1         SINYTRA CONNECTOR IS PRESENT!         Please verify issues are not caused by Connector before reporting them to mod authors. If you're unsure, file a report on Connector's issue tracker.         Connector's issue tracker can be found at https://github.com/Sinytra/Connector/issues.         Installed Fabric mods:         | ================================================== | ============================== | ============================== | ==================== |         | creaturechat-1.3.0+1.20.1-forge_mapped_srg_1.20.1. | CreatureChat                   | creaturechat                   | 1.3.01.20.1          |         | better-nether-9.0.9_mapped_srg_1.20.1.jar          | Better Nether                  | betternether                   | 9.0.9                |         | better-end-4.0.10_mapped_srg_1.20.1.jar            | Better End                     | betterend                      | 4.0.10               |         | bclib-3.0.13$wunderlib-1.1.5_mapped_srg_1.20.1.jar | WunderLib                      | wunderlib                      | 1.1.5                |         | bclib-3.0.13_mapped_srg_1.20.1.jar                 | BCLib                          | bclib                          | 3.0.13               |
    • Hi! I'm working on a server-side mod for our server, and we want to add security measures by checking on Player Connections before they log in. I'm aware of PlayerLoggedInEvent, but it works only after the Player is created. So, is there any way of detecting when a Client connects? Thanks in beforehand.
  • Topics

×
×
  • Create New...

Important Information

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