Jump to content

[Solved] ClassCastException when rendering block


Recommended Posts

Posted

When I place one of my blocks, the game crashes with a class cast exception when getting the icon.

This is my block class:

package XFactHD.thermalreactors.common.blocks.machine.fissionReactor;

import XFactHD.thermalreactors.common.blocks.BlockBaseTR;
import XFactHD.thermalreactors.common.blocks.ItemBlockBaseTR;

import XFactHD.thermalreactors.common.util.Reference;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

public class BlockReactorComponent extends BlockBaseTR
{
    public BlockReactorComponent()
    {
        super("BlockReactorComponent", Material.iron, 4, ItemBlockBaseTR.class, "Casing", "ControlRod", "Core", "BasicExchanger", "AdvExchanger", "BasicDissipator", "AdvDissipator", "Glass", "Controller", "Port");
    }

    @Override
    public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int meta, float hitX, float hitY, float hitZ)
    {
        TileEntity te = world.getTileEntity(x, y, z);
        if (te instanceof TileEntityFissionController && !((TileEntityFissionController)te).formed && !world.isRemote)
        {
            ((TileEntityFissionController)te).checkStructure();
            return true;
        }
        return false;
    }

    @Override
    public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack stack)
    {
        if (stack.getItemDamage() == 
        {
            int l = MathHelper.floor_double((double) (entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
            if (l == 0)
            {
                world.setBlockMetadataWithNotify(x, y, z, 8, 2);
            }

            if (l == 1)
            {
                world.setBlockMetadataWithNotify(x, y, z, 9, 2);
            }

            if (l == 2)
            {
                world.setBlockMetadataWithNotify(x, y, z, 10, 2);
            }

            if (l == 3)
            {
                world.setBlockMetadataWithNotify(x, y, z, 11, 2);
            }
        }
        if (stack.getItemDamage() == 9)
        {
            int l = MathHelper.floor_double((double) (entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
            if (l == 0)
            {
                world.setBlockMetadataWithNotify(x, y, z, 12, 2);
            }

            if (l == 1)
            {
                world.setBlockMetadataWithNotify(x, y, z, 13, 2);
            }

            if (l == 2)
            {
                world.setBlockMetadataWithNotify(x, y, z, 14, 2);
            }

            if (l == 3)
            {
                world.setBlockMetadataWithNotify(x, y, z, 15, 2);
            }
        }
    }

    @Override
    public void registerBlockIcons(IIconRegister iconRegister)
    {
        //Casing
        icons[0][0] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "Base");
        //Control Rod
        icons[1][0] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "Base");
        icons[1][1] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "ControlRodTop");
        icons[1][2] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "ControlRodBottom");
        //Core
        icons[2][0] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "CoreTop");
        icons[2][1] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "CoreSide");
        //Basic Heat Exchanger
        icons[3][0] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "BasicExchangerSide");
        icons[3][1] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "BasicExchangerTop");
        icons[3][2] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "BasicExchangerBottom");
        //Advanced Heat Exchanger
        icons[4][0] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "AdvExchangerSide");
        icons[4][1] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "AdvExchangerTop");
        icons[4][2] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "AdvExchangerBottom");
        //Basic Heat Dissipator
        icons[5][0] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "BasicDissipatorSide");
        icons[5][1] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "BasicDissipatorTop");
        icons[5][2] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "BasicDissipatorBottom");
        //Advanced Heat Dissipator
        icons[6][0] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "AdvDissipatorSide");
        icons[6][1] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "AdvDissipatorTop");
        icons[6][2] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "AdvDissipatorBottom");
        //Glass
        icons[7][0] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "Glass");
        //Controller
        icons[8][0] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "Base");
        icons[8][1] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "ControllerFront");
        icons[8][2] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "ControllerFrontInactive");
        icons[8][3] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "ControllerFrontActive");
        //Port
        icons[9][0] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "Base");
        icons[9][1] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "PortFrontIn");
        icons[9][2] = iconRegister.registerIcon(Reference.MOD_ID + ":" + "blockReactorComponent" + "_" + "PortFrontOut");
    }

    @Override
    public IIcon getIcon(int side, int meta)
    {
        switch (meta)
        {
            case 0: return icons[0][0];
            case 1: return  (side==0||side==1) ? (side==0 ? icons[1][2] : icons[1][1]) : icons[1][0];
            case 2: return (side==0||side==1) ? icons[2][0] : icons[2][1];
            case 3: return  (side==0||side==1) ? (side==0 ? icons[3][2] : icons[3][1]) : icons[3][0];
            case 4: return  (side==0||side==1) ? (side==0 ? icons[4][2] : icons[4][1]) : icons[4][0];
            case 5: return  (side==0||side==1) ? (side==0 ? icons[5][2] : icons[5][1]) : icons[5][0];
            case 6: return  (side==0||side==1) ? (side==0 ? icons[6][2] : icons[6][1]) : icons[6][0];
            case 7: return icons[7][0];
            case 8: return side==3 ? icons[8][2] : icons[8][0];
            case 9: return side==3 ? icons[9][1] : icons[9][0];
        }
        return super.getIcon(side, meta);
    }

    @Override
    public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
    {
        int meta = world.getBlockMetadata(x, y, z);
        TileEntity te = world.getTileEntity(x, y, z);
        switch (meta)
        {
            case 0: return icons[0][0];
            case 1: switch (side)
            {
                case 0: return icons[1][2];
                case 1: return icons[1][1];
                case 2: return icons[1][0];
                case 3: return icons[1][0];
                case 4: return icons[1][0];
                case 5: return icons[1][0];
            }
            case 2: return (side==0||side==1) ? icons[2][0] : icons[2][1];
            case 3: switch (side)
            {
                case 0: return icons[3][2];
                case 1: return icons[3][1];
                case 2: return icons[3][0];
                case 3: return icons[3][0];
                case 4: return icons[3][0];
                case 5: return icons[3][0];
            }
            case 4: switch (side)
            {
                case 0: return icons[3][2];
                case 1: return icons[3][1];
                case 2: return icons[3][0];
                case 3: return icons[3][0];
                case 4: return icons[3][0];
                case 5: return icons[3][0];
            }
            case 5: switch (side)
            {
                case 0: return icons[3][2];
                case 1: return icons[3][1];
                case 2: return icons[3][0];
                case 3: return icons[3][0];
                case 4: return icons[3][0];
                case 5: return icons[3][0];
            }
            case 6: switch (side)
            {
                case 0: return icons[3][2];
                case 1: return icons[3][1];
                case 2: return icons[3][0];
                case 3: return icons[3][0];
                case 4: return icons[3][0];
                case 5: return icons[3][0];
            }
            case 7: return icons[7][0];
            case 8: switch (side)
            {
                case 0: return icons[8][0];
                case 1: return icons[8][0];
                case 2: int status = ((TileEntityFissionController)te).formed ? (((TileEntityFissionController)te).active ? 3 : 2) : 1; return icons[8][status];
                case 3: return icons[8][0];
                case 4: return icons[8][0];
                case 5: return icons[8][0];
            }
            case 9: switch (side)
            {
                case 0: return icons[8][0];
                case 1: return icons[8][0];
                case 2: return icons[8][0];
                case 3: return icons[8][0];
                case 4: return icons[8][0];
                case 5: int status = ((TileEntityFissionController)te).formed ? (((TileEntityFissionController)te).active ? 3 : 2) : 1; return icons[8][status];
            }
            case 10: switch (side)
            {
                case 0: return icons[8][0];
                case 1: return icons[8][0];
                case 2: return icons[8][0];
                case 3: int status = ((TileEntityFissionController)te).formed ? (((TileEntityFissionController)te).active ? 3 : 2) : 1; return icons[8][status];
                case 4: return icons[8][0];
                case 5: return icons[8][0];
            }
            case 11: switch (side)
            {
                case 0: return icons[8][0];
                case 1: return icons[8][0];
                case 2: return icons[8][0];
                case 3: return icons[8][0];
                case 4: int status = ((TileEntityFissionController)te).formed ? (((TileEntityFissionController)te).active ? 3 : 2) : 1; return icons[8][status];
                case 5: return icons[8][0];
            }
            case 12: switch (side)
            {
                case 0: return icons[9][0];
                case 1: return icons[9][0];
                case 2: int status = ((TileEntityFissionPort)te).input ? 1 : 2; return icons[9][status];  <-- This line is crashing
                case 3: return icons[9][0];
                case 4: return icons[9][0];
                case 5: return icons[9][0];
            }
            case 13: switch (side)
            {
                case 0: return icons[9][0];
                case 1: return icons[9][0];
                case 2: return icons[9][0];
                case 3: return icons[9][0];
                case 4: return icons[9][0];
                case 5: int status = ((TileEntityFissionPort)te).input ? 1 : 2; return icons[9][status];
            }
            case 14: switch (side)
            {
                case 0: return icons[9][0];
                case 1: return icons[9][0];
                case 2: return icons[9][0];
                case 3: int status = ((TileEntityFissionPort)te).input ? 1 : 2; return icons[9][status];
                case 4: return icons[9][0];
                case 5: return icons[9][0];
            }
            case 15: switch (side)
            {
                case 0: return icons[9][0];
                case 1: return icons[9][0];
                case 2: return icons[9][0];
                case 3: return icons[9][0];
                case 4: int status = ((TileEntityFissionPort)te).input ? 1 : 2; return icons[9][status];
                case 5: return icons[9][0];
            }
        }
        return super.getIcon(world, x, y, z, side);
    }

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

    @Override
    public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side)
    {
        //return !(world.getBlock(x, y, z) instanceof BlockReactorComponent && world.getBlockMetadata(x, y, z) == 7);
        switch (side)
        {
            case 0: return !(world.getBlock(x, y, z) instanceof BlockReactorComponent && world.getBlockMetadata(x, y, z) == 7 && world.getBlockMetadata(x, y+1, z) == 7);
            case 1: return !(world.getBlock(x, y, z) instanceof BlockReactorComponent && world.getBlockMetadata(x, y, z) == 7 && world.getBlockMetadata(x, y-1, z) == 7);
            case 2: return !(world.getBlock(x, y, z) instanceof BlockReactorComponent && world.getBlockMetadata(x, y, z) == 7 && world.getBlockMetadata(x, y, z+1) == 7);
            case 3: return !(world.getBlock(x, y, z) instanceof BlockReactorComponent && world.getBlockMetadata(x, y, z) == 7 && world.getBlockMetadata(x, y, z-1) == 7);
            case 4: return !(world.getBlock(x, y, z) instanceof BlockReactorComponent && world.getBlockMetadata(x, y, z) == 7 && world.getBlockMetadata(x+1, y, z) == 7);
            case 5: return !(world.getBlock(x, y, z) instanceof BlockReactorComponent && world.getBlockMetadata(x, y, z) == 7 && world.getBlockMetadata(x-1, y, z) == 7);
        }
        return true;
    }

    @Override
    public int getLightValue(IBlockAccess world, int x, int y, int z)
    {
        if (world.getBlock(x, y, z) instanceof BlockReactorComponent && world.getBlockMetadata(x, y, z) == 2)
        {
            return 5;
        }
        return 0;
    }

    @Override
    public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z)
    {
        return false;
    }

    @Override
    public TileEntity createNewTileEntity(World world, int meta)
    {
        switch (meta)
        {
            case 0:  return new TileEntityFissionCasing();
            case 1:  return new TileEntityFissionControlRod();
            case 2:  return new TileEntityFissionCore();
            case 3:  //return new TileEntityFissionExchangerBasic();
            case 4:  //return new TileEntityFissionExchangerAdv();
            case 5:  //return new TileEntityFissionDissipatorBasic();
            case 6:  //return new TileEntityFissionDissipatorAdv();
            case 7:  return null;
            case 8:  return new TileEntityFissionController();
            case 9:  return new TileEntityFissionController();
            case 10: return new TileEntityFissionController();
            case 11: return new TileEntityFissionController();
            case 12: return new TileEntityFissionPort();
            case 13: return new TileEntityFissionPort();
            case 14: return new TileEntityFissionPort();
            case 15: return new TileEntityFissionPort();
            default: return null;
        }
    }
}

 

In getIcon(IBlockAccess world, int x, int y, int z, int side)  I am looking for the metadata 12 to get the icon that should face the player. As long as the block is in the players inventory, the metadata is 9. In onBlockPlaced I am setting the block metadata to 12, 13, 14 or 15 depending on the orientation of the player. As I am telling the block in createNewTileEntity that metadata 12 should be the TileEntityFissionPort, I don't really get why it is trying to cast a TileEntityFissionController to TileEntityFissionController. For the TileEntityFissionController I am doing the same (metadata 8-11) and it is working properly.

 

The crash report:

java.lang.ClassCastException: XFactHD.thermalreactors.common.blocks.machine.fissionReactor.TileEntityFissionController cannot be cast to XFactHD.thermalreactors.common.blocks.machine.fissionReactor.TileEntityFissionPort
at XFactHD.thermalreactors.common.blocks.machine.fissionReactor.BlockReactorComponent.getIcon(BlockReactorComponent.java:271) ~[blockReactorComponent.class:?]
at net.minecraft.client.renderer.RenderBlocks.getBlockIcon(RenderBlocks.java:8446) ~[RenderBlocks.class:?]
at net.minecraft.client.renderer.RenderBlocks.renderStandardBlockWithAmbientOcclusion(RenderBlocks.java:5248) ~[RenderBlocks.class:?]
at net.minecraft.client.renderer.RenderBlocks.renderStandardBlock(RenderBlocks.java:4427) ~[RenderBlocks.class:?]
at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:348) ~[RenderBlocks.class:?]
at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:207) ~[WorldRenderer.class:?]
at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1618) ~[RenderGlobal.class:?]
at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1263) ~[EntityRenderer.class:?]
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1087) ~[EntityRenderer.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067) ~[Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]
[01:09:49] [server thread/INFO]: Stopping server
[01:09:49] [Client thread/INFO] [sTDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: ---- Minecraft Crash Report ----
// You're mean.

Time: 06.02.16 01:09
Description: Unexpected error

java.lang.ClassCastException: XFactHD.thermalreactors.common.blocks.machine.fissionReactor.TileEntityFissionController cannot be cast to XFactHD.thermalreactors.common.blocks.machine.fissionReactor.TileEntityFissionPort
at XFactHD.thermalreactors.common.blocks.machine.fissionReactor.BlockReactorComponent.getIcon(BlockReactorComponent.java:271)
at net.minecraft.client.renderer.RenderBlocks.getBlockIcon(RenderBlocks.java:8446)
at net.minecraft.client.renderer.RenderBlocks.renderStandardBlockWithAmbientOcclusion(RenderBlocks.java:5248)
at net.minecraft.client.renderer.RenderBlocks.renderStandardBlock(RenderBlocks.java:4427)
at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:348)
at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:207)
at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1618)
at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1263)
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1087)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067)
at net.minecraft.client.Minecraft.run(Minecraft.java:962)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
at XFactHD.thermalreactors.common.blocks.machine.fissionReactor.BlockReactorComponent.getIcon(BlockReactorComponent.java:271)
at net.minecraft.client.renderer.RenderBlocks.getBlockIcon(RenderBlocks.java:8446)
at net.minecraft.client.renderer.RenderBlocks.renderStandardBlockWithAmbientOcclusion(RenderBlocks.java:5248)
at net.minecraft.client.renderer.RenderBlocks.renderStandardBlock(RenderBlocks.java:4427)
at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:348)
at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:207)
at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1618)
at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1263)

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityClientPlayerMP['XFactHD'/59, l='MpServer', x=273,21, y=64,62, z=402,35]]
Chunk stats: MultiplayerChunkCache: 625, 625
Level seed: 0
Level generator: ID 00 - default, ver 1. Features enabled: false
Level generator options: 
Level spawn location: World: (228,64,256), Chunk: (at 4,4,0 in 14,16; contains blocks 224,0,256 to 239,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
Level time: 1752917 game time, 6000 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 1 total; [EntityClientPlayerMP['XFactHD'/59, l='MpServer', x=273,21, y=64,62, z=402,35]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:415)
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2566)
at net.minecraft.client.Minecraft.run(Minecraft.java:991)
at net.minecraft.client.main.Main.main(Main.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.8.0_45, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 789752344 bytes (753 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1448 11 mods loaded, 11 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCHIJAAAA	mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
UCHIJAAAA	FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1448-1.7.10.jar) 
UCHIJAAAA	Forge{10.13.4.1448} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1448-1.7.10.jar) 
UCHIJAAAA	CodeChickenCore{1.0.7.46} [CodeChicken Core] (minecraft.jar) 
UCHIJAAAA	NotEnoughItems{1.0.5.111} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.5.111-universal.jar) 
UCHIJAAAA	<CoFH ASM>{000} [CoFH ASM] (minecraft.jar) 
UCHIJAAAA	CoFHCore{1.7.10R3.0.3} [CoFH Core] (CoFHCore-[1.7.10]3.0.3-303-dev.jar) 
UCHIJAAAA	ThermalFoundation{1.7.10R1.2.0} [Thermal Foundation] (ThermalFoundation-[1.7.10]1.2.0-102-dev.jar) 
UCHIJAAAA	ThermalExpansion{1.7.10R4.0.3B1} [Thermal Expansion] (ThermalExpansion-[1.7.10]4.0.3B1-218-dev.jar) 
UCHIJAAAA	thermalreactors{0.0.1.2} [ThermalReactions] (ThermalReactions) 
UCHIJAAAA	ThermalDynamics{1.7.10R1.1.0} [Thermal Dynamics] (ThermalDynamics-[1.7.10]1.1.0-161.jar) 
GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 352.86' Renderer: 'GeForce GTX 760/PCIe/SSE2'
CoFHCore: -[1.7.10]3.0.3-303
ThermalFoundation: -[1.7.10]1.2.0-102
ThermalExpansion: -[1.7.10]4.0.3B1-218
ThermalDynamics: -[1.7.10]1.1.0-161
Launched Version: 1.7.10
LWJGL: 2.9.1
OpenGL: GeForce GTX 760/PCIe/SSE2 GL version 4.5.0 NVIDIA 352.86, NVIDIA Corporation
GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.

Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: []
Current Language: English (UK)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Anisotropic Filtering: Off (1)

Posted
int status = ((TileEntityFissionController)te).formed ? (((TileEntityFissionController)te).active ? 3 : 2) : 1; return icons[8]

Why allocate it to a variable as opposed to

return icons[((TileEntityFissionController)te).formed ? (((TileEntityFissionController)te).active ? 3 : 2) : 1];

 

And don't run unnecessary switches.

            case 15: switch (side){
                         return icons[9][side != 4 ? 0 : (TileEntityFissionPort)te).input ? 1 : 2; ];
                         break;
                     }

 

Aside from that it's tough reading through the switch web you have there... Do you have a git or anything easier on the eyes?

I think its my java of the variables.

Posted

You're trying to cast a TileEntityFissionController to a TileEntityFissionPort. In order to do this, one must extend the other.

 

I'm guessing that both of those classes extend a more generic class, probably something like TileEntityReactorComponent. Thus, the cast is not going to work. This is because of inheritance.

OGaaTMI.png

What happens is the Controller inherits everything from Component. The Port inherits everything from Component. The Port and the Controller have no relation to eachother. Casting is not possible.

 

You should check if that tileentity is an instanceof TileEntityReactorComponent or TileEntityReactorPort before entering a switch statement that might try to cast one to the other.

Did I help you? Don't be afraid to give that 'thank you' button a good smack for me!

It's been looking at me weirdly for a while now.

Posted

The TileEntityFissionPort class and the TileEntityFissionController extend TileEntityBaseTR, a base class for all my TEs. I know what a class cast exception means, that's not the problem. I am casting the basic TileEntity I get from some coordinates to TileEntityFissionPort when the metadata of the BlockReactorComponent at the same coordinates is 12. In createNewTileEntity I say that a block with metadata 12, 13, 14 or 15 should have that TileEntity. I am not getting why it tries to cast a TileEntityFissionPort to a TileEntityFissionController when there should be a TileEntityFissionPort at that position. Am I trying to get the TileEntity to early because I am changing the metadata in onBlockPlaced based on the player rotation?

Posted

I know that the code is not really clean in some spaces but thanks for the hint, my way of thinking isn't always really straightforward.

The over switching thing is more of an efficiency thing especially if you're rendering a few of these things, and readabilitywise the code boxes on here only go so far haha. Much easier to read through on git(my code gets to be an eyesore at points)

 

That said could you add a temporary check to make sure it's not a world error

    @Override
    public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
    {
        int meta = world.getBlockMetadata(x, y, z);
        TileEntity te = world.getTileEntity(x, y, z);
        if(meta==12)
           System.out.println(te.getClass() + '@' + x +',' + y + ',' + z );

Sometimes you can change a value and corrupt your test world's save data and it looks like an error on your end

I think its my java of the variables.

Posted

I put that check in there and in my test world as well as in a new world, it tells me that the TileEntity is TileEntityFissionController. Is the TileEntity placed before I change the metadata in onBlockPlacedBy?

 

Also, I changed the switch statements and they like like that now:

@Override
    public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
    {
        int meta = world.getBlockMetadata(x, y, z);
        TileEntity te = world.getTileEntity(x, y, z);
        switch (meta)
        {
            case 0: return icons[0][0];
            case 1: return (side!=0&&side!=1) ? icons[1][0] : icons[1][side==0 ? 2 : 1];

            case 2: return (side==0||side==1) ? icons[2][0] : icons[2][1];

            case 3: return (side!=0&&side!=1) ? icons[3][0] : icons[6][side==0 ? 2 : 1];

            case 4: return (side!=0&&side!=1) ? icons[4][0] : icons[6][side==0 ? 2 : 1];

            case 5: return (side!=0&&side!=1) ? icons[5][0] : icons[6][side==0 ? 2 : 1];

            case 6: return (side!=0&&side!=1) ? icons[6][0] : icons[6][side==0 ? 2 : 1];

            case 7: return icons[7][0];

            case 8: return side != 2 ? icons[8][0] : icons[8][((TileEntityFissionController)te).formed ? (((TileEntityFissionController)te).active ? 3 : 2) : 1];
            case 9: return side != 5 ? icons[8][0] : icons[8][((TileEntityFissionController)te).formed ? (((TileEntityFissionController)te).active ? 3 : 2) : 1];
            case 10: return side != 3 ? icons[8][0] : icons[8][((TileEntityFissionController)te).formed ? (((TileEntityFissionController)te).active ? 3 : 2) : 1];
            case 11: return side != 4 ? icons[8][0] : icons[8][((TileEntityFissionController)te).formed ? (((TileEntityFissionController)te).active ? 3 : 2) : 1];

            case 12: return side != 2 ? icons[9][0] : icons[9][((TileEntityFissionPort)te).input ? 1 : 2];
            case 13: return side != 5 ? icons[9][0] : icons[9][((TileEntityFissionPort)te).input ? 1 : 2];
            case 14:  return side != 3 ? icons[9][0] : icons[9][((TileEntityFissionPort)te).input ? 1 : 2];
            case 15: return side != 4 ? icons[9][0] : icons[9][((TileEntityFissionPort)te).input ? 1 : 2];
        }
        return super.getIcon(world, x, y, z, side);
    }

Posted

Is the TileEntity placed before I change the metadata in onBlockPlacedBy?

 

Not sure, but there's an easy way to check. Do a console output to see what the meta is. You could also put console outputs in both the onBlockPlacedBy function and the createNewTileEntity functions to see which is called first.

Did I help you? Don't be afraid to give that 'thank you' button a good smack for me!

It's been looking at me weirdly for a while now.

Posted

It seems that createNewTileEntity is called every tick :-\ which explains the problem. In the log I get several times the output from createNewTileEntity, then the output from setting the meta and after that the spam from createNewTileEntity continues.

Posted

This probably isn't the answer you're looking for, but would you consider making a new block for each tileentity? It would prevent mixing up different tileentities types, and also end up with cleaner looking code. I've never actually tried making several blocks from the same class, so I'm not too clear about the benefits of doing so.

Did I help you? Don't be afraid to give that 'thank you' button a good smack for me!

It's been looking at me weirdly for a while now.

Posted

You can't have multiple TileEntities created for a single Block, and I'm pretty sure you can't register multiple tile entity classes to a single Block class (or rather, doing so wouldn't do what you want, as later registrations override the initial registration).

 

Besides, trying to splice a Block into two different TileEntities based on metadata is ridiculous - whatever conditional functionality you want to achieve can be done in a single TileEntity class, e.g.

// any TileEntity method:
if (blockMeta < 7) {
  // perform duty 1
} else {
  // perform duty 2
}

However, if the TileEntity's functionality is really different, you probably should consider making 2 different blocks.

Posted

There are only 4096 possible block IDs (this is already extended by forge) so the main benefit is to save block IDs. If I did what you suggested, everybody would yell at me that I am eating up all of their block IDs. I got a solution that works perfect with blocks using the standard block rendering: I switched the facing of the blocks completely over to NBT because all the blocks that need this have a TileEntity nonetheless.

Also, no matter what mod you look at (Immersive Engineering, EnderIO, PneumaticCraft), they all use those metadata based sub blocks to save block IDs, so yes, you can attach different TileEntitys to one block with different metadata. If it weren't possible or not intended to be done, why would createNewTileEntity have the block metadata as one parameter?

Posted

Also, no matter what mod you look at (Immersive Engineering, EnderIO, PneumaticCraft), they all use those metadata based sub blocks to save block IDs, so yes, you can attach different TileEntitys to one block with different metadata.

Not exactly sure where you're coming from here.

Here's EnderIO's blocks: EnderIO's Github

Here's PneumaticCraft's blocks: PneumaticCraft's Github

Out of the three examples you gave, only Immersive Engineering actually has blocks returning multiple TileEntities. It's definitely possible, but it's not a something that is widely practiced.

Did I help you? Don't be afraid to give that 'thank you' button a good smack for me!

It's been looking at me weirdly for a while now.

Posted

Usually sub-blocks do not include separate tile entities, but things like wool with different colors, or logs, etc. I'm not saying it's impossible as I don't know that to be a fact, but I haven't ever seen it done and it seems like a bad idea, in my opinion.

 

Saving a block ID is not worth the headache and fugly code caused by trying to have more than one TileEntity in a single Block.

 

But anyway, opinions aside, it seems like the client-side version of the TileEntity is the wrong class, at least temporarily, causing your game to crash when it first tries to access the icon. If you did an instanceof check before doing any casting, as others have suggested, you could prevent the crash, allowing you to figure out if things work out after that.

 

E.g.

@Override
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
  int meta = world.getBlockMetadata(x, y, z);
  TileEntity te = world.getTileEntity(x, y, z);
  if (meta > 11) {
    if (!(te instanceof TileEntityFissionPort)) {
       // log error - incorrect TileEntity for this metadata
       // return base block icon
    }
    // return icons based on meta and TileEntityFissionPort
  } else if (meta > 7) {
     // same as above for other TileEntity
  } else {
    // non-TE based icons
  }

Posted

Sorry, I was probably a bit to fast and didn't look at the source of EnderIO and PneumaticCraft, I should probably have done that. But nonetheless, I worked around the problem by making the block rotation NBT data based. This also means that I can now add all the blocks for the reactor in one block ID. I have to admit that I am mostly trying to learn from the code from BluSunrize because I think it is very clear and understandable but that again is an opinion. One thing that tells that metadata based subblocks with multiple tileentities should be used more is that I am seeing more and more people coming to github and saying: "Your mod isn't working, I have some kind of crash here" and then the crash report says "invalid block ID".

Posted

Glad you got it working! Don't forget to mark the thread "solved".

Did I help you? Don't be afraid to give that 'thank you' button a good smack for me!

It's been looking at me weirdly for a while now.

Posted

Glad you got it working! Don't forget to mark the thread "solved".

What's with so many people saying this lately? O.o

 

"Your mod isn't working, I have some kind of crash here" and then the crash report says "invalid block ID".

Keep in mind that the only way you'll ever run out of block IDs is if you have so many mods installed that you have over 4096 blocks... that's a TON of blocks.

 

While there are certainly some mods that could benefit from consolidating some of their blocks into one, this will only buy you a few more blocks before you run out again. There will always be a limit. I don't think the gain is generally worth it in terms of code maintainability when the blocks being consolidated are completely unrelated. I'd much rather have readable code and a few less mods than the other way around, but I often seem to be a minority in such matters :P

Posted

If you have multiple tile entities for one block, you only write so many lines more as you have sub blocks, I don't think that's fugly in that matter. I mean, one tile entity, no matter if it is on a sub block or on a completely independent block, has much more code than the block class with all its sub blocks and the texture getters. Anyway, thank you all for your help.

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

    • Hi! I setup and run MC forge MDK on Linux. Reading the code of the example mod, I expect to some entries in the log located in ./run/logs/latest.log. I can see the entries from commonSetup(): forge-1.21.7-57.0.2-mdk $ grep moellendorf -r ./run/logs/latest.log [01Sep2025 11:28:16.980] [Worker-Main-12/INFO] [eu.moellendorf.myfirstmod.MyFirstMod/]: HELLO FROM COMMON SETUP [01Sep2025 11:28:16.980] [Worker-Main-12/INFO] [eu.moellendorf.myfirstmod.MyFirstMod/]: DIRT BLOCK >> minecraft:dirt [01Sep2025 11:28:16.980] [Worker-Main-12/INFO] [eu.moellendorf.myfirstmod.MyFirstMod/]: The magic number is... 42 [01Sep2025 11:28:16.980] [Worker-Main-12/INFO] [eu.moellendorf.myfirstmod.MyFirstMod/]: ITEM >> minecraft:iron_ingot But I cannot see the log entries from onClientSetup(). I expect to see: "HELLO FROM CLIENT SETUP" "MINECRAFT NAME >> " and my user's name (presumably "dev") What am I missing?
    • https://privatebin.net/?2a9b1a4d5463d329#9dD7p6S8gGsRgaKYugj4QC6XqkmHxBU1m1GjnM8fm6s2
    • id love some help understanding on how to fix my modpack so im able to use it, it loads but crashes roughly midway through, it says "The game crashed: rendering overlay Error: java.lang.RuntimeException: net.minecraft.server.ChainedJsonException: Invalid shaders/core/particle.json: File not found" Exit Code -1   ---- Minecraft Crash Report ---- // Ouch. That hurt Time: 2025-08-31 16:00:52 Description: Rendering overlay java.lang.RuntimeException: net.minecraft.server.ChainedJsonException: Invalid shaders/core/particle.json: File not found     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.handler$cco000$watut$onLoadShaders(GameRenderer.java:3279) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.reloadShaders(GameRenderer.java:731) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer$1.apply(GameRenderer.java:386) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer$1.apply(GameRenderer.java:361) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.SimplePreparableReloadListener.lambda$reload$1(SimplePreparableReloadListener.java:19) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,re:computing_frames,re:classloading,pl:mixin:APP:moonlight.mixins.json:ConditionHackMixin from mod moonlight,pl:mixin:A}     at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?] {}     at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.SimpleReloadInstance.lambda$new$3(SimpleReloadInstance.java:69) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:classloading,pl:accesstransformer:B}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:148) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,re:computing_frames,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:111) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.runTick(Minecraft.java:1155) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,pl:mixin:APP:xaeroworldmap.mixins.json:MixinMinecraftClient from mod xaeroworldmap,pl:mixin:APP:xaeroworldmap.neoforge.mixins.json:MixinForgeMinecraftClient from mod xaeroworldmap,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:mixins.underlay.json:MinecraftMixin from mod underlay,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:xaerohud.mixins.json:MixinMinecraftClient from mod xaerominimap,pl:mixin:APP:vampirism.mixins.json:client.MinecraftMixin from mod vampirism,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:euphoria_patcher.mixins.json:ReloadShadersOnDimensionChangeMixin from mod euphoria_patcher,pl:mixin:APP:euphoria_patcher.mixins.json:ClientTickMixin from mod euphoria_patcher,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.run(Minecraft.java:807) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,pl:mixin:APP:xaeroworldmap.mixins.json:MixinMinecraftClient from mod xaeroworldmap,pl:mixin:APP:xaeroworldmap.neoforge.mixins.json:MixinForgeMinecraftClient from mod xaeroworldmap,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:mixins.underlay.json:MinecraftMixin from mod underlay,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:xaerohud.mixins.json:MixinMinecraftClient from mod xaerominimap,pl:mixin:APP:vampirism.mixins.json:client.MinecraftMixin from mod vampirism,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:euphoria_patcher.mixins.json:ReloadShadersOnDimensionChangeMixin from mod euphoria_patcher,pl:mixin:APP:euphoria_patcher.mixins.json:ClientTickMixin from mod euphoria_patcher,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.main.Main.main(Main.java:230) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:euphoria_patcher.mixins.json:EuphoriaPatcherMixin from mod euphoria_patcher,pl:mixin:A,pl:runtimedistcleaner:A}     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}     at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {re:mixin}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:136) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:32) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:103) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:74) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-11.0.5.jar%23112!/:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.run(BootstrapLauncher.java:210) [bootstraplauncher-2.0.2.jar:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:69) [bootstraplauncher-2.0.2.jar:?] {} Caused by: net.minecraft.server.ChainedJsonException: Invalid shaders/core/particle.json: File not found     at TRANSFORMER/[email protected]/net.minecraft.server.ChainedJsonException.forException(ChainedJsonException.java:48) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.ShaderInstance.<init>(ShaderInstance.java:157) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramAccessor from mod owo,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.ShaderInstance.<init>(ShaderInstance.java:99) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramAccessor from mod owo,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/com.corosus.watut.ShaderInstanceBlur.<init>(ShaderInstanceBlur.java:27) ~[watut-neoforge-1.21.0-1.2.7.jar%23472!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.handler$cco000$watut$onLoadShaders(GameRenderer.java:3265) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     ... 29 more Caused by: java.io.FileNotFoundException: minecraft:shaders/core/particle.json     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.ResourceProvider.lambda$getResourceOrThrow$1(ResourceProvider.java:23) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:classloading,re:mixin}     at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[?:?] {re:mixin}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.ResourceProvider.getResourceOrThrow(ResourceProvider.java:23) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:classloading,re:mixin}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.ResourceProvider.openAsReader(ResourceProvider.java:31) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:classloading,re:mixin}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.ShaderInstance.<init>(ShaderInstance.java:106) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramAccessor from mod owo,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.ShaderInstance.<init>(ShaderInstance.java:99) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramAccessor from mod owo,pl:mixin:APP:owo.mixins.json:shader.ShaderProgramMixin from mod owo,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/com.corosus.watut.ShaderInstanceBlur.<init>(ShaderInstanceBlur.java:27) ~[watut-neoforge-1.21.0-1.2.7.jar%23472!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.handler$cco000$watut$onLoadShaders(GameRenderer.java:3265) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     ... 29 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.handler$cco000$watut$onLoadShaders(GameRenderer.java:3279) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.reloadShaders(GameRenderer.java:731) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer$1.apply(GameRenderer.java:386) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer$1.apply(GameRenderer.java:361) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.SimplePreparableReloadListener.lambda$reload$1(SimplePreparableReloadListener.java:19) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,re:computing_frames,re:classloading,pl:mixin:APP:moonlight.mixins.json:ConditionHackMixin from mod moonlight,pl:mixin:A}     at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?] {}     at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {}     at TRANSFORMER/[email protected]/net.minecraft.server.packs.resources.SimpleReloadInstance.lambda$new$3(SimpleReloadInstance.java:69) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:classloading,pl:accesstransformer:B}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:148) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,re:computing_frames,re:classloading}     at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B} -- Overlay render details -- Details:     Overlay name: net.neoforged.neoforge.client.loading.NeoForgeLoadingOverlay Stacktrace:     at TRANSFORMER/[email protected]/net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:1084) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.runTick(Minecraft.java:1195) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,pl:mixin:APP:xaeroworldmap.mixins.json:MixinMinecraftClient from mod xaeroworldmap,pl:mixin:APP:xaeroworldmap.neoforge.mixins.json:MixinForgeMinecraftClient from mod xaeroworldmap,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:mixins.underlay.json:MinecraftMixin from mod underlay,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:xaerohud.mixins.json:MixinMinecraftClient from mod xaerominimap,pl:mixin:APP:vampirism.mixins.json:client.MinecraftMixin from mod vampirism,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:euphoria_patcher.mixins.json:ReloadShadersOnDimensionChangeMixin from mod euphoria_patcher,pl:mixin:APP:euphoria_patcher.mixins.json:ClientTickMixin from mod euphoria_patcher,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.run(Minecraft.java:807) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:owo.mixins.json:MinecraftClientMixin from mod owo,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,pl:mixin:APP:xaeroworldmap.mixins.json:MixinMinecraftClient from mod xaeroworldmap,pl:mixin:APP:xaeroworldmap.neoforge.mixins.json:MixinForgeMinecraftClient from mod xaeroworldmap,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:mixins.underlay.json:MinecraftMixin from mod underlay,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:xaerohud.mixins.json:MixinMinecraftClient from mod xaerominimap,pl:mixin:APP:vampirism.mixins.json:client.MinecraftMixin from mod vampirism,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:euphoria_patcher.mixins.json:ReloadShadersOnDimensionChangeMixin from mod euphoria_patcher,pl:mixin:APP:euphoria_patcher.mixins.json:ClientTickMixin from mod euphoria_patcher,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.main.Main.main(Main.java:230) ~[client-1.21.1-20240808.144430-srg.jar%23332!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:euphoria_patcher.mixins.json:EuphoriaPatcherMixin from mod euphoria_patcher,pl:mixin:A,pl:runtimedistcleaner:A}     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] {}     at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] {re:mixin}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:136) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:32) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-4.0.41.jar%23107!/:4.0] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.run(Launcher.java:103) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.Launcher.main(Launcher.java:74) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-11.0.5.jar%23112!/:?] {}     at MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-11.0.5.jar%23112!/:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.run(BootstrapLauncher.java:210) [bootstraplauncher-2.0.2.jar:?] {}     at [email protected]/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:69) [bootstraplauncher-2.0.2.jar:?] {} -- Uptime -- Details:     JVM uptime: 68.541s     Wall uptime: 8.165s     High-res time: 65.345s     Client ticks: 45 ticks / 2.250s -- Last reload -- Details:     Reload number: 1     Reload reason: initial     Finished: No     Packs: vanilla -- System Details -- Details:     Minecraft Version: 1.21.1     Minecraft Version ID: 1.21.1     Operating System: Windows 11 (amd64) version 10.0     Java Version: 21.0.7, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 333080240 bytes (317 MiB) / 1207959552 bytes (1152 MiB) up to 25467813888 bytes (24288 MiB)     CPUs: 6     Processor Vendor: GenuineIntel     Processor Name: Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz     Identifier: Intel64 Family 6 Model 158 Stepping 10     Microarchitecture: Coffee Lake     Frequency (GHz): 2.90     Number of physical packages: 1     Number of physical CPUs: 6     Number of logical CPUs: 6     Graphics card #0 name: NVIDIA GeForce RTX 2060     Graphics card #0 vendor: NVIDIA     Graphics card #0 VRAM (MiB): 6144.00     Graphics card #0 deviceId: VideoController1     Graphics card #0 versionInfo: 32.0.15.8115     Memory slot #0 capacity (MiB): 16384.00     Memory slot #0 clockSpeed (GHz): 2.67     Memory slot #0 type: DDR4     Memory slot #1 capacity (MiB): 16384.00     Memory slot #1 clockSpeed (GHz): 2.67     Memory slot #1 type: DDR4     Virtual memory max (MiB): 34689.63     Virtual memory used (MiB): 16736.30     Swap memory total (MiB): 2048.00     Swap memory used (MiB): 115.00     Space in storage for jna.tmpdir (MiB): available: 112516.42, total: 953868.00     Space in storage for org.lwjgl.system.SharedLibraryExtractPath (MiB): available: 112516.42, total: 953868.00     Space in storage for io.netty.native.workdir (MiB): available: 112516.42, total: 953868.00     Space in storage for java.io.tmpdir (MiB): available: 8152.79, total: 242709.16     Space in storage for workdir (MiB): available: 112516.42, total: 953868.00     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx24288m -Xms256m     Launched Version: neoforge-21.1.205     Launcher name: minecraft-launcher     Backend library: LWJGL version 3.3.3+5     Backend API: NVIDIA GeForce RTX 2060/PCIe/SSE2 GL version 4.6.0 NVIDIA 581.15, NVIDIA Corporation     Window size: 1024x768     GFLW Platform: win32     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages:      Is Modded: Definitely; Client brand changed to 'neoforge'     Universe: 400921fb54442d18     Type: Client (map_client.txt)     Graphics mode: fancy     Render Distance: 12/12 chunks     Resource Packs: vanilla     Current Language: en_us     Locale: en_US     System encoding: Cp1252     File encoding: UTF-8     CPU: 6x Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz     ModLauncher: 11.0.5+main.901c6ea8     ModLauncher launch target: forgeclient     ModLauncher services:          sponge-mixin-0.15.2+mixin.0.8.7.jar mixin PLUGINSERVICE          loader-4.0.41.jar slf4jfixer PLUGINSERVICE          loader-4.0.41.jar runtime_enum_extender PLUGINSERVICE          at-modlauncher-10.0.1.jar accesstransformer PLUGINSERVICE          loader-4.0.41.jar runtimedistcleaner PLUGINSERVICE          modlauncher-11.0.5.jar mixin TRANSFORMATIONSERVICE          modlauncher-11.0.5.jar fml TRANSFORMATIONSERVICE      FML Language Providers:          [email protected]         [email protected]         [email protected]         [email protected]         [email protected]     Mod List:          skinlayers3d-neoforge-1.9.0-mc1.21.jar            |3d-Skin-Layers                |skinlayers3d                  |1.9.0               |Manifest: NOSIGNATURE         letsdo-brewery-neoforge-2.1.1.jar                 |[Let's Do] Brewery            |brewery                       |2.1.1               |Manifest: NOSIGNATURE         letsdo-candlelight-neoforge-2.1.0.jar             |[Let's Do] Candlelight        |candlelight                   |2.1.0               |Manifest: NOSIGNATURE         letsdo-farm_and_charm-neoforge-1.1.2.jar          |[Let's Do] Farm & Charm       |farm_and_charm                |1.1.2               |Manifest: NOSIGNATURE         letsdo-furniture-neoforge-1.1.0.jar               |[Let's Do] Furniture          |furniture                     |1.1.0               |Manifest: NOSIGNATURE         letsdo-herbalbrews-neoforge-1.1.0.jar             |[Let's Do] HerbalBrews        |herbalbrews                   |1.1.0               |Manifest: NOSIGNATURE         accessories-neoforge-1.1.0-beta.49+1.21.1.jar     |Accessories                   |accessories                   |1.1.0-beta.49+1.21.1|Manifest: NOSIGNATURE         additionallanterns-1.1.2-neoforge-mc1.21.jar      |Additional Lanterns           |additionallanterns            |1.1.2               |Manifest: NOSIGNATURE         amendments-1.21-2.0.5-neoforge.jar                |Amendments                    |amendments                    |1.21-2.0.5          |Manifest: NOSIGNATURE         another_furniture-neoforge-4.0.0.jar              |Another Furniture             |another_furniture             |4.0.0               |Manifest: NOSIGNATURE         Aquaculture-1.21.1-2.7.14.jar                     |Aquaculture 2                 |aquaculture                   |2.7.14              |Manifest: NOSIGNATURE         aquaculturedelight-1.2.0-neoforge-1.21.1.jar      |Aquaculture Delight           |aquaculturedelight            |1.2.0               |Manifest: NOSIGNATURE         architectury-13.0.8-neoforge.jar                  |Architectury                  |architectury                  |13.0.8              |Manifest: NOSIGNATURE         ArmorTrimItemFix-neoforge-1.21.1-1.2.0.jar        |Armor Trim Item Fix           |armortrimitemfix              |1.2.0               |Manifest: NOSIGNATURE         athena-neoforge-1.21-4.0.2.jar                    |Athena                        |athena                        |4.0.2               |Manifest: NOSIGNATURE         balm-neoforge-1.21.1-21.0.49.jar                  |Balm                          |balm                          |21.0.49             |Manifest: NOSIGNATURE         beautify-neoforge-1.21.1-2.0.2.jar                |Beautify                      |beautify                      |2.0.2               |Manifest: NOSIGNATURE         benssharks-1.2.6-neoforge-1.21.1.jar              |Ben's Sharks                  |benssharks                    |1.2.6               |Manifest: NOSIGNATURE         BetterAdvancements-NeoForge-1.21.1-0.4.3.21.jar   |Better Advancements           |betteradvancements            |0.4.3.21            |Manifest: NOSIGNATURE         blahaj-neoforge-1.21.1-2.0.2.jar                  |Blåhaj                        |blahaj                        |2.0.0               |Manifest: NOSIGNATURE         bookshelf-neoforge-1.21.1-21.1.68.jar             |Bookshelf                     |bookshelf                     |21.1.68             |Manifest: NOSIGNATURE         caelus-neoforge-7.0.1+1.21.1.jar                  |Caelus API                    |caelus                        |7.0.1+1.21.1        |Manifest: NOSIGNATURE         Chimes-v2.0.3-1.21.1-NeoForge.jar                 |Chimes                        |chimes                        |2.0.3               |Manifest: NOSIGNATURE         chipped-neoforge-1.21.1-4.0.2.jar                 |Chipped                       |chipped                       |4.0.2               |Manifest: NOSIGNATURE         cleanswing-1.9.jar                                |Clean Swing                   |cleanswing                    |1.9                 |Manifest: NOSIGNATURE         comforts-neoforge-9.0.4+1.21.1.jar                |Comforts                      |comforts                      |9.0.4+1.21.1        |Manifest: NOSIGNATURE         cgl-1.21-neoforge-0.5.1.jar                       |CommonGroovyLibrary           |commongroovylibrary           |0.5.1               |Manifest: NOSIGNATURE         conditional-mixin-neoforge-0.6.3.jar              |conditional mixin             |conditional_mixin             |0.6.3               |Manifest: NOSIGNATURE         configured-neoforge-1.21.1-2.6.0.jar              |Configured                    |configured                    |2.6.0               |Manifest: 0d:78:5f:44:c0:47:0c:8c:e2:63:a3:04:43:d4:12:7d:b0:7c:35:37:dc:40:b1:c1:98:ec:51:eb:3b:3c:45:99         connectedglass-1.1.14-neoforge-mc1.21.jar         |Connected Glass               |connectedglass                |1.1.14              |Manifest: NOSIGNATURE         cookingforblockheads-neoforge-1.21.1-21.1.16.jar  |Cooking for Blockheads        |cookingforblockheads          |21.1.16             |Manifest: NOSIGNATURE         coroutil-neoforge-1.21.0-1.3.8.jar                |CoroUtil                      |coroutil                      |1.21.0-1.3.8        |Manifest: NOSIGNATURE         corpse-neoforge-1.21.1-1.1.10.jar                 |Corpse                        |corpse                        |1.21.1-1.1.10       |Manifest: NOSIGNATURE         cosmeticarmorreworked-1.21.1-v1-neoforge.jar      |CosmeticArmorReworked         |cosmeticarmorreworked         |1.21.1-v1-neoforge  |Manifest: 5e:ed:25:99:e4:44:14:c0:dd:89:c1:a9:4c:10:b5:0d:e4:b1:52:50:45:82:13:d8:d0:32:89:67:56:57:01:53         crabbersdelight-1.21.1-1.1.10.jar                 |Crabber's Delight             |crabbersdelight               |1.1.10              |Manifest: NOSIGNATURE         craftableanimalsneo-1.9.0-neoforge-1.21.1.jar     |CraftableAnimalsNEO           |craftableanimalsneo           |1.9.0               |Manifest: NOSIGNATURE         crittersandcompanions-neoforge-1.21.1-2.3.1.jar   |Critters and Companions       |crittersandcompanions         |1.21.1-2.3.1        |Manifest: NOSIGNATURE         cuisinedelight-1.2.6.jar                          |Cuisine Delight               |cuisinedelight                |1.2.6               |Manifest: NOSIGNATURE         culturaldelights-0.17.7.jar                       |Cultural Delights             |culturaldelights              |0.17.7              |Manifest: NOSIGNATURE         curios-neoforge-9.5.1+1.21.1.jar                  |Curios API                    |curios                        |9.5.1+1.21.1        |Manifest: NOSIGNATURE         curious_armor_stands-8.0.0.jar                    |Curious Armor Stands          |curious_armor_stands          |8.0.0               |Manifest: NOSIGNATURE         dawnoftimebuilder-neoforge-1.21.1-1.6.1.jar       |DawnOfTimeBuilder             |dawnoftimebuilder             |1.6.1               |Manifest: NOSIGNATURE         displaydelight-1.3.0.jar                          |Display Delight               |displaydelight                |1.3.0               |Manifest: NOSIGNATURE         DustyDecorationsNeoforged_1.21.1_V1.8.1.jar       |Dusty Decorations             |dustydecorations              |1.8.1               |Manifest: NOSIGNATURE         DyedFlames-v21.1.1-1.21.1-NeoForge.jar            |Dyed Flames                   |dyedflames                    |21.1.1              |Manifest: NOSIGNATURE         EasyAnvils-v21.1.0-1.21.1-NeoForge.jar            |Easy Anvils                   |easyanvils                    |21.1.0              |Manifest: NOSIGNATURE         Easy Diamond-neoforge-1.21.1-3.4.8.1.jar          |Easy Diamond                  |diamond                       |3.4.8               |Manifest: NOSIGNATURE         EasyMagic-v21.1.0-1.21.1-NeoForge.jar             |Easy Magic                    |easymagic                     |21.1.0              |Manifest: NOSIGNATURE         easy_mob_farm-neoforge-1.21.1-10.0.0.jar          |Easy Mob Farm                 |easy_mob_farm                 |0.0NONE             |Manifest: NOSIGNATURE         Easy Netherite-neoforge-1.21.1-1.2.6.jar          |Easy Netherite                |netherite                     |1.2.6               |Manifest: NOSIGNATURE         easy-piglins-neoforge-1.21.1-1.0.14.jar           |Easy Piglins                  |easy_piglins                  |1.21.1-1.0.14       |Manifest: NOSIGNATURE         EasyShulkerBoxes-v21.1.3-1.21.1-NeoForge.jar      |Easy Shulker Boxes            |easyshulkerboxes              |21.1.3              |Manifest: NOSIGNATURE         easy-villagers-neoforge-1.21.1-1.1.23.jar         |Easy Villagers                |easy_villagers                |1.21.1-1.1.23       |Manifest: NOSIGNATURE         eatinganimation-1.21.0-6.0.1.jar                  |Eating Animation              |eatinganimation               |6.0.1               |Manifest: NOSIGNATURE         EggDelight-v1.2-1.21.1.jar                        |Egg Delight                   |eggdelight                    |1.2                 |Manifest: NOSIGNATURE         elytraslot-neoforge-9.0.2+1.21.1.jar              |Elytra Slot                   |elytraslot                    |9.0.2+1.21.1        |Manifest: NOSIGNATURE         elytratrims-neoforge-3.5.9+1.21.1.jar             |Elytra Trims                  |elytratrims                   |3.5.9               |Manifest: NOSIGNATURE         enchdesc-neoforge-1.21.1-21.1.8.jar               |EnchantmentDescriptions       |enchdesc                      |21.1.8              |Manifest: NOSIGNATURE         endersdelight-neoforge-1.21.1-1.1.0.jar           |Ender's Delight               |endersdelight                 |1.1.0               |Manifest: NOSIGNATURE         EuphoriaPatcher-1.6.5-r5.5.1-neoforge.jar         |Euphoria Patcher              |euphoria_patcher              |1.6.5-r5.5.1-neoforg|Manifest: NOSIGNATURE         FarmersDelight-1.21.1-1.2.9.jar                   |Farmer's Delight              |farmersdelight                |1.2.9               |Manifest: NOSIGNATURE         farmingforblockheads-neoforge-1.21.1-21.1.8.jar   |Farming for Blockheads        |farmingforblockheads          |21.1.8              |Manifest: NOSIGNATURE         FastSuite-1.21.1-6.0.5.jar                        |Fast Suite                    |fastsuite                     |6.0.5               |Manifest: NOSIGNATURE         Ferdinand's Flowers 4.0 - 1.21.1 - neoforge.jar   |Ferdinand's Flowers           |ferdinandsflowers             |4.0                 |Manifest: NOSIGNATURE         Floral Enchantment-neoforge-1.21.1-1.1.0.jar      |Floral Enchantment            |floralench                    |1.1.0               |Manifest: NOSIGNATURE         ForgeConfigAPIPort-v21.1.4-1.21.1-NeoForge.jar    |Forge Config API Port         |forgeconfigapiport            |21.1.4              |Manifest: NOSIGNATURE         fabric-api-base-0.4.42+d1308dedd1.jar             |Forgified Fabric API Base     |fabric_api_base               |0.4.42+d1308dedd1   |Manifest: NOSIGNATURE         FramedBlocks-10.4.0.jar                           |FramedBlocks                  |framedblocks                  |10.4.0              |Manifest: NOSIGNATURE         framework-neoforge-1.21.1-0.9.6.jar               |Framework                     |framework                     |0.9.6               |Manifest: NOSIGNATURE         fruitsdelight-1.2.9.jar                           |Fruits Delight                |fruitsdelight                 |1.2.9               |Manifest: NOSIGNATURE         fusion-1.2.11a-neoforge-mc1.21.jar                |Fusion                        |fusion                        |1.2.11+a            |Manifest: NOSIGNATURE         fzzy_config-0.7.2+1.21+neoforge.jar               |Fzzy Config                   |fzzy_config                   |0.7.2+1.21+neoforge |Manifest: NOSIGNATURE         geckolib-neoforge-1.21.1-4.7.7.jar                |GeckoLib 4                    |geckolib                      |4.7.7               |Manifest: NOSIGNATURE         gml-6.0.2.jar                                     |GroovyModLoader               |gml                           |6.0.2               |Manifest: NOSIGNATURE         Highlighter-1.21-neoforge-1.1.11.jar              |Highlighter                   |highlighter                   |1.1.11              |Manifest: NOSIGNATURE         Iceberg-1.21.1-neoforge-1.3.2.jar                 |Iceberg                       |iceberg                       |1.3.2               |Manifest: NOSIGNATURE         ironfurnaces-neoforge-1.21.1-4.2.6.jar            |Iron Furnaces                 |ironfurnaces                  |4.2.6               |Manifest: NOSIGNATURE         iteminteractions-neoforge-21.1.4.jar              |Item Interactions             |iteminteractions              |21.1.4              |Manifest: NOSIGNATURE         jamlib-neoforge-1.3.5+1.21.1.jar                  |JamLib                        |jamlib                        |1.3.5+1.21.1        |Manifest: NOSIGNATURE         justenoughbreeding-neoforge-1.21-1.21.1-1.6.2.jar |Just Enough Breeding          |justenoughbreeding            |1.6.2               |Manifest: NOSIGNATURE         jei-1.21.1-neoforge-19.21.2.313.jar               |Just Enough Items             |jei                           |19.21.2.313         |Manifest: NOSIGNATURE         thedarkcolour.kffmod-5.9.0.jar                    |Kotlin For Forge              |kotlinforforge                |5.9.0               |Manifest: NOSIGNATURE         kuma-api-neoforge-21.0.5+1.21.jar                 |KumaAPI                       |kuma_api                      |21.0.5              |Manifest: NOSIGNATURE         l2core-3.0.8+1.jar                                |L2Core                        |l2core                        |3.0.8+1             |Manifest: NOSIGNATURE         l2harvester-3.0.0.jar                             |L2Harvester                   |l2harvester                   |3.0.0               |Manifest: NOSIGNATURE         LeavesBeGone-v21.1.0-1.21.1-NeoForge.jar          |Leaves Be Gone                |leavesbegone                  |21.1.0              |Manifest: NOSIGNATURE         luckyswardrobe-2.0.0.jar                          |Lucky's Wardrobe Restitched   |luckyswardrobe                |2.0.0               |Manifest: NOSIGNATURE         mcw-bridges-3.1.1-mc1.21.1neoforge.jar            |Macaw's Bridges               |mcwbridges                    |3.1.1               |Manifest: NOSIGNATURE         mcw-doors-1.1.2-mc1.21.1neoforge.jar              |Macaw's Doors                 |mcwdoors                      |1.1.2               |Manifest: NOSIGNATURE         mcw-fences-1.2.0-1.21.1neoforge.jar               |Macaw's Fences and Walls      |mcwfences                     |1.2.0               |Manifest: NOSIGNATURE         mcw-furniture-3.3.0-mc1.21.1neoforge.jar          |Macaw's Furniture             |mcwfurnitures                 |3.3.0               |Manifest: NOSIGNATURE         mcw-lights-1.1.2-mc1.21.1neoforge.jar             |Macaw's Lights and Lamps      |mcwlights                     |1.1.2               |Manifest: NOSIGNATURE         mcw-paths-1.1.0neoforge-mc1.21.1.jar              |Macaw's Paths and Pavings     |mcwpaths                      |1.1.0               |Manifest: NOSIGNATURE         mcw-stairs-1.0.1-1.21.1neoforge.jar               |Macaw's Stairs and Balconies  |mcwstairs                     |1.0.1               |Manifest: NOSIGNATURE         mcw-trapdoors-1.1.4-mc1.21.1neoforge.jar          |Macaw's Trapdoors             |mcwtrpdoors                   |1.1.4               |Manifest: NOSIGNATURE         midnightlib-1.6.9+1.21-neoforge.jar               |MidnightLib                   |midnightlib                   |1.6.9               |Manifest: NOSIGNATURE         client-1.21.1-20240808.144430-srg.jar             |Minecraft                     |minecraft                     |1.21.1              |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f         monolib-neoforge-1.21.1-2.1.0.jar                 |MonoLib                       |monolib                       |2.1.0               |Manifest: NOSIGNATURE         moonlight-1.21-2.22.6-neoforge.jar                |Moonlight Lib                 |moonlight                     |1.21-2.22.6         |Manifest: NOSIGNATURE         more_beautiful_torches-merged-1.21-3.0.0.jar      |More Beautiful Torches        |more_beautiful_torches        |3.0.0               |Manifest: NOSIGNATURE         MouseTweaks-neoforge-mc1.21-2.26.1.jar            |Mouse Tweaks                  |mousetweaks                   |2.26.1              |Manifest: NOSIGNATURE         refurbished_furniture-neoforge-1.21.1-1.0.16.jar  |MrCrayfish's Furniture Mod: Re|refurbished_furniture         |1.0.16              |Manifest: NOSIGNATURE         MyNethersDelight-1.21.1-1.9.jar                   |My Nether's Delight           |mynethersdelight              |1.9                 |Manifest: NOSIGNATURE         NaturesCompass-1.21.1-3.0.3-neoforge.jar          |Nature's Compass              |naturescompass                |1.21.1-3.0.2-neoforg|Manifest: NOSIGNATURE         neoforge-21.1.205-universal.jar                   |NeoForge                      |neoforge                      |21.1.205            |Manifest: NOSIGNATURE         neoforgedatapackextensions-neoforge-21.1.2.jar    |NeoForge Data Pack Extensions |neoforgedatapackextensions    |21.1.2              |Manifest: NOSIGNATURE         new_slab_variants-merged-1.21.1-3.0.1.jar         |New Slab Variants             |new_slab_variants             |3.0.1               |Manifest: NOSIGNATURE         nightlights-neoforge-1.3.0.jar                    |Night Lights                  |nightlights                   |1.3.0               |Manifest: NOSIGNATURE         notenoughanimations-neoforge-1.10.2-mc1.21.jar    |NotEnoughAnimations           |notenoughanimations           |1.10.2              |Manifest: NOSIGNATURE         OpenLoader-neoforge-1.21.1-21.1.5.jar             |OpenLoader                    |openloader                    |21.1.5              |Manifest: NOSIGNATURE         OverflowingBars-v21.1.1-1.21.1-NeoForge.jar       |Overflowing Bars              |overflowingbars               |21.1.1              |Manifest: NOSIGNATURE         owo-lib-neoforge-0.12.15.5-beta.1+1.21.jar        |oωo                           |owo                           |0.12.15.5-beta.1+1.2|Manifest: NOSIGNATURE         Patchouli-1.21.1-92-NEOFORGE.jar                  |Patchouli                     |patchouli                     |1.21.1-92-NEOFORGE  |Manifest: NOSIGNATURE         PickUpNotifier-v21.1.1-1.21.1-NeoForge.jar        |Pick Up Notifier              |pickupnotifier                |21.1.1              |Manifest: NOSIGNATURE         Placebo-1.21.1-9.9.1.jar                          |Placebo                       |placebo                       |9.9.1               |Manifest: NOSIGNATURE         player-animation-lib-forge-2.0.1+1.21.1.jar       |Player Animator               |playeranimator                |2.0.1+1.21.1        |Manifest: NOSIGNATURE         polymorph-neoforge-1.1.0+1.21.1.jar               |Polymorph                     |polymorph                     |1.1.0+1.21.1        |Manifest: NOSIGNATURE         prickle-neoforge-1.21.1-21.1.10.jar               |PrickleMC                     |prickle                       |21.1.10             |Manifest: NOSIGNATURE         PuzzlesLib-v21.1.38-1.21.1-NeoForge.jar           |Puzzles Lib                   |puzzleslib                    |21.1.38             |Manifest: NOSIGNATURE         rechiseled-1.1.6a-neoforge-mc1.21.jar             |Rechiseled                    |rechiseled                    |1.1.6+a             |Manifest: NOSIGNATURE         rechiseled_chipped-1.3-1.21.1.jar                 |Rechiseled: Chipped           |rechiseled_chipped            |1.3                 |Manifest: NOSIGNATURE         resourcefullib-neoforge-1.21-3.0.12.jar           |Resourceful Lib               |resourcefullib                |3.0.12              |Manifest: NOSIGNATURE         rightclickharvest-neoforge-4.5.3+1.21.1.jar       |Right Click Harvest           |rightclickharvest             |4.5.3+1.21.1        |Manifest: NOSIGNATURE         shulkerboxtooltip-neoforge-5.1.6+1.21.1.jar       |ShulkerBoxTooltip             |shulkerboxtooltip             |5.1.6+1.21.1        |Manifest: NOSIGNATURE         simplehats-neoforge-1.21.1-0.4.0.jar              |SimpleHats                    |simplehats                    |0.4.0               |Manifest: NOSIGNATURE         skyblock_resources-1.6.0-neoforge-1.21.1.jar      |Skyblock Resources            |skyblock_resources            |1.6.0               |Manifest: NOSIGNATURE         sootychimneys-neoforge-1.3.3.jar                  |Sooty Chimneys                |sootychimneys                 |1.3.3               |Manifest: NOSIGNATURE         sophisticatedbackpacks-1.21.1-3.24.21.1314.jar    |Sophisticated Backpacks       |sophisticatedbackpacks        |3.24.21             |Manifest: NOSIGNATURE         sophisticatedcore-1.21.1-1.3.67.1105.jar          |Sophisticated Core            |sophisticatedcore             |1.3.67              |Manifest: NOSIGNATURE         sophisticatedstorage-1.21.1-1.5.0.1243.jar        |Sophisticated Storage         |sophisticatedstorage          |1.5.0               |Manifest: NOSIGNATURE         spectrelib-neoforge-0.17.2+1.21.jar               |SpectreLib                    |spectrelib                    |0.17.2+1.21         |Manifest: NOSIGNATURE         Stoneworks-v21.1.0-1.21.1-NeoForge.jar            |Stoneworks                    |stoneworks                    |21.1.0              |Manifest: NOSIGNATURE         storagedelight-25.06.24-1.21-neoforge.jar         |Storage Delight               |storagedelight                |25.06.24-1.21-neofor|Manifest: NOSIGNATURE         StorageDrawers-neoforge-1.21.1-13.11.1.jar        |Storage Drawers               |storagedrawers                |13.11.1             |Manifest: NOSIGNATURE         labels-1.21-2.0.1-neoforge.jar                    |Storage Labels                |labels                        |1.21-2.0.1          |Manifest: NOSIGNATURE         storageracks-1.13-1.21.1-release.jar              |Storage Racks                 |storageracks                  |1.13-1.21.1-release |Manifest: NOSIGNATURE         SubtleEffects-neoforge-1.21.1-1.12.1.jar          |Subtle Effects                |subtle_effects                |1.12.1              |Manifest: NOSIGNATURE         supermartijn642configlib-1.1.8-neoforge-mc1.21.jar|SuperMartijn642's Config Libra|supermartijn642configlib      |1.1.8               |Manifest: NOSIGNATURE         supermartijn642corelib-1.1.18a-neoforge-mc1.21.jar|SuperMartijn642's Core Lib    |supermartijn642corelib        |1.1.18+a            |Manifest: NOSIGNATURE         sushigocrafting-1.21-0.6.4.jar                    |Sushi Go Crafting             |sushigocrafting               |0.6.4               |Manifest: NOSIGNATURE         twilightforest-1.21.1-4.7.3196-universal.jar      |The Twilight Forest           |twilightforest                |4.7.3196            |Manifest: NOSIGNATURE         titanium-1.21-4.0.37.jar                          |Titanium                      |titanium                      |4.0.37              |Manifest: NOSIGNATURE         trailandtales_delight-0.4.jar                     |Trail&Tales Delight           |trailandtales_delight         |0.4.1               |Manifest: NOSIGNATURE         TRansition-1.0.4-1.21-neoforge-SNAPSHOT.jar       |TRansition                    |transition                    |1.0.4               |Manifest: NOSIGNATURE         TRender-1.0.6-1.21-neoforge-SNAPSHOT.jar          |TRender                       |trender                       |1.0.6               |Manifest: NOSIGNATURE         twilightdelight-3.0.6.jar                         |Twilight Flavors & Delight    |twilightdelight               |3.0.6               |Manifest: NOSIGNATURE         tf_dnv-2.0.3.jar                                  |Twilight Forest - Dungeons & V|tf_dnv                        |2.0.3               |Manifest: NOSIGNATURE         ubesdelight-neoforge-1.21.1-0.4.3.jar             |Ube's Delight                 |ubesdelight                   |0.4.3               |Manifest: NOSIGNATURE         underlay-1.21-v0.9.6-f.jar                        |Underlay                      |underlay                      |0.9.6               |Manifest: NOSIGNATURE         VampiresDelight-1.21.1-0.1.10d.jar                |Vampire's Delight             |vampiresdelight               |0.1.10d             |Manifest: NOSIGNATURE         Vampirism-1.21-1.10.7.jar                         |Vampirism                     |vampirism                     |1.10.7              |Manifest: NOSIGNATURE         VisualWorkbench-v21.1.1-1.21.1-NeoForge.jar       |Visual Workbench              |visualworkbench               |21.1.1              |Manifest: NOSIGNATURE         waveycapes-neoforge-1.6.2-mc1.21.jar              |WaveyCapes                    |waveycapes                    |1.6.2               |Manifest: NOSIGNATURE         watut-neoforge-1.21.0-1.2.7.jar                   |What Are They Up To           |watut                         |1.21.0-1.2.7        |Manifest: NOSIGNATURE         Xaeros_Minimap_25.2.10_NeoForge_1.21.jar          |Xaero's Minimap               |xaerominimap                  |25.2.10             |Manifest: NOSIGNATURE         XaerosWorldMap_1.39.12_NeoForge_1.21.jar          |Xaero's World Map             |xaeroworldmap                 |1.39.12             |Manifest: NOSIGNATURE         weaponmaster_ydm-1.21.1-neoforge-4.2.7.jar        |YDM's Weapon Master           |weaponmaster_ydm              |4.2.7               |Manifest: NOSIGNATURE         yet_another_config_lib_v3-3.7.1+1.21.1-neoforge.ja|YetAnotherConfigLib           |yet_another_config_lib_v3     |3.7.1+1.21.1-neoforg|Manifest: NOSIGNATURE     Crash Report UUID: d323af41-b15d-4c61-b987-49c0e3e8e1a8     FML: 4.0.41     NeoForge: 21.1.205
    • Are you ready to join a Minecraft server that truly breaks the mold? IP: play.soulsteal.net  Discord: Ask In-Game!   SoulSteal SMP is not your typical server. It's a dark, mystical world that expertly fuses the best parts of Prison, Survival, and Anarchy. We're a tight-knit community where the grind is real, but so are the rewards, and we pride ourselves on being completely P2W (Pay-to-Win) free. Every single item and rank can be earned through gameplay within a reasonable amount of time. No shortcuts, just pure dedication. Dual Progression System This is where the magic happens. You have two distinct paths to advance and get ahead. You can climb through the ranks by earning Souls, a custom currency dropped by unique mobs and rewarding jobs like Lava Fishing. Alternatively, you can use your in-game dollars to purchase exclusive perks and cosmetics. This dual system creates a dynamic economy that rewards every playstyle, whether you're a grinder or a savvy merchant. Four Custom Realms Our core progression is built around four unique realms, each with its own rich lore, specific challenges, and custom armor sets like Ember and Verdant. These realms act as our version of the Prison gamemode, where you must fight your way through to conquer them all. Each realm presents a new challenge, pushing you to adapt your strategy and gear. Anarchy vs. Structured Gameplay SoulSteal SMP offers the best of both worlds. Craving intense PvP and chaos? Jump into our massive 2,000 x 2,000 grief-enabled Anarchy world where trust is a liability and only the strongest survive. Prefer a more structured experience? Stay within the realms for a grief-free PvE environment where you can focus on building and progressing without worrying about being raided. The Epic Endgame The journey culminates in a grand finale. Conquer all four realms to earn the prestigious Exalted rank and unlock the ultimate reward: a grief-free Premium World with custom terrain, exclusive resources, and a place to build your final legacy. Join our growing community and carve your legend in SoulSteal SMP. The adventure awaits.
    • Like title says I am trying to add some mods to a pre-existing modpack, but something is causing a conflict to the world gen settings that causes it to crash with the Description: Exception generating new chunk. edit this is based on a  19.2 modpack, prominence, with extra mods added. crash https://pastebin.com/Y3V5d4G6 Partial latest log, file was too big for pastebin. didn't know that was a thing https://pastebin.com/uJ8L2UUz
  • Topics

×
×
  • Create New...

Important Information

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