Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.16.5] Problem with itemTooltipEvent


cwJn
 Share

Recommended Posts

I'm having the strangest problem with my item events, and I can't think of a reason why this could be happening. To start, I have the following event.

//this method needs to remove the armour (toughness) and attack damage from items. Also,
    //use the attack damage and armour to convert to extra damage
    @SubscribeEvent(priority = LOWEST)
    public static void removeVanillaAttributes(ItemAttributeModifierEvent event) {
        ItemStack item = event.getItemStack(); //the item
        if (!(GearApi.isGear(item))) {
            double damage = event.removeAttribute(ATTACK_DAMAGE).stream().mapToDouble(AttributeModifier::getAmount).sum(); //the sum of the damage attribute
            double armor = event.removeAttribute(ARMOR).stream().mapToDouble(AttributeModifier::getAmount).sum(); //the sum of the armor attribute
            IDamageTypes typing = item.getCapability(CapabilityDamageTypes.DAMAGE_TYPES_CAPABILITY).orElse(null);
            IDamageResistance res = item.getCapability(CapabilityDamageResistance.DAMAGE_RESISTANCE_CAPABILITY).orElse(null);
            if (typing != null) {
                doDamageTypesCalc(damage, item);
            }
            if (res != null) {
                doResistanceCalc(armor, item);
            }
        } else {
            event.removeAttribute(ATTACK_DAMAGE).stream().mapToDouble(AttributeModifier::getAmount).sum(); //the sum of the damage attribute
            event.removeAttribute(ARMOR).stream().mapToDouble(AttributeModifier::getAmount).sum(); //the sum of the armor attribute
            double armor = GearApi.getStat(item, ItemStats.ARMOR);
            double damage = GearApi.getStat(item, ItemStats.MELEE_DAMAGE);
            damage += GearApi.getStat(item, ItemStats.RANGED_DAMAGE);
            IDamageTypes typing = item.getCapability(CapabilityDamageTypes.DAMAGE_TYPES_CAPABILITY).orElse(null);
            IDamageResistance res = item.getCapability(CapabilityDamageResistance.DAMAGE_RESISTANCE_CAPABILITY).orElse(null);
            if (typing != null) {
                handleSilentGearTool(item, damage);
            }
            if (res != null) {
                handleSilentGearArmour(item, armor);
            }
        }
        event.removeAttribute(ARMOR_TOUGHNESS); //remove redundant stat
    }

All of the calculation helper methods work the same way, so I'll just use the doDamageTypesCalc as example.

private static void doDamageTypesCalc(double val, ItemStack item) {
        item.getCapability(CapabilityDamageTypes.DAMAGE_TYPES_CAPABILITY).ifPresent(c -> {
            //we only want to change the capability if it hasn't been affected yet. This assumes if an item has a damage capability, it isn't all 0.
            if (c.getSlashDamage() == 0 && c.getPunctureDamage() == 0 && c.getImpactDamage() == 0 && c.getFireDamage() == 0 && c.getLightningDamage() == 0 && c.getIceDamage() == 0 && c.getDarkDamage() == 0 && c.getHolyDamage() == 0 && c.getMagicDamage() == 0) {
                System.out.println("recognized damage capability as all 0, updating damage.");
                WeaponItemData data = JSONHandler.getWeaponData(item.getItem().getRegistryName()); // get data from config file
                double[] damageConversions = data.getDmgConversion(); //get item's conversion ratios
                float i = data.getImpactDmg(); //get base damages
                float p = data.getPunctureDmg();
                float s = data.getSlashDmg();
                float f = data.getFireDmg();
                float l = data.getLightningDmg();
                float ic = data.getIceDmg();
                float d = data.getDarkDmg();
                float h = data.getHolyDmg();
                float m = data.getMagicDmg();
                double id, pd, sd, fd, ld, icd, dd, hd, md;
                id = (val * damageConversions[0]) + i; //add them together
                pd = (val * damageConversions[1]) + p;
                sd = (val * damageConversions[2]) + s;
                fd = (val * damageConversions[3]) + f;
                ld = (val * damageConversions[4]) + l;
                icd = (val * damageConversions[5]) + ic;
                dd = (val * damageConversions[6]) + d;
                hd = (val * damageConversions[7]) + h;
                md = (val * damageConversions[8]) + m;
                int sharpnessLevel = EnchantmentHelper.getItemEnchantmentLevel(SHARPNESS, item);
                //System.out.println("sharpness level: " + sharpnessLevel);
                c.setImpactDamage((float) id);
                c.setPunctureDamage((float) pd);
                c.setSlashDamage((float) sd);
                c.setFireDamage((float) fd);
                c.setLightningDamage((float) ld);
                c.setIceDamage((float) icd);
                c.setDarkDamage((float) dd);
                c.setHolyDamage((float) hd);
                c.setMagicDamage((float) md);
            }
        });
    }

In this method, I use a custom capability to update the weapon's "damage typing". (ignore the system print lines, they are used for debugging and will be removed). This method works correctly, which then brings me to my event that adds a tooltip to display these properties.

@SubscribeEvent(priority = LOWEST)
    public static void addExtraDamageTooltip(ItemTooltipEvent event) {

        ItemStack item = event.getItemStack();
        IDamageResistance res = item.getCapability(CapabilityDamageResistance.DAMAGE_RESISTANCE_CAPABILITY).orElse(null);
        IDamageTypes dmg = item.getCapability(CapabilityDamageTypes.DAMAGE_TYPES_CAPABILITY).orElse(null);

        if (res != null) {
            //MAKE VARIABLES
            float ir = res.getImpactResistance();
            float pr = res.getPunctureResistance();
            float sr = res.getSlashResistance();
            float fr = res.getFireResistance();
            float lr = res.getLightningResistance();
            float icr = res.getIceResistance();
            float dr = res.getDarkResistance();
            float hr = res.getHolyResistance();
            float mr = res.getMagicResistance();
            IFormattableTextComponent impactText;
            IFormattableTextComponent punctureText;
            IFormattableTextComponent slashText;
            IFormattableTextComponent fireText;
            IFormattableTextComponent lightningText;
            IFormattableTextComponent iceText;
            IFormattableTextComponent darkText;
            IFormattableTextComponent holyText;
            IFormattableTextComponent magicText;
            IFormattableTextComponent resistanceText;
            IFormattableTextComponent irText;
            IFormattableTextComponent prText;
            IFormattableTextComponent srText;
            IFormattableTextComponent frText;
            IFormattableTextComponent lrText;
            IFormattableTextComponent icrText;
            IFormattableTextComponent drText;
            IFormattableTextComponent hrText;
            IFormattableTextComponent mrText;

            resistanceText = new TranslationTextComponent("----------Damage Resistances----------");
            impactText = new TranslationTextComponent("Impact Resistance: ");
            punctureText = new TranslationTextComponent("Puncture Resistance: ");
            slashText = new TranslationTextComponent("Slash Resistance: ");
            fireText = new TranslationTextComponent("Fire Resistance: ");
            lightningText = new TranslationTextComponent("Lightning Resistance: ");
            iceText = new TranslationTextComponent("Ice Resistance: ");
            darkText = new TranslationTextComponent("Dark Resistance: ");
            holyText = new TranslationTextComponent("Divine Resistance: ");
            magicText = new TranslationTextComponent("Magic Resistance: ");
            irText = new TranslationTextComponent(df.format(ir));
            prText = new TranslationTextComponent(df.format(pr));
            srText = new TranslationTextComponent(df.format(sr));
            frText = new TranslationTextComponent(df.format(fr));
            lrText = new TranslationTextComponent(df.format(lr));
            icrText = new TranslationTextComponent(df.format(icr));
            drText = new TranslationTextComponent(df.format(dr));
            hrText = new TranslationTextComponent(df.format(hr));
            mrText = new TranslationTextComponent(df.format(mr));

            event.getToolTip().add(TextUtil.withColor(resistanceText, Color.MAGENTA).withStyle(TextFormatting.BOLD));
            event.getToolTip().add(TextUtil.withColor(impactText, Color.GREEN).append(TextUtil.withColor(irText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(punctureText, Color.GREEN).append(TextUtil.withColor(prText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(slashText, Color.GREEN).append(TextUtil.withColor(srText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(fireText, Color.ORANGERED).append(TextUtil.withColor(frText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(lightningText, Color.YELLOW).append(TextUtil.withColor(lrText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(iceText, Color.LIGHTBLUE).append(TextUtil.withColor(icrText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(darkText, Color.DARKVIOLET).append(TextUtil.withColor(drText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(holyText, Color.FLORALWHITE).append(TextUtil.withColor(hrText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(magicText, Color.CORNFLOWERBLUE).append(TextUtil.withColor(mrText, Color.LIGHTSTEELBLUE)));
        } else if (dmg != null) {

            float id = dmg.getImpactDamage();
            float pd = dmg.getPunctureDamage();
            float sd = dmg.getSlashDamage();
            float fd = dmg.getFireDamage();
            float ld = dmg.getLightningDamage();
            float icd = dmg.getIceDamage();
            float dd = dmg.getDarkDamage();
            float hd = dmg.getHolyDamage();
            float md = dmg.getMagicDamage();
            IFormattableTextComponent impactText;
            IFormattableTextComponent punctureText;
            IFormattableTextComponent slashText;
            IFormattableTextComponent fireText;
            IFormattableTextComponent lightningText;
            IFormattableTextComponent iceText;
            IFormattableTextComponent darkText;
            IFormattableTextComponent holyText;
            IFormattableTextComponent magicText;
            IFormattableTextComponent damageText;
            IFormattableTextComponent idText;
            IFormattableTextComponent pdText;
            IFormattableTextComponent sdText;
            IFormattableTextComponent fdText;
            IFormattableTextComponent ldText;
            IFormattableTextComponent icdText;
            IFormattableTextComponent ddText;
            IFormattableTextComponent hdText;
            IFormattableTextComponent mdText;

            damageText = new TranslationTextComponent("----------Damage Typing----------");
            impactText = new TranslationTextComponent("Impact Damage: ");
            punctureText = new TranslationTextComponent("Puncture Damage: ");
            slashText = new TranslationTextComponent("Slash Damage: ");
            fireText = new TranslationTextComponent("Fire Damage: ");
            lightningText = new TranslationTextComponent("Lightning Damage: ");
            iceText = new TranslationTextComponent("Ice Damage: ");
            darkText = new TranslationTextComponent("Dark Damage: ");
            holyText = new TranslationTextComponent("Divine Damage: ");
            magicText = new TranslationTextComponent("Magic Damage: ");
            idText = new TranslationTextComponent(df.format(id));
            pdText = new TranslationTextComponent(df.format(pd));
            sdText = new TranslationTextComponent(df.format(sd));
            fdText = new TranslationTextComponent(df.format(fd));
            ldText = new TranslationTextComponent(df.format(ld));
            icdText = new TranslationTextComponent(df.format(icd));
            ddText = new TranslationTextComponent(df.format(dd));
            hdText = new TranslationTextComponent(df.format(hd));
            mdText = new TranslationTextComponent(df.format(md));

            event.getToolTip().add(TextUtil.withColor(damageText, Color.MAGENTA).withStyle(TextFormatting.BOLD));
            event.getToolTip().add(TextUtil.withColor(impactText, Color.LIGHTGREEN).append(TextUtil.withColor(idText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(punctureText, Color.LIGHTGREEN).append(TextUtil.withColor(pdText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(slashText, Color.LIGHTGREEN).append(TextUtil.withColor(sdText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(fireText, Color.ORANGERED).append(TextUtil.withColor(fdText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(lightningText, Color.YELLOW).append(TextUtil.withColor(ldText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(iceText, Color.LIGHTBLUE).append(TextUtil.withColor(icdText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(darkText, Color.DARKVIOLET).append(TextUtil.withColor(ddText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(holyText, Color.FLORALWHITE).append(TextUtil.withColor(hdText, Color.LIGHTSTEELBLUE)));
            event.getToolTip().add(TextUtil.withColor(magicText, Color.CORNFLOWERBLUE).append(TextUtil.withColor(mdText, Color.LIGHTSTEELBLUE)));
        }
    }

 

The issue I'm having, is with the if statement check that I have surrounding my doDamageTypesCalc helper method (the one that checks if all those things are == 0). If I remove that if statement, the itemTooltip event starts displaying all 0's. I have no idea what could be causing the issue. I'm not sure if it will help, but these are my DamageType capability classes:

public class CapabilityDamageTypes {

    @CapabilityInject(IDamageTypes.class)
    public static Capability<IDamageTypes> DAMAGE_TYPES_CAPABILITY = null;

    public static void register() {
        CapabilityManager.INSTANCE.register(IDamageTypes.class, new Storage(), new Factory());
    }

    private static class Storage implements Capability.IStorage<IDamageTypes> {

        @Nullable
        @Override
        public INBT writeNBT(Capability<IDamageTypes> capability, IDamageTypes instance, Direction side) {
            CompoundNBT tag = new CompoundNBT();
            tag.putFloat("slash", instance.getSlashDamage());
            tag.putFloat("impact", instance.getImpactDamage());
            tag.putFloat("puncture", instance.getPunctureDamage());
            tag.putFloat("fire", instance.getFireDamage());
            tag.putFloat("lightning", instance.getLightningDamage());
            tag.putFloat("ice", instance.getIceDamage());
            tag.putFloat("dark", instance.getDarkDamage());
            tag.putFloat("holy", instance.getHolyDamage());
            tag.putFloat("magic", instance.getMagicDamage());
            tag.putString("mobDamageType", instance.getMobDamageType());
            return tag;
        }

        @Override
        public void readNBT(Capability<IDamageTypes> capability, IDamageTypes instance, Direction side, INBT nbt) {
            float slash = ((CompoundNBT) nbt).getFloat("slash");
            float impact = ((CompoundNBT) nbt).getFloat("impact");
            float puncture = ((CompoundNBT) nbt).getFloat("puncture");
            float fire = ((CompoundNBT) nbt).getFloat("fire");
            float lightning = ((CompoundNBT) nbt).getFloat("lightning");
            float ice = ((CompoundNBT) nbt).getFloat("ice");
            float dark = ((CompoundNBT) nbt).getFloat("dark");
            float holy = ((CompoundNBT) nbt).getFloat("holy");
            float magic = ((CompoundNBT) nbt).getFloat("magic");
            String mobDamageType = ((CompoundNBT) nbt).getString("mobDamageType");

            instance.setSlashDamage(slash);
            instance.setImpactDamage(impact);
            instance.setPunctureDamage(puncture);
            instance.setFireDamage(fire);
            instance.setLightningDamage(lightning);
            instance.setIceDamage(ice);
            instance.setDarkDamage(dark);
            instance.setHolyDamage(holy);
            instance.setMagicDamage(magic);
            instance.setMobDamageType(mobDamageType);
        }
    }

    private static class Factory implements Callable<IDamageTypes> {

        @Override
        public IDamageTypes call() throws Exception {
            return new DamageTypes(0, 0, 0, 0, 0, 0, 0, 0, 0, "IMPACT");
        }

    }

}
public class DamageTypesProvider implements ICapabilitySerializable<CompoundNBT> {

    private DamageTypes damage;
    private LazyOptional<IDamageTypes> damageOptional;

    public void invalidate() {
        damageOptional.invalidate();
    }

    public DamageTypesProvider(float I, float P, float S, float F, float L, float IC, float D, float H, float M, String mobDamageType) {
        damage = new DamageTypes(I, P, S, F, L, IC, D, H, M, mobDamageType);
        damageOptional = LazyOptional.of(() -> damage);
    }

    @Nonnull
    @Override
    public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) {
        return cap == CapabilityDamageTypes.DAMAGE_TYPES_CAPABILITY ? damageOptional.cast() : LazyOptional.empty();
    }

    @Override
    public CompoundNBT serializeNBT() {
        if (CapabilityDamageTypes.DAMAGE_TYPES_CAPABILITY == null) {
            return new CompoundNBT();
        } else {
            return (CompoundNBT) CapabilityDamageTypes.DAMAGE_TYPES_CAPABILITY.writeNBT(damage, null);
        }
    }

    @Override
    public void deserializeNBT(CompoundNBT nbt) {
        if (CapabilityDamageTypes.DAMAGE_TYPES_CAPABILITY != null) {
            CapabilityDamageTypes.DAMAGE_TYPES_CAPABILITY.readNBT(damage, null, nbt);
        }
    }

}

 

Link to comment
Share on other sites

Why are you modifying your capability data in ItemAttributeModifierEvent? This makes no sense. That event should be purely reading data and adding attribute modifiers based upon that data.

10 minutes ago, cwJn said:
damageText = new TranslationTextComponent("----------Damage Typing----------");

This is not how TranslationTextComponent is used. Use StringTextComponent for a hardcoded string. But you should use a language file.

Link to comment
Share on other sites

24 minutes ago, diesieben07 said:

Why are you modifying your capability data in ItemAttributeModifierEvent? This makes no sense. That event should be purely reading data and adding attribute modifiers based upon that data.

This is not how TranslationTextComponent is used. Use StringTextComponent for a hardcoded string. But you should use a language file.

It's because I need to take the original item's attack damage attribute and convert it to data in my capability. So the original attribute needs to be removed, and I also need that data.

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
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.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • Create needs to update for the new version of Forge. If there hasn't been an update and you want to keep using it you must downgrade Forge to 39.0.44.
    • Just Another Mining Dimension needs to update for the new version of Forge. If there isn't one and you want to keep using it, you must downgrade Forge to 39.0.44.
    • HI, there, my game closed itself when I placed a "mechanical harvester" from the Create mod onto a structure I was creating. After this happened I have tried to join my world again for at least 3 times, to no avail.   The launcher gives me the following error:  The game crashed whilst exception in server tick loop Error: java.lang.NoSuchMethodError: 'net.minecraft.nbt.CompoundTag net.minecraft.world.level.block.entity.BlockEntity.save(net.minecraft.nbt.CompoundTag)' Exit Code: -1   here is the crash log:  ---- Minecraft Crash Report ---- // Who set us up the TNT? Time: 1/25/22, 12:24 PM Description: Exception in server tick loop java.lang.NoSuchMethodError: 'net.minecraft.nbt.CompoundTag net.minecraft.world.level.block.entity.BlockEntity.save(net.minecraft.nbt.CompoundTag)'     at com.simibubi.create.foundation.tileEntity.SyncedTileEntity.save(SyncedTileEntity.java:26) ~[create-mc1.18.1_v0.4c.jar%2361!/:mc1.18.1_v0.4c] {re:classloading}     at com.simibubi.create.foundation.tileEntity.SyncedTileEntity.writeClient(SyncedTileEntity.java:59) ~[create-mc1.18.1_v0.4c.jar%2361!/:mc1.18.1_v0.4c] {re:classloading}     at com.simibubi.create.foundation.tileEntity.SyncedTileEntity.m_5995_(SyncedTileEntity.java:33) ~[create-mc1.18.1_v0.4c.jar%2361!/:mc1.18.1_v0.4c] {re:classloading}     at net.minecraft.network.protocol.game.ClientboundLevelChunkPacketData$BlockEntityInfo.m_195691_(ClientboundLevelChunkPacketData.java:153) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.network.protocol.game.ClientboundLevelChunkPacketData.<init>(ClientboundLevelChunkPacketData.java:44) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket.<init>(ClientboundLevelChunkWithLightPacket.java:24) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.level.ChunkMap.m_183760_(ChunkMap.java:1125) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.level.ChunkMap.m_183754_(ChunkMap.java:785) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.level.ChunkMap.m_140192_(ChunkMap.java:923) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.level.ChunkMap.m_140199_(ChunkMap.java:1045) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.level.ServerChunkCache.m_8463_(ServerChunkCache.java:458) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.server.level.ServerLevel$EntityCallbacks.m_141985_(ServerLevel.java:1551) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.level.ServerLevel$EntityCallbacks.m_141985_(ServerLevel.java:1534) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.world.level.entity.PersistentEntitySectionManager.m_157575_(PersistentEntitySectionManager.java:135) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.world.level.entity.PersistentEntitySectionManager.addEntityWithoutEvent(PersistentEntitySectionManager.java:98) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.world.level.entity.PersistentEntitySectionManager.addNewEntityWithoutEvent(PersistentEntitySectionManager.java:76) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.level.ServerLevel.m_8853_(ServerLevel.java:827) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.server.level.ServerLevel.m_8834_(ServerLevel.java:771) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.server.players.PlayerList.m_11261_(PlayerList.java:190) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_143699_(ServerLoginPacketListenerImpl.java:138) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_10055_(ServerLoginPacketListenerImpl.java:125) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_10050_(ServerLoginPacketListenerImpl.java:69) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.network.Connection.m_129483_(Connection.java:229) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.network.ServerConnectionListener.m_9721_(ServerConnectionListener.java:142) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading}     at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:882) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MinecraftServerAccessor,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:808) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MinecraftServerAccessor,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at net.minecraft.client.server.IntegratedServer.m_5705_(IntegratedServer.java:86) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:668) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MinecraftServerAccessor,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_177918_(MinecraftServer.java:258) ~[client-1.18.1-20211210.034407-srg.jar%2389!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:balm.mixins.json:MinecraftServerAccessor,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at java.lang.Thread.run(Thread.java:833) [?:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details:     Minecraft Version: 1.18.1     Minecraft Version ID: 1.18.1     Operating System: Windows 10 (amd64) version 10.0     Java Version: 17.0.1, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 1574616768 bytes (1501 MiB) / 4294967296 bytes (4096 MiB) up to 4294967296 bytes (4096 MiB)     CPUs: 8     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 5 2500U with Radeon Vega Mobile Gfx       Identifier: AuthenticAMD Family 23 Model 17 Stepping 0     Microarchitecture: Zen     Frequency (GHz): 2.00     Number of physical packages: 1     Number of physical CPUs: 4     Number of logical CPUs: 8     Graphics card #0 name: Radeon RX 560X Series     Graphics card #0 vendor: Advanced Micro Devices, Inc. (0x1002)     Graphics card #0 VRAM (MB): 4095.00     Graphics card #0 deviceId: 0x67ef     Graphics card #0 versionInfo: DriverVersion=30.0.13033.5003     Graphics card #1 name: AMD Radeon(TM) Vega 8 Graphics     Graphics card #1 vendor: Advanced Micro Devices, Inc. (0x1002)     Graphics card #1 VRAM (MB): 1024.00     Graphics card #1 deviceId: 0x15dd     Graphics card #1 versionInfo: DriverVersion=30.0.13033.5003     Memory slot #0 capacity (MB): 8192.00     Memory slot #0 clockSpeed (GHz): 2.40     Memory slot #0 type: DDR4     Virtual memory max (MB): 27760.46     Virtual memory used (MB): 17915.79     Swap memory total (MB): 20691.89     Swap memory used (MB): 2680.63     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx4096m -Xms256m     Server Running: true     Player Count: 1 / 8; [ServerPlayer['_Niyah'/199, l='ServerLevel[New World]', x=161.64, y=71.00, z=-45.06]]     Data Packs: vanilla, mod:enchdesc, mod:terrablender, mod:mousetweaks, mod:biomesoplenty, mod:jei (incompatible), mod:flywheel, mod:curios, mod:neat (incompatible), mod:create, mod:createdeco (incompatible), mod:waystones, mod:journeymap, mod:ctm (incompatible), mod:controlling (incompatible), mod:comforts, mod:autoreglib (incompatible), mod:storagedrawers (incompatible), mod:oreexcavation, mod:naturescompass (incompatible), mod:elevatorid, mod:buildinggadgets (incompatible), mod:balm (incompatible), mod:puzzleslib, mod:jeresources, mod:forge, mod:quark (incompatible), mod:appleskin (incompatible), mod:fastleafdecay, mod:refinedstorage, mod:enchantinginfuser, mod:createaddition (incompatible), mod:craftingtweaks, mod:theoneprobe (incompatible), mod:visualworkbench, mod:justzoom (incompatible), mod:refinedstorageaddons, mod:konkrete, mod:constructionwand     Type: Integrated Server (map_client.txt)     Is Modded: Definitely; Client brand changed to 'forge'; Server brand changed to 'forge'     ModLauncher: 9.1.0+9.1.0+main.6690ee51     ModLauncher launch target: forgeclient     ModLauncher naming: srg     ModLauncher services:           mixin PLUGINSERVICE           eventbus PLUGINSERVICE           object_holder_definalize PLUGINSERVICE           runtime_enum_extender PLUGINSERVICE           capability_token_subclass PLUGINSERVICE           accesstransformer PLUGINSERVICE           runtimedistcleaner PLUGINSERVICE           mixin TRANSFORMATIONSERVICE           fml TRANSFORMATIONSERVICE      FML Language Providers:          minecraft@1.0         javafml@null     Mod List:          client-1.18.1-20211210.034407-srg.jar             |Minecraft                     |minecraft                     |1.18.1              |DONE      |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f         EnchantmentDescriptions-Forge-1.18.1-9.0.11.jar   |EnchantmentDescriptions       |enchdesc                      |9.0.11              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         theoneprobe-1.18-5.0.3.jar                        |The One Probe                 |theoneprobe                   |1.18-5.0.3          |DONE      |Manifest: NOSIGNATURE         TerraBlender-forge-1.18.1-1.1.0.73.jar            |TerraBlender                  |terrablender                  |1.18.1-1.1.0.73     |DONE      |Manifest: NOSIGNATURE         MouseTweaks-forge-mc1.18-2.21.jar                 |Mouse Tweaks                  |mousetweaks                   |2.21                |DONE      |Manifest: NOSIGNATURE         BiomesOPlenty-1.18.1-15.0.0.104-universal.jar     |Biomes O' Plenty              |biomesoplenty                 |1.18.1-15.0.0.104   |DONE      |Manifest: NOSIGNATURE         jei-1.18.1-9.2.1.69.jar                           |Just Enough Items             |jei                           |9.2.1.69            |DONE      |Manifest: NOSIGNATURE         VisualWorkbench-v3.1.0-1.18.1-Forge.jar           |Visual Workbench              |visualworkbench               |3.1.0               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         flywheel-forge-1.18-0.5.1.jar                     |Flywheel                      |flywheel                      |1.18-0.5.1          |DONE      |Manifest: NOSIGNATURE         curios-forge-1.18.1-5.0.6.0.jar                   |Curios API                    |curios                        |1.18.1-5.0.6.0      |DONE      |Manifest: NOSIGNATURE         Neat 1.8-30.jar                                   |Neat                          |neat                          |1.8-30              |DONE      |Manifest: NOSIGNATURE         create-mc1.18.1_v0.4c.jar                         |Create                        |create                        |0.4c                |DONE      |Manifest: NOSIGNATURE         createdeco-1.2.3-1.18.jar                         |Create Deco                   |createdeco                    |1.2.3-1.18          |DONE      |Manifest: NOSIGNATURE         waystones-forge-1.18.1-9.0.3.jar                  |Waystones                     |waystones                     |9.0.3               |DONE      |Manifest: NOSIGNATURE         journeymap-1.18.1-5.8.0beta11.jar                 |Journeymap                    |journeymap                    |5.8.0beta11         |DONE      |Manifest: NOSIGNATURE         CTM-1.18-1.1.3+1.jar                              |ConnectedTexturesMod          |ctm                           |1.18-1.1.3+1        |DONE      |Manifest: NOSIGNATURE         Controlling-forge-1.18.1-9.0+13.jar               |Controlling                   |controlling                   |9.0+13              |DONE      |Manifest: NOSIGNATURE         comforts-forge-1.18-5.0.0.1.jar                   |Comforts                      |comforts                      |1.18-5.0.0.1        |DONE      |Manifest: NOSIGNATURE         AutoRegLib-1.7-52.jar                             |AutoRegLib                    |autoreglib                    |1.7-52              |DONE      |Manifest: NOSIGNATURE         StorageDrawers-1.18.1-10.1.1.jar                  |Storage Drawers               |storagedrawers                |10.1.1              |DONE      |Manifest: NOSIGNATURE         OreExcavation-1.10.159.jar                        |OreExcavation                 |oreexcavation                 |1.10.159            |DONE      |Manifest: NOSIGNATURE         NaturesCompass-1.18.1-1.9.4-forge.jar             |Nature's Compass              |naturescompass                |1.18.1-1.9.4-forge  |DONE      |Manifest: NOSIGNATURE         elevatorid-1.18-1.8.3.jar                         |Elevator Mod                  |elevatorid                    |1.18-1.8.3          |DONE      |Manifest: NOSIGNATURE         constructionwand-1.18.1-2.6.jar                   |Construction Wand             |constructionwand              |1.18.1-2.6          |DONE      |Manifest: NOSIGNATURE         buildinggadgets-3.10.1-build.3+mc1.18.jar         |Building Gadgets              |buildinggadgets               |3.9.0               |DONE      |Manifest: NOSIGNATURE         balm-2.4.1+0.jar                                  |Balm                          |balm                          |2.4.1+0             |DONE      |Manifest: NOSIGNATURE         PuzzlesLib-v3.1.3-1.18.1-Forge.jar                |Puzzles Lib                   |puzzleslib                    |3.1.3               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         justzoom_forge_1.0.1_MC_1.18-1.18.1.jar           |Just Zoom                     |justzoom                      |1.0.1               |DONE      |Manifest: NOSIGNATURE         JustEnoughResources-1.18.1-0.13.1.141.jar         |Just Enough Resources         |jeresources                   |0.13.1.141          |DONE      |Manifest: NOSIGNATURE         forge-1.18.1-39.0.59-universal.jar                |Forge                         |forge                         |39.0.59             |DONE      |Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90         Quark-3.0-334.jar                                 |Quark                         |quark                         |3.0-334             |DONE      |Manifest: NOSIGNATURE         appleskin-forge-mc1.18-2.2.0.jar                  |AppleSkin                     |appleskin                     |2.2.0               |DONE      |Manifest: NOSIGNATURE         FastLeafDecay-27.2.jar                            |FastLeafDecay                 |fastleafdecay                 |27.2                |DONE      |Manifest: NOSIGNATURE         refinedstorage-1.10.0-beta.4.jar                  |Refined Storage               |refinedstorage                |1.10.0-beta.4       |DONE      |Manifest: NOSIGNATURE         refinedstorageaddons-0.8.1.jar                    |Refined Storage Addons        |refinedstorageaddons          |0.8.1               |DONE      |Manifest: NOSIGNATURE         konkrete_forge_1.3.3_MC_1.18-1.18.1.jar           |Konkrete                      |konkrete                      |1.3.3               |DONE      |Manifest: NOSIGNATURE         EnchantingInfuser-v3.1.1-1.18.1-Forge.jar         |Enchanting Infuser            |enchantinginfuser             |3.1.1               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         createaddition-1.18.1-20220111b.jar               |Create Crafts & Additions     |createaddition                |1.18.1-20220111b    |DONE      |Manifest: NOSIGNATURE         craftingtweaks-forge-1.18.1-14.0.2.jar            |CraftingTweaks                |craftingtweaks                |14.0.2              |DONE      |Manifest: NOSIGNATURE     Flywheel Backend: GL33 Instanced Arrays     Crash Report UUID: c48bde08-0986-488b-9348-1cf1e8c370ea     FML: 39.0     Forge: net.minecraftforge:39.0.59
    • Yes I'm on 1.18.1 the latest version of forge and all mods are for 1.18 was working fine then just crashed and when I try to get back in just keeps crashing
    • Are you using right version of minecraft? like, using 1.12.2 mod on 1.18 will not works.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.