Jump to content

Recommended Posts

Posted

I want to create custom workbench that has custom recipes and does not accept vanilla workbench recipes and vice versa(custom recipes for this custom workbench cant be crafted in normal workbench)

I am new at coding with Elcipse/Java so please can you explain.(If you can please show code)

PS: I have tried multiple guides but they were outdated so it did not work just wasted 3 hours

and also please test before posting how to do it, it will be greatly appreciated thx

 

Edit:New Info

I am trying to create custom workbench using minecraft source classes but i dont understand either it my code failing at guiHandler or I am doing something wrong , can someone check whats wrong and tell me so i know how to fix it as i am trying to do custom WorkBench for 2 days.

Posted

Take a look at the vanilla crafting table. The crafting manager is responsible for crafting recipes. The ContainerWorkbench is responsible for the GUI to load, and the GuiWorkbench is responsible for displaying the GUI on screen. You'd also want the BlockWorkbench and InventoryCrafting classes.

 

I think thats all the classes.. Might have missed some.

 

Good Luck!

I might be terribly wrong.. Like really, really wrong. But I'm just trying to help.

Posted

i tried that but when i make gui from GuiCrafing class it gives an squiggly line under fontRendererObj and ySize as well as some others see code bellow

package com.allans.Gui;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ContainerWorkbench;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import org.lwjgl.opengl.GL11;

@SideOnly(Side.CLIENT)
public class ReTableCraftingGui extends CustContainerWorkBench
{
    private static final ResourceLocation craftingTableGuiTextures = new ResourceLocation("textures/gui/container/crafting_table.png");
    private static final String __OBFID = "CL_00000750";

    public ReTableCraftingGui(InventoryPlayer p_i1084_1_, World p_i1084_2_, int p_i1084_3_, int p_i1084_4_, int p_i1084_5_)
    {
        super(new CustContainerWorkBench(p_i1084_1_, p_i1084_2_, p_i1084_3_, p_i1084_4_, p_i1084_5_));
    }

    /**
     * Draw the foreground layer for the GuiContainer (everything in front of the items)
     */
    protected void drawGuiContainerForegroundLayer(int p_146979_1_, int p_146979_2_)
    {
        this.[b]fontRendererObj[/b].drawString(I18n.format("container.crafting", new Object[0]), 28, 6, 4210752);
        this.[b]fontRendererObj[/b].drawString(I18n.format("container.inventory", new Object[0]), 8, this.[b]ySize[/b] - 96 + 2, 4210752);
    }

    protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_)
    {
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        this.[b]mc[/b].getTextureManager().bindTexture(craftingTableGuiTextures);
        int k = (this.[b]width [/b]- this.[b]xSize[/b]) / 2;
        int l = (this.[b]height [/b]- this.[b]ySize[/b]) / 2;
        this.drawTexturedModalRect(k, l, 0, 0, this.[b]xSize[/b], this.[b]ySize[/b]);
    }
}

Posted

Between /B And /B its code with squiggly line under.

for fontRendererObj  fontRendererObj cannot be resolved or is not a field

for ySize its ySize cannot be resolved or is not a field

for mc its mc cannot be resolved or is not a field

for all of them after its same

Posted

I am trying to create custom workbench using minecraft source classes but i dont understand either it my code failing at guiHandler or I am doing something wrong , can someone check whats wrong and tell me so i know how to fix it as i am trying to do custom WorkBench for 2 days.

 

All_Mod_Block

import com.allans.lib.RefStrings;

import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.util.IIcon;

public class All_Mod_Blocks {

public static void mainRegistry(){
	IntItem();
	registerItem();	
}


public static Block ReCraftingTableDef; //Defines Re Crafting Table Continues In ReCraftingTable

public IIcon[] icons = new IIcon[6];

public static void IntItem(){
	ReCraftingTableDef = new ReCraftingTableDef();
}


public static void registerItem(){
	GameRegistry.registerBlock(ReCraftingTableDef, ReCraftingTableDef.getUnlocalizedName());






}
}

 

ReCraftingTableDef.class

package com.allans.Blocks;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;

public class ReCraftingTableDef extends Block
{
    @SideOnly(Side.CLIENT)
    private IIcon field_150035_a;
    @SideOnly(Side.CLIENT)
    private IIcon field_150034_b;
    private static final String __OBFID = "CL_00000221";

    protected ReCraftingTableDef()
    {
        super(Material.iron);
        this.setCreativeTab(CreativeTabs.tabBlock);
        setBlockName("ReCraftingTableDef");
    }

    /**
     * Gets the block's texture. Args: side, meta
     */
    @SideOnly(Side.CLIENT)
    public IIcon getIcon(int p_149691_1_, int p_149691_2_)
    {
        return p_149691_1_ == 1 ? this.field_150035_a : (p_149691_1_ == 0 ? Blocks.planks.getBlockTextureFromSide(p_149691_1_) : (p_149691_1_ != 2 && p_149691_1_ != 4 ? this.blockIcon : this.field_150034_b));
    }

    @SideOnly(Side.CLIENT)
    public void registerBlockIcons(IIconRegister p_149651_1_)
    {
        this.blockIcon = p_149651_1_.registerIcon(this.getTextureName() + "_side");
        this.field_150035_a = p_149651_1_.registerIcon(this.getTextureName() + "_top");
        this.field_150034_b = p_149651_1_.registerIcon(this.getTextureName() + "_front");
    }

    /**
     * Called upon block activation (right click on the block.)
     */
    public boolean onBlockActivated(World world, int var1, int var2, int var3, EntityPlayer player, int var4, float var5, float var6, float var7)
    {
        if (world.isRemote)
        {
            return true;
        }
        else
        {
            player.displayGUIWorkbench(var1, var2, var3);
            return true;
        }
    }
}

 

CustContainerWorkBench

package com.allans.Gui;

import com.allans.Blocks.All_Mod_Blocks;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.InventoryCraftResult;
import net.minecraft.inventory.Slot;
import net.minecraft.inventory.SlotCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.world.World;

public class CustContainerWorkBench extends Container {
/** The crafting matrix inventory (3x3). */
public net.minecraft.inventory.InventoryCrafting craftMatrix = new net.minecraft.inventory.InventoryCrafting(this, 3, 3);
public IInventory craftResult = new InventoryCraftResult();
private World worldObj;
private int posX;
private int posY;
private int posZ;
private static final String __OBFID = "CL_00001744";

public CustContainerWorkBench(InventoryPlayer p_i1808_1_, World p_i1808_2_, int p_i1808_3_, int p_i1808_4_,
		int p_i1808_5_) {
	this.worldObj = p_i1808_2_;
	this.posX = p_i1808_3_;
	this.posY = p_i1808_4_;
	this.posZ = p_i1808_5_;
	this.addSlotToContainer(new SlotCrafting(p_i1808_1_.player, this.craftMatrix, this.craftResult, 0, 124, 35));
	int l;
	int i1;

	for (l = 0; l < 3; ++l) {
		for (i1 = 0; i1 < 3; ++i1) {
			this.addSlotToContainer(new Slot(this.craftMatrix, i1 + l * 3, 30 + i1 * 18, 17 + l * 18));
		}
	}

	for (l = 0; l < 3; ++l) {
		for (i1 = 0; i1 < 9; ++i1) {
			this.addSlotToContainer(new Slot(p_i1808_1_, i1 + l * 9 + 9, 8 + i1 * 18, 84 + l * 18));
		}
	}

	for (l = 0; l < 9; ++l) {
		this.addSlotToContainer(new Slot(p_i1808_1_, l, 8 + l * 18, 142));
	}

	this.onCraftMatrixChanged(this.craftMatrix);
}


/**
 * Callback for when the crafting matrix is changed.
 */
public void onCraftMatrixChanged(IInventory p_75130_1_) {
	this.craftResult.setInventorySlotContents(0,
			com.allans.lib.ReCustCraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj));
}

/**
 * Called when the container is closed.
 */
public void onContainerClosed(EntityPlayer p_75134_1_) {
	super.onContainerClosed(p_75134_1_);

	if (!this.worldObj.isRemote) {
		for (int i = 0; i < 9; ++i) {
			ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i);

			if (itemstack != null) {
				p_75134_1_.dropPlayerItemWithRandomChoice(itemstack, false);
			}
		}
	}
}

public boolean canInteractWith(EntityPlayer p_75145_1_) {
	return this.worldObj.getBlock(this.posX, this.posY, this.posZ) != All_Mod_Blocks.ReCraftingTableDef ? false
			: p_75145_1_.getDistanceSq((double) this.posX + 0.5D, (double) this.posY + 0.5D,
					(double) this.posZ + 0.5D) <= 64.0D;
}

/**
 * Called when a player shift-clicks on a slot. You must override this or
 * you will crash when someone does that.
 */
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) {
	ItemStack itemstack = null;
	Slot slot = (Slot) this.inventorySlots.get(p_82846_2_);

	if (slot != null && slot.getHasStack()) {
		ItemStack itemstack1 = slot.getStack();
		itemstack = itemstack1.copy();

		if (p_82846_2_ == 0) {
			if (!this.mergeItemStack(itemstack1, 10, 46, true)) {
				return null;
			}

			slot.onSlotChange(itemstack1, itemstack);
		} else if (p_82846_2_ >= 10 && p_82846_2_ < 37) {
			if (!this.mergeItemStack(itemstack1, 37, 46, false)) {
				return null;
			}
		} else if (p_82846_2_ >= 37 && p_82846_2_ < 46) {
			if (!this.mergeItemStack(itemstack1, 10, 37, false)) {
				return null;
			}
		} else if (!this.mergeItemStack(itemstack1, 10, 46, false)) {
			return null;
		}

		if (itemstack1.stackSize == 0) {
			slot.putStack((ItemStack) null);
		} else {
			slot.onSlotChanged();
		}

		if (itemstack1.stackSize == itemstack.stackSize) {
			return null;
		}

		slot.onPickupFromSlot(p_82846_1_, itemstack1);
	}

	return itemstack;
}

public boolean func_94530_a(ItemStack p_94530_1_, Slot p_94530_2_) {
	return p_94530_2_.inventory != this.craftResult && super.func_94530_a(p_94530_1_, p_94530_2_);
}
}

 

GuiHandler

package com.allans.Gui;

import com.allans.Gui.inventory.GuiContainer;
import com.typesafe.config.Config;

import cpw.mods.fml.common.network.IGuiHandler;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;

public class GuiHandler implements IGuiHandler
{

@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
	// TODO Auto-generated method stub
	return null;
}

@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
	if (ID == com.allans.Gui.inventory.GuiContainer.GUI_ID) {
            System.out.print("create gui.\n");
            return new Gui();
        }
        return null;
}

}

 

ReTableCraftingGui

package com.allans.Gui;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ContainerWorkbench;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;

import java.awt.Container;

import org.lwjgl.opengl.GL11;
import com.allans.Gui.inventory.GuiContainer;


@SideOnly(Side.CLIENT)
public class ReTableCraftingGui extends GuiContainer
{
    private static final ResourceLocation craftingTableGuiTextures = new ResourceLocation("textures/gui/container/crafting_table.png");
    private static final String __OBFID = "CL_00000750";

    public ReTableCraftingGui(InventoryPlayer p_i1084_1_, World p_i1084_2_, int p_i1084_3_, int p_i1084_4_, int p_i1084_5_)
    {
    	super(new CustContainerWorkBench(p_i1084_1_, p_i1084_2_, p_i1084_3_, p_i1084_4_, p_i1084_5_));
    }

    /**
     * Draw the foreground layer for the GuiContainer (everything in front of the items)
     */
    protected void drawGuiContainerForegroundLayer(int p_146979_1_, int p_146979_2_)
    {
        this.fontRendererObj.drawString(I18n.format("container.crafting", new Object[0]), 28, 6, 4210752);
        this.fontRendererObj.drawString(I18n.format("container.inventory", new Object[0]), 8, this.ySize - 96 + 2, 4210752);
    }

    protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_)
    {
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        this.mc.getTextureManager().bindTexture(craftingTableGuiTextures);
        int k = (this.width - this.xSize) / 2;
        int l = (this.height - this.ySize) / 2;
        this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
    }
}

 

GuiContainer

package com.allans.Gui.inventory;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

@SideOnly(Side.CLIENT)
public abstract class GuiContainer extends GuiScreen
{	
    protected static final ResourceLocation field_147001_a = new ResourceLocation("textures/gui/container/inventory.png");
    /** The X size of the inventory window in pixels. */
    protected int xSize = 176;
    /** The Y size of the inventory window in pixels. */
    protected int ySize = 166;
    /** A list of the players inventory slots */
    public Container inventorySlots;
    /** Starting X position for the Gui. Inconsistent use for Gui backgrounds. */
    protected int guiLeft;
    /** Starting Y position for the Gui. Inconsistent use for Gui backgrounds. */
    protected int guiTop;
    private Slot theSlot;
    /** Used when touchscreen is enabled. */
    private Slot clickedSlot;
    /** Used when touchscreen is enabled. */
    private boolean isRightMouseClick;
    /** Used when touchscreen is enabled */
    private ItemStack draggedStack;
    private int field_147011_y;
    private int field_147010_z;
    private Slot returningStackDestSlot;
    private long returningStackTime;
    /** Used when touchscreen is enabled */
    private ItemStack returningStack;
    private Slot field_146985_D;
    private long field_146986_E;
    protected final Set field_147008_s = new HashSet();
    protected boolean field_147007_t;
    private int field_146987_F;
    private int field_146988_G;
    private boolean field_146995_H;
    private int field_146996_I;
    private long field_146997_J;
    private Slot field_146998_K;
    private int field_146992_L;
    private boolean field_146993_M;
    private ItemStack field_146994_N;
    private static final String __OBFID = "CL_00000737";

    public GuiContainer(Container p_i1072_1_)
    {
        this.inventorySlots = p_i1072_1_;
        this.field_146995_H = true;
    }

    /**
     * Adds the buttons (and other controls) to the screen in question.
     */
    public void initGui()
    {
        super.initGui();
        this.mc.thePlayer.openContainer = this.inventorySlots;
        this.guiLeft = (this.width - this.xSize) / 2;
        this.guiTop = (this.height - this.ySize) / 2;
    }

    /**
     * Draws the screen and all the components in it.
     */
    public void drawScreen(int p_73863_1_, int p_73863_2_, float p_73863_3_)
    {
        this.drawDefaultBackground();
        int k = this.guiLeft;
        int l = this.guiTop;
        this.drawGuiContainerBackgroundLayer(p_73863_3_, p_73863_1_, p_73863_2_);
        GL11.glDisable(GL12.GL_RESCALE_NORMAL);
        RenderHelper.disableStandardItemLighting();
        GL11.glDisable(GL11.GL_LIGHTING);
        GL11.glDisable(GL11.GL_DEPTH_TEST);
        super.drawScreen(p_73863_1_, p_73863_2_, p_73863_3_);
        RenderHelper.enableGUIStandardItemLighting();
        GL11.glPushMatrix();
        GL11.glTranslatef((float)k, (float)l, 0.0F);
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        GL11.glEnable(GL12.GL_RESCALE_NORMAL);
        this.theSlot = null;
        short short1 = 240;
        short short2 = 240;
        OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)short1 / 1.0F, (float)short2 / 1.0F);
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        int k1;

        for (int i1 = 0; i1 < this.inventorySlots.inventorySlots.size(); ++i1)
        {
            Slot slot = (Slot)this.inventorySlots.inventorySlots.get(i1);
            this.func_146977_a(slot);

            if (this.isMouseOverSlot(slot, p_73863_1_, p_73863_2_) && slot.func_111238_b())
            {
                this.theSlot = slot;
                GL11.glDisable(GL11.GL_LIGHTING);
                GL11.glDisable(GL11.GL_DEPTH_TEST);
                int j1 = slot.xDisplayPosition;
                k1 = slot.yDisplayPosition;
                GL11.glColorMask(true, true, true, false);
                this.drawGradientRect(j1, k1, j1 + 16, k1 + 16, -2130706433, -2130706433);
                GL11.glColorMask(true, true, true, true);
                GL11.glEnable(GL11.GL_LIGHTING);
                GL11.glEnable(GL11.GL_DEPTH_TEST);
            }
        }

        //Forge: Force lighting to be disabled as there are some issue where lighting would
        //incorrectly be applied based on items that are in the inventory.
        GL11.glDisable(GL11.GL_LIGHTING);
        this.drawGuiContainerForegroundLayer(p_73863_1_, p_73863_2_);
        GL11.glEnable(GL11.GL_LIGHTING);
        InventoryPlayer inventoryplayer = this.mc.thePlayer.inventory;
        ItemStack itemstack = this.draggedStack == null ? inventoryplayer.getItemStack() : this.draggedStack;

        if (itemstack != null)
        {
            byte b0 = 8;
            k1 = this.draggedStack == null ? 8 : 16;
            String s = null;

            if (this.draggedStack != null && this.isRightMouseClick)
            {
                itemstack = itemstack.copy();
                itemstack.stackSize = MathHelper.ceiling_float_int((float)itemstack.stackSize / 2.0F);
            }
            else if (this.field_147007_t && this.field_147008_s.size() > 1)
            {
                itemstack = itemstack.copy();
                itemstack.stackSize = this.field_146996_I;

                if (itemstack.stackSize == 0)
                {
                    s = "" + EnumChatFormatting.YELLOW + "0";
                }
            }

            this.drawItemStack(itemstack, p_73863_1_ - k - b0, p_73863_2_ - l - k1, s);
        }

        if (this.returningStack != null)
        {
            float f1 = (float)(Minecraft.getSystemTime() - this.returningStackTime) / 100.0F;

            if (f1 >= 1.0F)
            {
                f1 = 1.0F;
                this.returningStack = null;
            }

            k1 = this.returningStackDestSlot.xDisplayPosition - this.field_147011_y;
            int j2 = this.returningStackDestSlot.yDisplayPosition - this.field_147010_z;
            int l1 = this.field_147011_y + (int)((float)k1 * f1);
            int i2 = this.field_147010_z + (int)((float)j2 * f1);
            this.drawItemStack(this.returningStack, l1, i2, (String)null);
        }

        GL11.glPopMatrix();

        if (inventoryplayer.getItemStack() == null && this.theSlot != null && this.theSlot.getHasStack())
        {
            ItemStack itemstack1 = this.theSlot.getStack();
            this.renderToolTip(itemstack1, p_73863_1_, p_73863_2_);
        }

        GL11.glEnable(GL11.GL_LIGHTING);
        GL11.glEnable(GL11.GL_DEPTH_TEST);
        RenderHelper.enableStandardItemLighting();
    }

    private void drawItemStack(ItemStack p_146982_1_, int p_146982_2_, int p_146982_3_, String p_146982_4_)
    {
        GL11.glTranslatef(0.0F, 0.0F, 32.0F);
        this.zLevel = 200.0F;
        itemRender.zLevel = 200.0F;
        FontRenderer font = null;
        if (p_146982_1_ != null) font = p_146982_1_.getItem().getFontRenderer(p_146982_1_);
        if (font == null) font = fontRendererObj;
        itemRender.renderItemAndEffectIntoGUI(font, this.mc.getTextureManager(), p_146982_1_, p_146982_2_, p_146982_3_);
        itemRender.renderItemOverlayIntoGUI(font, this.mc.getTextureManager(), p_146982_1_, p_146982_2_, p_146982_3_ - (this.draggedStack == null ? 0 : , p_146982_4_);
        this.zLevel = 0.0F;
        itemRender.zLevel = 0.0F;
    }

    /**
     * Draw the foreground layer for the GuiContainer (everything in front of the items)
     */
    protected void drawGuiContainerForegroundLayer(int p_146979_1_, int p_146979_2_) {}

    protected abstract void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_);

    private void func_146977_a(Slot p_146977_1_)
    {
        int i = p_146977_1_.xDisplayPosition;
        int j = p_146977_1_.yDisplayPosition;
        ItemStack itemstack = p_146977_1_.getStack();
        boolean flag = false;
        boolean flag1 = p_146977_1_ == this.clickedSlot && this.draggedStack != null && !this.isRightMouseClick;
        ItemStack itemstack1 = this.mc.thePlayer.inventory.getItemStack();
        String s = null;

        if (p_146977_1_ == this.clickedSlot && this.draggedStack != null && this.isRightMouseClick && itemstack != null)
        {
            itemstack = itemstack.copy();
            itemstack.stackSize /= 2;
        }
        else if (this.field_147007_t && this.field_147008_s.contains(p_146977_1_) && itemstack1 != null)
        {
            if (this.field_147008_s.size() == 1)
            {
                return;
            }

            if (Container.func_94527_a(p_146977_1_, itemstack1, true) && this.inventorySlots.canDragIntoSlot(p_146977_1_))
            {
                itemstack = itemstack1.copy();
                flag = true;
                Container.func_94525_a(this.field_147008_s, this.field_146987_F, itemstack, p_146977_1_.getStack() == null ? 0 : p_146977_1_.getStack().stackSize);

                if (itemstack.stackSize > itemstack.getMaxStackSize())
                {
                    s = EnumChatFormatting.YELLOW + "" + itemstack.getMaxStackSize();
                    itemstack.stackSize = itemstack.getMaxStackSize();
                }

                if (itemstack.stackSize > p_146977_1_.getSlotStackLimit())
                {
                    s = EnumChatFormatting.YELLOW + "" + p_146977_1_.getSlotStackLimit();
                    itemstack.stackSize = p_146977_1_.getSlotStackLimit();
                }
            }
            else
            {
                this.field_147008_s.remove(p_146977_1_);
                this.func_146980_g();
            }
        }

        this.zLevel = 100.0F;
        itemRender.zLevel = 100.0F;

        if (itemstack == null)
        {
            IIcon iicon = p_146977_1_.getBackgroundIconIndex();

            if (iicon != null)
            {
                GL11.glDisable(GL11.GL_LIGHTING);
                GL11.glEnable(GL11.GL_BLEND); // Forge: Blending needs to be enabled for this.
                this.mc.getTextureManager().bindTexture(TextureMap.locationItemsTexture);
                this.drawTexturedModelRectFromIcon(i, j, iicon, 16, 16);
                GL11.glDisable(GL11.GL_BLEND); // Forge: And clean that up
                GL11.glEnable(GL11.GL_LIGHTING);
                flag1 = true;
            }
        }

        if (!flag1)
        {
            if (flag)
            {
                drawRect(i, j, i + 16, j + 16, -2130706433);
            }

            GL11.glEnable(GL11.GL_DEPTH_TEST);
            itemRender.renderItemAndEffectIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), itemstack, i, j);
            itemRender.renderItemOverlayIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), itemstack, i, j, s);
        }

        itemRender.zLevel = 0.0F;
        this.zLevel = 0.0F;
    }

    private void func_146980_g()
    {
        ItemStack itemstack = this.mc.thePlayer.inventory.getItemStack();

        if (itemstack != null && this.field_147007_t)
        {
            this.field_146996_I = itemstack.stackSize;
            ItemStack itemstack1;
            int i;

            for (Iterator iterator = this.field_147008_s.iterator(); iterator.hasNext(); this.field_146996_I -= itemstack1.stackSize - i)
            {
                Slot slot = (Slot)iterator.next();
                itemstack1 = itemstack.copy();
                i = slot.getStack() == null ? 0 : slot.getStack().stackSize;
                Container.func_94525_a(this.field_147008_s, this.field_146987_F, itemstack1, i);

                if (itemstack1.stackSize > itemstack1.getMaxStackSize())
                {
                    itemstack1.stackSize = itemstack1.getMaxStackSize();
                }

                if (itemstack1.stackSize > slot.getSlotStackLimit())
                {
                    itemstack1.stackSize = slot.getSlotStackLimit();
                }
            }
        }
    }

    /**
     * Returns the slot at the given coordinates or null if there is none.
     */
    private Slot getSlotAtPosition(int p_146975_1_, int p_146975_2_)
    {
        for (int k = 0; k < this.inventorySlots.inventorySlots.size(); ++k)
        {
            Slot slot = (Slot)this.inventorySlots.inventorySlots.get(k);

            if (this.isMouseOverSlot(slot, p_146975_1_, p_146975_2_))
            {
                return slot;
            }
        }

        return null;
    }

    /**
     * Called when the mouse is clicked.
     */
    protected void mouseClicked(int p_73864_1_, int p_73864_2_, int p_73864_3_)
    {
        super.mouseClicked(p_73864_1_, p_73864_2_, p_73864_3_);
        boolean flag = p_73864_3_ == this.mc.gameSettings.keyBindPickBlock.getKeyCode() + 100;
        Slot slot = this.getSlotAtPosition(p_73864_1_, p_73864_2_);
        long l = Minecraft.getSystemTime();
        this.field_146993_M = this.field_146998_K == slot && l - this.field_146997_J < 250L && this.field_146992_L == p_73864_3_;
        this.field_146995_H = false;

        if (p_73864_3_ == 0 || p_73864_3_ == 1 || flag)
        {
            int i1 = this.guiLeft;
            int j1 = this.guiTop;
            boolean flag1 = p_73864_1_ < i1 || p_73864_2_ < j1 || p_73864_1_ >= i1 + this.xSize || p_73864_2_ >= j1 + this.ySize;
            int k1 = -1;

            if (slot != null)
            {
                k1 = slot.slotNumber;
            }

            if (flag1)
            {
                k1 = -999;
            }

            if (this.mc.gameSettings.touchscreen && flag1 && this.mc.thePlayer.inventory.getItemStack() == null)
            {
                this.mc.displayGuiScreen((GuiScreen)null);
                return;
            }

            if (k1 != -1)
            {
                if (this.mc.gameSettings.touchscreen)
                {
                    if (slot != null && slot.getHasStack())
                    {
                        this.clickedSlot = slot;
                        this.draggedStack = null;
                        this.isRightMouseClick = p_73864_3_ == 1;
                    }
                    else
                    {
                        this.clickedSlot = null;
                    }
                }
                else if (!this.field_147007_t)
                {
                    if (this.mc.thePlayer.inventory.getItemStack() == null)
                    {
                        if (p_73864_3_ == this.mc.gameSettings.keyBindPickBlock.getKeyCode() + 100)
                        {
                            this.handleMouseClick(slot, k1, p_73864_3_, 3);
                        }
                        else
                        {
                            boolean flag2 = k1 != -999 && (Keyboard.isKeyDown(42) || Keyboard.isKeyDown(54));
                            byte b0 = 0;

                            if (flag2)
                            {
                                this.field_146994_N = slot != null && slot.getHasStack() ? slot.getStack() : null;
                                b0 = 1;
                            }
                            else if (k1 == -999)
                            {
                                b0 = 4;
                            }

                            this.handleMouseClick(slot, k1, p_73864_3_, b0);
                        }

                        this.field_146995_H = true;
                    }
                    else
                    {
                        this.field_147007_t = true;
                        this.field_146988_G = p_73864_3_;
                        this.field_147008_s.clear();

                        if (p_73864_3_ == 0)
                        {
                            this.field_146987_F = 0;
                        }
                        else if (p_73864_3_ == 1)
                        {
                            this.field_146987_F = 1;
                        }
                    }
                }
            }
        }

        this.field_146998_K = slot;
        this.field_146997_J = l;
        this.field_146992_L = p_73864_3_;
    }

    /**
     * Called when a mouse button is pressed and the mouse is moved around. Parameters are : mouseX, mouseY,
     * lastButtonClicked & timeSinceMouseClick.
     */
    protected void mouseClickMove(int p_146273_1_, int p_146273_2_, int p_146273_3_, long p_146273_4_)
    {
        Slot slot = this.getSlotAtPosition(p_146273_1_, p_146273_2_);
        ItemStack itemstack = this.mc.thePlayer.inventory.getItemStack();

        if (this.clickedSlot != null && this.mc.gameSettings.touchscreen)
        {
            if (p_146273_3_ == 0 || p_146273_3_ == 1)
            {
                if (this.draggedStack == null)
                {
                    if (slot != this.clickedSlot)
                    {
                        this.draggedStack = this.clickedSlot.getStack().copy();
                    }
                }
                else if (this.draggedStack.stackSize > 1 && slot != null && Container.func_94527_a(slot, this.draggedStack, false))
                {
                    long i1 = Minecraft.getSystemTime();

                    if (this.field_146985_D == slot)
                    {
                        if (i1 - this.field_146986_E > 500L)
                        {
                            this.handleMouseClick(this.clickedSlot, this.clickedSlot.slotNumber, 0, 0);
                            this.handleMouseClick(slot, slot.slotNumber, 1, 0);
                            this.handleMouseClick(this.clickedSlot, this.clickedSlot.slotNumber, 0, 0);
                            this.field_146986_E = i1 + 750L;
                            --this.draggedStack.stackSize;
                        }
                    }
                    else
                    {
                        this.field_146985_D = slot;
                        this.field_146986_E = i1;
                    }
                }
            }
        }
        else if (this.field_147007_t && slot != null && itemstack != null && itemstack.stackSize > this.field_147008_s.size() && Container.func_94527_a(slot, itemstack, true) && slot.isItemValid(itemstack) && this.inventorySlots.canDragIntoSlot(slot))
        {
            this.field_147008_s.add(slot);
            this.func_146980_g();
        }
    }

    /**
     * Called when the mouse is moved or a mouse button is released.  Signature: (mouseX, mouseY, which) which==-1 is
     * mouseMove, which==0 or which==1 is mouseUp
     */
    protected void mouseMovedOrUp(int p_146286_1_, int p_146286_2_, int p_146286_3_)
    {
        super.mouseMovedOrUp(p_146286_1_, p_146286_2_, p_146286_3_); //Forge, Call parent to release buttons
        Slot slot = this.getSlotAtPosition(p_146286_1_, p_146286_2_);
        int l = this.guiLeft;
        int i1 = this.guiTop;
        boolean flag = p_146286_1_ < l || p_146286_2_ < i1 || p_146286_1_ >= l + this.xSize || p_146286_2_ >= i1 + this.ySize;
        int j1 = -1;

        if (slot != null)
        {
            j1 = slot.slotNumber;
        }

        if (flag)
        {
            j1 = -999;
        }

        Slot slot1;
        Iterator iterator;

        if (this.field_146993_M && slot != null && p_146286_3_ == 0 && this.inventorySlots.func_94530_a((ItemStack)null, slot))
        {
            if (isShiftKeyDown())
            {
                if (slot != null && slot.inventory != null && this.field_146994_N != null)
                {
                    iterator = this.inventorySlots.inventorySlots.iterator();

                    while (iterator.hasNext())
                    {
                        slot1 = (Slot)iterator.next();

                        if (slot1 != null && slot1.canTakeStack(this.mc.thePlayer) && slot1.getHasStack() && slot1.inventory == slot.inventory && Container.func_94527_a(slot1, this.field_146994_N, true))
                        {
                            this.handleMouseClick(slot1, slot1.slotNumber, p_146286_3_, 1);
                        }
                    }
                }
            }
            else
            {
                this.handleMouseClick(slot, j1, p_146286_3_, 6);
            }

            this.field_146993_M = false;
            this.field_146997_J = 0L;
        }
        else
        {
            if (this.field_147007_t && this.field_146988_G != p_146286_3_)
            {
                this.field_147007_t = false;
                this.field_147008_s.clear();
                this.field_146995_H = true;
                return;
            }

            if (this.field_146995_H)
            {
                this.field_146995_H = false;
                return;
            }

            boolean flag1;

            if (this.clickedSlot != null && this.mc.gameSettings.touchscreen)
            {
                if (p_146286_3_ == 0 || p_146286_3_ == 1)
                {
                    if (this.draggedStack == null && slot != this.clickedSlot)
                    {
                        this.draggedStack = this.clickedSlot.getStack();
                    }

                    flag1 = Container.func_94527_a(slot, this.draggedStack, false);

                    if (j1 != -1 && this.draggedStack != null && flag1)
                    {
                        this.handleMouseClick(this.clickedSlot, this.clickedSlot.slotNumber, p_146286_3_, 0);
                        this.handleMouseClick(slot, j1, 0, 0);

                        if (this.mc.thePlayer.inventory.getItemStack() != null)
                        {
                            this.handleMouseClick(this.clickedSlot, this.clickedSlot.slotNumber, p_146286_3_, 0);
                            this.field_147011_y = p_146286_1_ - l;
                            this.field_147010_z = p_146286_2_ - i1;
                            this.returningStackDestSlot = this.clickedSlot;
                            this.returningStack = this.draggedStack;
                            this.returningStackTime = Minecraft.getSystemTime();
                        }
                        else
                        {
                            this.returningStack = null;
                        }
                    }
                    else if (this.draggedStack != null)
                    {
                        this.field_147011_y = p_146286_1_ - l;
                        this.field_147010_z = p_146286_2_ - i1;
                        this.returningStackDestSlot = this.clickedSlot;
                        this.returningStack = this.draggedStack;
                        this.returningStackTime = Minecraft.getSystemTime();
                    }

                    this.draggedStack = null;
                    this.clickedSlot = null;
                }
            }
            else if (this.field_147007_t && !this.field_147008_s.isEmpty())
            {
                this.handleMouseClick((Slot)null, -999, Container.func_94534_d(0, this.field_146987_F), 5);
                iterator = this.field_147008_s.iterator();

                while (iterator.hasNext())
                {
                    slot1 = (Slot)iterator.next();
                    this.handleMouseClick(slot1, slot1.slotNumber, Container.func_94534_d(1, this.field_146987_F), 5);
                }

                this.handleMouseClick((Slot)null, -999, Container.func_94534_d(2, this.field_146987_F), 5);
            }
            else if (this.mc.thePlayer.inventory.getItemStack() != null)
            {
                if (p_146286_3_ == this.mc.gameSettings.keyBindPickBlock.getKeyCode() + 100)
                {
                    this.handleMouseClick(slot, j1, p_146286_3_, 3);
                }
                else
                {
                    flag1 = j1 != -999 && (Keyboard.isKeyDown(42) || Keyboard.isKeyDown(54));

                    if (flag1)
                    {
                        this.field_146994_N = slot != null && slot.getHasStack() ? slot.getStack() : null;
                    }

                    this.handleMouseClick(slot, j1, p_146286_3_, flag1 ? 1 : 0);
                }
            }
        }

        if (this.mc.thePlayer.inventory.getItemStack() == null)
        {
            this.field_146997_J = 0L;
        }

        this.field_147007_t = false;
    }

    /**
     * Returns if the passed mouse position is over the specified slot.
     */
    private boolean isMouseOverSlot(Slot p_146981_1_, int p_146981_2_, int p_146981_3_)
    {
        return this.func_146978_c(p_146981_1_.xDisplayPosition, p_146981_1_.yDisplayPosition, 16, 16, p_146981_2_, p_146981_3_);
    }

    protected boolean func_146978_c(int p_146978_1_, int p_146978_2_, int p_146978_3_, int p_146978_4_, int p_146978_5_, int p_146978_6_)
    {
        int k1 = this.guiLeft;
        int l1 = this.guiTop;
        p_146978_5_ -= k1;
        p_146978_6_ -= l1;
        return p_146978_5_ >= p_146978_1_ - 1 && p_146978_5_ < p_146978_1_ + p_146978_3_ + 1 && p_146978_6_ >= p_146978_2_ - 1 && p_146978_6_ < p_146978_2_ + p_146978_4_ + 1;
    }

    protected void handleMouseClick(Slot p_146984_1_, int p_146984_2_, int p_146984_3_, int p_146984_4_)
    {
        if (p_146984_1_ != null)
        {
            p_146984_2_ = p_146984_1_.slotNumber;
        }

        this.mc.playerController.windowClick(this.inventorySlots.windowId, p_146984_2_, p_146984_3_, p_146984_4_, this.mc.thePlayer);
    }

    /**
     * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
     */
    protected void keyTyped(char p_73869_1_, int p_73869_2_)
    {
        if (p_73869_2_ == 1 || p_73869_2_ == this.mc.gameSettings.keyBindInventory.getKeyCode())
        {
            this.mc.thePlayer.closeScreen();
        }

        this.checkHotbarKeys(p_73869_2_);

        if (this.theSlot != null && this.theSlot.getHasStack())
        {
            if (p_73869_2_ == this.mc.gameSettings.keyBindPickBlock.getKeyCode())
            {
                this.handleMouseClick(this.theSlot, this.theSlot.slotNumber, 0, 3);
            }
            else if (p_73869_2_ == this.mc.gameSettings.keyBindDrop.getKeyCode())
            {
                this.handleMouseClick(this.theSlot, this.theSlot.slotNumber, isCtrlKeyDown() ? 1 : 0, 4);
            }
        }
    }

    /**
     * This function is what controls the hotbar shortcut check when you press a number key when hovering a stack.
     */
    protected boolean checkHotbarKeys(int p_146983_1_)
    {
        if (this.mc.thePlayer.inventory.getItemStack() == null && this.theSlot != null)
        {
            for (int j = 0; j < 9; ++j)
            {
                if (p_146983_1_ == this.mc.gameSettings.keyBindsHotbar[j].getKeyCode())
                {
                    this.handleMouseClick(this.theSlot, this.theSlot.slotNumber, j, 2);
                    return true;
                }
            }
        }

        return false;
    }

    /**
     * Called when the screen is unloaded. Used to disable keyboard repeat events
     */
    public void onGuiClosed()
    {
        if (this.mc.thePlayer != null)
        {
            this.inventorySlots.onContainerClosed(this.mc.thePlayer);
        }
    }

    /**
     * Returns true if this GUI should pause the game when it is displayed in single-player
     */
    public boolean doesGuiPauseGame()
    {
        return false;
    }

    /**
     * Called from the main game loop to update the screen.
     */
    public void updateScreen()
    {
        super.updateScreen();

        if (!this.mc.thePlayer.isEntityAlive() || this.mc.thePlayer.isDead)
        {
            this.mc.thePlayer.closeScreen();
        }
    }
}

 

ReCustCraftingManager

package com.allans.lib;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;

import net.minecraft.inventory.InventoryCrafting;

import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.ShapedRecipes;
import net.minecraft.item.crafting.ShapelessRecipes;
import net.minecraft.world.World;

public class ReCustCraftingManager
{
    /** The static instance of this class */
    private static final ReCustCraftingManager instance = new ReCustCraftingManager();
    /** A list of all the recipes added */
    private List recipes = new ArrayList();
    private static final String __OBFID = "CL_00000090";

    /**`
     * Returns the static instance of this class
     */
    public static final ReCustCraftingManager getInstance()
    {
        /** The static instance of this class */
        return instance;
    }

    private ReCustCraftingManager()
    {
        this.addRecipe(new ItemStack(Blocks.hopper), new Object[] {"I I", "ICI", " I ", 'I', Items.iron_ingot, 'C', Blocks.chest});
        
        Collections.sort(this.recipes, new Comparator()
        {
            private static final String __OBFID = "CL_00000091";
            public int compare(IRecipe p_compare_1_, IRecipe p_compare_2_)
            {
                return p_compare_1_ instanceof ShapelessRecipes && p_compare_2_ instanceof ShapedRecipes ? 1 : (p_compare_2_ instanceof ShapelessRecipes && p_compare_1_ instanceof ShapedRecipes ? -1 : (p_compare_2_.getRecipeSize() < p_compare_1_.getRecipeSize() ? -1 : (p_compare_2_.getRecipeSize() > p_compare_1_.getRecipeSize() ? 1 : 0)));
            }
            public int compare(Object p_compare_1_, Object p_compare_2_)
            {
                return this.compare((IRecipe)p_compare_1_, (IRecipe)p_compare_2_);
            }
        });
    }

    public ShapedRecipes addRecipe(ItemStack p_92103_1_, Object ... p_92103_2_)
    {
        String s = "";
        int i = 0;
        int j = 0;
        int k = 0;

        if (p_92103_2_[i] instanceof String[])
        {
            String[] astring = (String[])((String[])p_92103_2_[i++]);

            for (int l = 0; l < astring.length; ++l)
            {
                String s1 = astring[l];
                ++k;
                j = s1.length();
                s = s + s1;
            }
        }
        else
        {
            while (p_92103_2_[i] instanceof String)
            {
                String s2 = (String)p_92103_2_[i++];
                ++k;
                j = s2.length();
                s = s + s2;
            }
        }

        HashMap hashmap;

        for (hashmap = new HashMap(); i < p_92103_2_.length; i += 2)
        {
            Character character = (Character)p_92103_2_[i];
            ItemStack itemstack1 = null;

            if (p_92103_2_[i + 1] instanceof Item)
            {
                itemstack1 = new ItemStack((Item)p_92103_2_[i + 1]);
            }
            else if (p_92103_2_[i + 1] instanceof Block)
            {
                itemstack1 = new ItemStack((Block)p_92103_2_[i + 1], 1, 32767);
            }
            else if (p_92103_2_[i + 1] instanceof ItemStack)
            {
                itemstack1 = (ItemStack)p_92103_2_[i + 1];
            }

            hashmap.put(character, itemstack1);
        }

        ItemStack[] aitemstack = new ItemStack[j * k];

        for (int i1 = 0; i1 < j * k; ++i1)
        {
            char c0 = s.charAt(i1);

            if (hashmap.containsKey(Character.valueOf(c0)))
            {
                aitemstack[i1] = ((ItemStack)hashmap.get(Character.valueOf(c0))).copy();
            }
            else
            {
                aitemstack[i1] = null;
            }
        }

        ShapedRecipes shapedrecipes = new ShapedRecipes(j, k, aitemstack, p_92103_1_);
        this.recipes.add(shapedrecipes);
        return shapedrecipes;
    }

    public void addShapelessRecipe(ItemStack p_77596_1_, Object ... p_77596_2_)
    {
        ArrayList arraylist = new ArrayList();
        Object[] aobject = p_77596_2_;
        int i = p_77596_2_.length;

        for (int j = 0; j < i; ++j)
        {
            Object object1 = aobject[j];

            if (object1 instanceof ItemStack)
            {
                arraylist.add(((ItemStack)object1).copy());
            }
            else if (object1 instanceof Item)
            {
                arraylist.add(new ItemStack((Item)object1));
            }
            else
            {
                if (!(object1 instanceof Block))
                {
                    throw new RuntimeException("Invalid shapeless recipy!");
                }

                arraylist.add(new ItemStack((Block)object1));
            }
        }

        this.recipes.add(new ShapelessRecipes(p_77596_1_, arraylist));
    }

    public ItemStack findMatchingRecipe(net.minecraft.inventory.InventoryCrafting p_82787_1_, World p_82787_2_)
    {
        int i = 0;
        ItemStack itemstack = null;
        ItemStack itemstack1 = null;
        int j;

        for (j = 0; j < p_82787_1_.getSizeInventory(); ++j)
        {
            ItemStack itemstack2 = p_82787_1_.getStackInSlot(j);

            if (itemstack2 != null)
            {
                if (i == 0)
                {
                    itemstack = itemstack2;
                }

                if (i == 1)
                {
                    itemstack1 = itemstack2;
                }

                ++i;
            }
        }

        if (i == 2 && itemstack.getItem() == itemstack1.getItem() && itemstack.stackSize == 1 && itemstack1.stackSize == 1 && itemstack.getItem().isRepairable())
        {
            Item item = itemstack.getItem();
            int j1 = item.getMaxDamage() - itemstack.getItemDamageForDisplay();
            int k = item.getMaxDamage() - itemstack1.getItemDamageForDisplay();
            int l = j1 + k + item.getMaxDamage() * 5 / 100;
            int i1 = item.getMaxDamage() - l;

            if (i1 < 0)
            {
                i1 = 0;
            }

            return new ItemStack(itemstack.getItem(), 1, i1);
        }
        else
        {
            for (j = 0; j < this.recipes.size(); ++j)
            {
                IRecipe irecipe = (IRecipe)this.recipes.get(j);

                if (irecipe.matches(p_82787_1_, p_82787_2_))
                {
                    return irecipe.getCraftingResult(p_82787_1_);
                }
            }

            return null;
        }
    }

    /**
     * returns the List<> of all recipes
     */
    public List getRecipeList()
    {
        return this.recipes;
    }
}

 

RefStrings

package com.allans.lib;

public class RefStrings {

public static final String MODID = "techniziummain";
public static final String NAME = "Technizium - Main Lib";
public static final String VERSION = "0.1";
public static final String CLIENTSIDE = "com.allans.Main.ClientProxy";
public static final String SERVERSIDE = "com.allans.Main.ServerProxy";

}

 

MainRegistry

package com.allans.Main;

import com.allans.Blocks.All_Mod_Blocks;
import com.allans.Blocks.ReCraftingTableDef;
import com.allans.Gui.GuiHandler;
import com.allans.Items.All_Mod_Items;
import com.allans.World.World;
import com.allans.lib.RefStrings;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry;


@Mod(modid = RefStrings.MODID , name = RefStrings.NAME , version = RefStrings.VERSION)
public class MainRegistry 
{




@Mod.Instance(RefStrings.MODID)
    public static MainRegistry instance;



@EventHandler
public static void PreLoad(FMLPreInitializationEvent PreEvent){
	All_Mod_Items.mainRegistry(); //Starts All Items
	All_Mod_Blocks.mainRegistry(); //Starts Ender Block Registry



	World.MainRigistry();

}
@EventHandler
public static void load(FMLInitializationEvent event){
	NetworkRegistry.INSTANCE.registerGuiHandler(RefStrings.MODID, (IGuiHandler) new GuiHandler());


}
@EventHandler
public static void PostLoad(FMLPostInitializationEvent PostEvent){



}

}

 

ServerProxy

package com.allans.Main;

import com.allans.Gui.GuiHandler;
import com.allans.lib.RefStrings;

import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry;

public class ServerProxy {

public void registerRenderInfo(){

}
}

 

ClientProxy

package com.allans.Main;

import com.allans.Blocks.All_Mod_Blocks;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.entity.RenderItem;

public class ClientProxy extends ServerProxy {

public void registerRenderInfo(){



}

}

 

RecipeSorter

package com.allans.oredict;

import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.google.common.collect.Lists;
import com.allans.lib.ReCustCraftingManager;
import com.google.common.base.Joiner;
import com.google.common.collect.Maps;

import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.toposort.TopologicalSort;
import cpw.mods.fml.common.toposort.TopologicalSort.DirectedGraph;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.RecipeBookCloning;
import net.minecraft.item.crafting.RecipeFireworks;
import net.minecraft.item.crafting.RecipesArmorDyes;
import net.minecraft.item.crafting.RecipesMapCloning;
import net.minecraft.item.crafting.RecipesMapExtending;
import net.minecraft.item.crafting.ShapedRecipes;
import net.minecraft.item.crafting.ShapelessRecipes;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
import com.google.common.collect.Sets;

import static com.allans.oredict.RecipeSorter.Category.*;

@SuppressWarnings("rawtypes")
public class RecipeSorter implements Comparator<IRecipe>
{
    public enum Category
    {
        UNKNOWN,
        SHAPELESS,
        SHAPED
    };

    private static class SortEntry
    {
        private String name;
        private Class<?> cls;
        private Category cat;
        List<String> before = Lists.newArrayList();
        List<String> after = Lists.newArrayList();

        private SortEntry(String name, Class<?> cls, Category cat, String deps)
        {
            this.name = name;
            this.cls = cls;
            this.cat = cat;
            parseDepends(deps);
        }

        private void parseDepends(String deps)
        {
            if (deps.isEmpty()) return;
            for (String dep : deps.split(" "))
            {
                if (dep.startsWith("before:"))
                {
                    before.add(dep.substring(7));
                }
                else if (dep.startsWith("after:"))
                {
                    after.add(dep.substring(6));
                }
                else
                {
                    throw new IllegalArgumentException("Invalid dependancy: " + dep);
                }
            }
        }

        @Override
        public String toString()
        {
            StringBuilder buf = new StringBuilder();
            buf.append("RecipeEntry(\"").append(name).append("\", ");
            buf.append(cat.name()).append(", ");
            buf.append(cls ==  null ? "" : cls.getName()).append(")");

            if (before.size() > 0)
            {
                buf.append(" Before: ").append(Joiner.on(", ").join(before));
            }

            if (after.size() > 0)
            {
                buf.append(" After: ").append(Joiner.on(", ").join(after));
            }

            return buf.toString();
        }

        @Override
        public int hashCode()
        {
            return name.hashCode();
        }
    };

    private static Map<Class, Category>     categories = Maps.newHashMap();
    //private static Map<String, Class>       types = Maps.newHashMap();
    private static Map<String, SortEntry>   entries = Maps.newHashMap();
    private static Map<Class, Integer>      priorities = Maps.newHashMap();

    public static RecipeSorter INSTANCE = new RecipeSorter();
    private static boolean isDirty = true;

    private static SortEntry before = new SortEntry("Before", null, UNKNOWN, "");
    private static SortEntry after  = new SortEntry("After",  null, UNKNOWN, "");

    private RecipeSorter()
    {
        register("minecraft:shaped",       ShapedRecipes.class,       SHAPED,    "before:minecraft:shapeless");
        register("minecraft:mapextending", RecipesMapExtending.class, SHAPED,    "after:minecraft:shaped before:minecraft:shapeless");
        register("minecraft:shapeless",    ShapelessRecipes.class,    SHAPELESS, "after:minecraft:shaped");
        register("minecraft:bookcloning",  RecipeBookCloning.class,   SHAPELESS, "after:minecraft:shapeless"); //Size 9
        register("minecraft:fireworks",    RecipeFireworks.class,     SHAPELESS, "after:minecraft:shapeless"); //Size 10
        register("minecraft:armordyes",    RecipesArmorDyes.class,    SHAPELESS, "after:minecraft:shapeless"); //Size 10
        register("minecraft:mapcloning",   RecipesMapCloning.class,   SHAPELESS, "after:minecraft:shapeless"); //Size 10

        register("forge:shapedore",     ShapedOreRecipe.class,    SHAPED,    "after:minecraft:shaped before:minecraft:shapeless");
        register("forge:shapelessore",  ShapelessOreRecipe.class, SHAPELESS, "after:minecraft:shapeless");
    }
    
    @Override
    public int compare(IRecipe r1, IRecipe r2)
    {
        Category c1 = getCategory(r1);
        Category c2 = getCategory(r2);
        if (c1 == SHAPELESS && c2 == SHAPED) return  1;
        if (c1 == SHAPED && c2 == SHAPELESS) return -1;
        if (r2.getRecipeSize() < r1.getRecipeSize()) return -1;
        if (r2.getRecipeSize() > r1.getRecipeSize()) return  1;
        return getPriority(r2) - getPriority(r1); // high priority value first! 
    }

    private static Set<Class> warned = Sets.newHashSet();
    @SuppressWarnings("unchecked")
    public static void sortCraftManager()
    {
        bake();
        FMLLog.fine("Sorting recipies");
        warned.clear();
        Collections.sort(ReCustCraftingManager.getInstance().getRecipeList(), INSTANCE);
    }
    
    public static void register(String name, Class<?> recipe, Category category, String dependancies)
    {
        assert(category != UNKNOWN) : "Category must not be unknown!";
        isDirty = true;

        SortEntry entry = new SortEntry(name, recipe, category, dependancies);
        entries.put(name, entry);
        setCategory(recipe, category);
    }

    public static void setCategory(Class<?> recipe, Category category)
    {
        assert(category != UNKNOWN) : "Category must not be unknown!";
        categories.put(recipe, category);
    }

    public static Category getCategory(IRecipe recipe)
    {
        return getCategory(recipe.getClass());
    }

    public static Category getCategory(Class<?> recipe)
    {
        Class<?> cls = recipe;
        Category ret = categories.get(cls);

        if (ret == null)
        {
            while (cls != Object.class)
            {
                cls = cls.getSuperclass();
                ret = categories.get(cls);
                if (ret != null)
                {
                    categories.put(recipe, ret);
                    return ret;
                }
            }
        }

        return ret == null ? UNKNOWN : ret;
    }

    private static int getPriority(IRecipe recipe)
    {
        Class<?> cls = recipe.getClass();
        Integer ret = priorities.get(cls);

        if (ret == null)
        {
            if (!warned.contains(cls))
            {
                FMLLog.info("  Unknown recipe class! %s Modder please refer to %s", cls.getName(), RecipeSorter.class.getName());
                warned.add(cls);
            }
            cls = cls.getSuperclass();
            while (cls != Object.class)
            {
                ret = priorities.get(cls);
                if (ret != null)
                {
                    priorities.put(recipe.getClass(), ret);
                    FMLLog.fine("    Parent Found: %d - %s", ret.intValue(), cls.getName());
                    return ret.intValue();
                }
            }
        }

        return ret == null ? 0 : ret.intValue();
    }

    private static void bake()
    {
        if (!isDirty) return;
        FMLLog.fine("Forge RecipeSorter Baking:");
        DirectedGraph<SortEntry> sorter = new DirectedGraph<SortEntry>();
        sorter.addNode(before);
        sorter.addNode(after);
        sorter.addEdge(before, after);

        for (Map.Entry<String, SortEntry> entry : entries.entrySet())
        {
            sorter.addNode(entry.getValue());
        }

        for (Map.Entry<String, SortEntry> e : entries.entrySet())
        {
            SortEntry entry = e.getValue();
            boolean postAdded = false;

            sorter.addEdge(before, entry);
            for (String dep : entry.after)
            {
                if (entries.containsKey(dep))
                {
                    sorter.addEdge(entries.get(dep), entry);
                }
            }

            for (String dep : entry.before)
            {
                postAdded = true;
                sorter.addEdge(entry, after);
                if (entries.containsKey(dep))
                {
                    sorter.addEdge(entry, entries.get(dep));
                }
            }

            if (!postAdded)
            {
                sorter.addEdge(entry, after);
            }
        }


        List<SortEntry> sorted = TopologicalSort.topologicalSort(sorter);
        int x = sorted.size();
        for (SortEntry entry : sorted)
        {
            FMLLog.fine("  %d: %s", x, entry);
            priorities.put(entry.cls, x--);
        }
    }
}

Posted

Unfortunately, you're having problems at the level of knowing Java and Eclipse. Eclipse's squiggly line is trying to tell you that you need to study the rules of Java (there are Java articles and tutorials on the web, and Google will find them for you).

 

You must learn your tools before seeking help here. We don't write code on demand, and we don't teach the basics of Java, and we don't substitute for Eclipse to parse code by eye. Come back when your mystery stems from Minecraft's or Forge's internal data and coding peculiarities.

 

If it turns out that you really really need access to private fields in a parent class, then you might need to shelve this project until you've learned an advanced programming technique called reflection. You should do a simple mod or two to become familiar with Forge and Minecraft coding before trying anything ambitious.

 

PS: Something that might help you a lot would be to set a break point in the vanilla crafting manager code and then step through the entire process in the debugger. When you've seen all of the steps that Minecraft normally goes through (in order), then you'll have more ideas about what you want to extend, override etc to make your own table or other device.

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

Join the conversation

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

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

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • i cant play minecraft every time i launch it i have error   ---- Minecraft Crash Report ---- // I let you down. Sorry Time: 2025-09-01 16:35:23 Description: Unexpected error java.lang.IllegalStateException: Cannot get config value before config is loaded.     at MC-BOOTSTRAP/[email protected]/com.google.common.base.Preconditions.checkState(Preconditions.java:512) ~[guava-32.1.2-jre.jar%23135!/:?] {re:mixin}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.getRaw(ModConfigSpec.java:1235) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.get(ModConfigSpec.java:1222) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/tv.soaryn.simpleweather.SimpleWeather$NeoBus.renderWeather(SimpleWeather.java:65) ~[simple_weather-1.0.13.jar%23756!/:?] {re:classloading}     at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:360) ~[bus-8.0.5.jar%23110!/:?] {}     at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:328) ~[bus-8.0.5.jar%23110!/:?] {}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.client.ClientHooks.fireClientTickPre(ClientHooks.java:1070) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.ClientHooksMixin from mod sodium,pl:mixin:APP:iceberg.neoforge.mixins.json:ClientHooksMixin from mod iceberg,pl:mixin:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.tick(Minecraft.java:1787) ~[client-1.21.1-20240808.144430-srg.jar%23497!/:?] {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:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.runTick(Minecraft.java:1161) ~[client-1.21.1-20240808.144430-srg.jar%23497!/:?] {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:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.run(Minecraft.java:807) ~[client-1.21.1-20240808.144430-srg.jar%23497!/:?] {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:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin: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%23497!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:cryonicconfig.mixins.json:client.MainMixin from mod cryonicconfig,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:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at MC-BOOTSTRAP/[email protected]/com.google.common.base.Preconditions.checkState(Preconditions.java:512) ~[guava-32.1.2-jre.jar%23135!/:?] {re:mixin}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.getRaw(ModConfigSpec.java:1235) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.common.ModConfigSpec$ConfigValue.get(ModConfigSpec.java:1222) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading}     at TRANSFORMER/[email protected]/tv.soaryn.simpleweather.SimpleWeather$NeoBus.renderWeather(SimpleWeather.java:65) ~[simple_weather-1.0.13.jar%23756!/:?] {re:classloading}     at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:360) ~[bus-8.0.5.jar%23110!/:?] {}     at MC-BOOTSTRAP/net.neoforged.bus/net.neoforged.bus.EventBus.post(EventBus.java:328) ~[bus-8.0.5.jar%23110!/:?] {}     at TRANSFORMER/[email protected]/net.neoforged.neoforge.client.ClientHooks.fireClientTickPre(ClientHooks.java:1070) ~[neoforge-21.1.203-universal.jar%23498!/:?] {re:mixin,re:classloading,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.ClientHooksMixin from mod sodium,pl:mixin:APP:iceberg.neoforge.mixins.json:ClientHooksMixin from mod iceberg,pl:mixin:A} -- Uptime -- Details:     JVM uptime: 40.349s     Wall uptime: 11.181s     High-res time: 35.485s     Client ticks: 1 ticks / 0.050s Stacktrace:     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.fillReport(Minecraft.java:2394) ~[client-1.21.1-20240808.144430-srg.jar%23497!/:?] {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:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.emergencySaveAndCrash(Minecraft.java:868) ~[client-1.21.1-20240808.144430-srg.jar%23497!/:?] {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:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin:A,pl:runtimedistcleaner:A}     at TRANSFORMER/[email protected]/net.minecraft.client.Minecraft.run(Minecraft.java:828) ~[client-1.21.1-20240808.144430-srg.jar%23497!/:?] {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:mixins.sodiumextras.json:impl.fps.GpuUsageMixin from mod sodiumextras,pl:mixin:APP:subtle_effects.mixins.json:client.MinecraftMixin from mod subtle_effects,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin from mod modernfix,pl:mixin:APP:modernfix-neoforge.mixins.json:feature.measure_time.MinecraftMixin_Forge from mod modernfix,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Images from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_Keybinds from mod iris,pl:mixin:APP:mixins.iris.json:MixinMinecraft_PipelineManagement from mod iris,pl:mixin:APP:pickupnotifier.common.mixins.json:client.MinecraftMixin from mod pickupnotifier,pl:mixin:APP:balm.neoforge.mixins.json:MinecraftMixin from mod balm,pl:mixin:APP:supplementaries-common.mixins.json:MinecraftMixin from mod supplementaries,pl:mixin:APP:resourcefulconfig.mixins.json:client.MinecraftMixin from mod resourcefulconfig,pl:mixin:APP:accessories-common.mixins.json:client.MinecraftMixin from mod accessories,pl:mixin:APP:transition.mixins.json:EntityRenderStateMixin from mod transition,pl:mixin:APP:transition.mixins.json:EntityRendererMixin from mod transition,pl:mixin:APP:proplacer.common.mixins.json:client.accessor.MinecraftAccessor from mod proplacer,pl:mixin:APP:lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium,pl:mixin:APP:fallingleaves.mixins.json:MinecraftClientMixin from mod fallingleaves,pl:mixin:APP:sodium-common.mixins.json:core.MinecraftMixin from mod sodium,pl:mixin:APP:sodium-neoforge.mixins.json:platform.neoforge.EntrypointMixin from mod sodium,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin from mod alltheleaks,pl:mixin:APP:alltheleaks.mixins.json:main.MinecraftMixin2 from mod alltheleaks,pl:mixin:APP:notenoughanimations.mixins.json:LivingRenderStateMixin from mod notenoughanimations,pl:mixin:APP:flywheel.impl.mixins.json:MinecraftMixin from mod flywheel,pl:mixin:APP:ponder-common.mixins.json:client.WindowResizeMixin from mod ponder,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient from mod immediatelyfast,pl:mixin:APP:extrasounds.mixins.json:hotbar.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds.mixins.json:inventory.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:extrasounds-forge.mixins.json:forge.MinecraftClientMixin from mod extrasounds,pl:mixin:APP:morediscs.mixins.json:MixinMinecraft from mod morediscs,pl:mixin:APP:prism.mixins.json:MinecraftMixin from mod prism,pl:mixin:APP:bookshelf.mixins.json:access.client.AccessorMinecraft from mod bookshelf,pl:mixin:APP:mixins.sodiumdynamiclights.json:MinecraftClientMixin from mod sodiumdynamiclights,pl:mixin:APP:konkrete.mixins.json:client.MixinMinecraft from mod konkrete,pl:mixin:APP:createfood.mixins.json:MixinMinecraft from mod createfood,pl:mixin:APP:architectury.mixins.json:MixinMinecraft from mod architectury,pl:mixin:APP:kubejs.mixins.json:MinecraftClientMixin from mod kubejs,pl:mixin:APP:owo.mixins.json:ui.MinecraftClientMixin from mod owo,pl:mixin:APP:octolib-common.mixins.json:MinecraftMixin from mod octolib,pl:mixin:APP:blueprint.mixins.json:client.MinecraftMixin from mod blueprint,pl:mixin:APP:moonlight-common.mixins.json:MinecraftMixin from mod moonlight,pl:mixin:APP:platform.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:platform-common.mixins.json:client.MinecraftMixin from mod platform,pl:mixin:APP:sounds.mixins.json:ui.HotbarKeybindSoundEffects from mod sounds,pl:mixin:APP:sounds.mixins.json:ui.ScreenSoundEffect from mod sounds,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin from mod iceberg,pl:mixin:APP:citresewn.mixins.json:types.enchantment.MinecraftClientMixin from mod citresewn,pl:mixin:APP:cryonicconfig.mixins.json:client.MinecraftMixin from mod cryonicconfig,pl:mixin:APP:fancymenu.mixins.json:client.IMixinMinecraft from mod fancymenu,pl:mixin:APP:fancymenu.mixins.json:client.MixinMinecraft from mod fancymenu,pl:mixin:APP:yacl.mixins.json:MinecraftMixin from mod yet_another_config_lib_v3,pl:mixin:APP:sound_physics_remastered.mixins.json:MinecraftMixin from mod (unknown),pl:mixin:APP:create.mixins.json:accessor.MinecraftAccessor from mod create,pl:mixin:APP:modernfix-common.mixins.json:feature.remove_telemetry.MinecraftMixin_Telemetry from mod modernfix,pl:mixin: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%23497!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:cryonicconfig.mixins.json:client.MainMixin from mod cryonicconfig,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:?] {} -- Last reload -- Details:     Reload number: 1     Reload reason: initial     Finished: No     Packs: vanilla, KubeJS Virtual Resource Pack [Internal, assets], KubeJS Virtual Resource Pack [After Mods, assets], KubeJS File Resource Pack [assets], KubeJS Virtual Resource Pack [Before Mods, assets], KubeJS Virtual Resource Pack [Last, assets] -- System Details -- Details:     Minecraft Version: 1.21.1     Minecraft Version ID: 1.21.1     Operating System: Windows 10 (amd64) version 10.0     Java Version: 21.0.7, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 944831160 bytes (901 MiB) / 1811939328 bytes (1728 MiB) up to 8589934592 bytes (8192 MiB)     CPUs: 8     Processor Vendor: GenuineIntel     Processor Name: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz     Identifier: Intel64 Family 6 Model 60 Stepping 3     Microarchitecture: Haswell (Client)     Frequency (GHz): 4.00     Number of physical packages: 1     Number of physical CPUs: 4     Number of logical CPUs: 8     Graphics card #0 name: NVIDIA GeForce GTX 1050 Ti     Graphics card #0 vendor: NVIDIA     Graphics card #0 VRAM (MiB): 4096.00     Graphics card #0 deviceId: VideoController1     Graphics card #0 versionInfo: 32.0.15.8097     Memory slot #0 capacity (MiB): 8192.00     Memory slot #0 clockSpeed (GHz): 1.60     Memory slot #0 type: DDR3     Memory slot #1 capacity (MiB): 8192.00     Memory slot #1 clockSpeed (GHz): 1.60     Memory slot #1 type: DDR3     Virtual memory max (MiB): 18735.40     Virtual memory used (MiB): 8120.46     Swap memory total (MiB): 2432.00     Swap memory used (MiB): 0.00     Space in storage for jna.tmpdir (MiB): available: 167115.08, total: 476888.00     Space in storage for org.lwjgl.system.SharedLibraryExtractPath (MiB): available: 167115.08, total: 476888.00     Space in storage for io.netty.native.workdir (MiB): available: 167115.08, total: 476888.00     Space in storage for java.io.tmpdir (MiB): available: 167115.08, total: 476888.00     Space in storage for workdir (MiB): available: 167115.08, total: 476888.00     JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx8G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     Loaded Shaderpack: (off)     Launched Version: neoforge-21.1.203     Launcher name: minecraft-launcher     Backend library: LWJGL version 3.3.3+5     Backend API: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2 GL version 4.6.0 NVIDIA 580.97, NVIDIA Corporation     Window size: 854x480     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: ru_RU     System encoding: Cp1251     File encoding: UTF-8     CPU: 8x Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz     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]+0.16.0+1.21         [email protected]         [email protected]         [email protected]         [email protected]     Mod List:          amwplushies-neoforge-1.21.1-4.4.0.jar             |A Man With Plushies           |a_man_with_plushies           |4.4.0               |Manifest: NOSIGNATURE         accessories-neoforge-1.1.0-beta.48+1.21.1.jar     |Accessories                   |accessories                   |1.1.0-beta.48+1.21.1|Manifest: NOSIGNATURE         AdvancementPlaques-1.21.1-neoforge-1.6.8.jar      |Advancement Plaques           |advancementplaques            |1.6.8               |Manifest: NOSIGNATURE         AirHop-v21.1.0-1.21.1-NeoForge.jar                |Air Hop                       |airhop                        |21.1.0              |Manifest: NOSIGNATURE         alltheleaks-1.0.0+1.21.1-neoforge.jar             |All The Leaks                 |alltheleaks                   |1.0.0+1.21.1-neoforg|Manifest: NOSIGNATURE         amendments-1.21-2.0.5-neoforge.jar                |Amendments                    |amendments                    |1.21-2.0.5          |Manifest: NOSIGNATURE         anvilrestoration-1.21.1-2.4.jar                   |Anvil Restoration             |anvilrestoration              |2.4                 |Manifest: NOSIGNATURE         appleskin-neoforge-mc1.21-3.0.7.jar               |AppleSkin                     |appleskin                     |3.0.7+mc1.21        |Manifest: NOSIGNATURE         ArcaneLanterns-v21.1.0-1.21.1-NeoForge.jar        |Arcane Lanterns               |arcanelanterns                |21.1.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         artifacts-neoforge-13.0.7.jar                     |Artifacts                     |artifacts                     |13.0.7              |Manifest: NOSIGNATURE         athena-neoforge-1.21-4.0.2.jar                    |Athena                        |athena                        |4.0.2               |Manifest: NOSIGNATURE         attributefix-neoforge-1.21.1-21.1.2.jar           |AttributeFix                  |attributefix                  |21.1.2              |Manifest: NOSIGNATURE         automaticdoors-1.21.1-4.9.jar                     |Automatic Doors               |automaticdoors                |4.9                 |Manifest: NOSIGNATURE         BadOptimizations-2.3.0-1.21.1.jar                 |BadOptimizations              |badoptimizations              |2.3.0               |Manifest: NOSIGNATURE         baguettelib-1.21.1-NeoForge-1.1.0.jar             |BaguetteLib                   |baguettelib                   |1.1.0               |Manifest: NOSIGNATURE         balm-neoforge-1.21.1-21.0.49.jar                  |Balm                          |balm                          |21.0.49             |Manifest: NOSIGNATURE         BarteringStation-v21.1.0-1.21.1-NeoForge.jar      |Bartering Station             |barteringstation              |21.1.0              |Manifest: NOSIGNATURE         bedspreads-neoforge-7.0.0+1.21.1.jar              |Bedspreads                    |bedspreads                    |7.0.0+1.21.1        |Manifest: NOSIGNATURE         BetterAdvancements-NeoForge-1.21.1-0.4.3.21.jar   |Better Advancements           |betteradvancements            |0.4.3.21            |Manifest: NOSIGNATURE         BetterAnimationsCollection-v21.1.0-1.21.1-NeoForge|Better Animations Collection  |betteranimationscollection    |21.1.0              |Manifest: NOSIGNATURE         betterarcheology-neoforge-1.3.2.jar               |Better Archeology             |betterarcheology              |1.3.2               |Manifest: NOSIGNATURE         better_climbing-neoforge-4.jar                    |Better Climbing               |better_climbing               |4                   |Manifest: NOSIGNATURE         BetterPingDisplay-1.21.1-1.1.jar                  |Better Ping Display           |betterpingdisplay             |1.1                 |Manifest: NOSIGNATURE         BetterThanMending-2.2.0.jar                       |BetterThanMending             |betterthanmending             |2.2.0               |Manifest: NOSIGNATURE         bibliocraft-1.21.1-1.6.1.jar                      |Bibliocraft Legacy            |bibliocraft                   |1.6.1               |Manifest: NOSIGNATURE         BlockRunner-v21.1.2-1.21.1-NeoForge.jar           |Block Runner                  |blockrunner                   |21.1.2              |Manifest: NOSIGNATURE         blueprint-1.21.1-8.0.5.jar                        |Blueprint                     |blueprint                     |8.0.5               |Manifest: NOSIGNATURE         bookshelf-neoforge-1.21.1-21.1.68.jar             |Bookshelf                     |bookshelf                     |21.1.68             |Manifest: NOSIGNATURE         bookshelves-2.5-neoforge-1.21.1.jar               |Bookshelves                   |bookshelves                   |2.5                 |Manifest: NOSIGNATURE         bouncierbeds-1.21.1-2.5.jar                       |Bouncier Beds                 |bouncierbeds                  |2.5                 |Manifest: NOSIGNATURE         buzzier_bees-1.21.1-7.0.0.jar                     |Buzzier Bees                  |buzzier_bees                  |7.0.0               |Manifest: NOSIGNATURE         Cardiac-NEOFORGE-0.5.3.4+1.21.jar                 |Cardiac                       |cardiac                       |0.5.3.4             |Manifest: NOSIGNATURE         catalogue-neoforge-1.21.1-1.11.1.jar              |Catalogue                     |catalogue                     |1.11.1              |Manifest: NOSIGNATURE         ceilingtorch-1.21.1-1.33.jar                      |Ceiling Torch                 |ceilingtorch                  |1.33                |Manifest: NOSIGNATURE         cfm_wap-1.21.1-neoforge-1.2.0.jar                 |CFM Refurbished: Watt about Po|cfm_wap                       |1.2.0               |Manifest: NOSIGNATURE         charmofundying-neoforge-9.1.0+1.21.1.jar          |Charm of Undying              |charmofundying                |9.1.0+1.21.1        |Manifest: NOSIGNATURE         chat_heads-0.13.20-neoforge-1.21.jar              |Chat Heads                    |chat_heads                    |0.13.20             |Manifest: NOSIGNATURE         ChatImpressiveAnimation-neoforge-1.4.0+mc1.21.5.ja|Chat Impressive Animation     |chatimpressiveanimation       |1.4.0+mc1.21.5      |Manifest: NOSIGNATURE         cherishedworlds-neoforge-10.1.1+1.21.1.jar        |Cherished Worlds              |cherishedworlds               |10.1.1+1.21.1       |Manifest: NOSIGNATURE         chipped-neoforge-1.21.1-4.0.2.jar                 |Chipped                       |chipped                       |4.0.2               |Manifest: NOSIGNATURE         ChippedExpress-universal-21x.jar                  |ChippedExpress                |chipped_express               |1.3.2               |Manifest: NOSIGNATURE         chisel-neoforge-2.0.0+mc1.21.1.jar                |Chisel Reborn                 |chisel                        |2.0.0+mc1.21.1      |Manifest: NOSIGNATURE         chunkloaders-1.2.8-neoforge-mc1.21.jar            |Chunk Loaders                 |chunkloaders                  |1.2.8               |Manifest: NOSIGNATURE         Chunky-NeoForge-1.4.23.jar                        |Chunky                        |chunky                        |1.4.23              |Manifest: NOSIGNATURE         citresewn-neoforge-1.21.1-0.jar                   |CITResewn                     |citresewn                     |0                   |Manifest: NOSIGNATURE         cloth-config-15.0.140-neoforge.jar                |Cloth Config v15 API          |cloth_config                  |15.0.140            |Manifest: NOSIGNATURE         Clumps-neoforge-1.21.1-19.0.0.1.jar               |Clumps                        |clumps                        |19.0.0.1            |Manifest: NOSIGNATURE         colorful-world-1.3b.jar                           |CoffeeG's Colorful World      |mr_coffeegs_colorfulworld     |1.3b                |Manifest: NOSIGNATURE         collective-1.21.1-8.3.jar                         |Collective                    |collective                    |8.3                 |Manifest: NOSIGNATURE         CompletionistsIndex-v21.1.0-1.21.1-NeoForge.jar   |Completionist's Index         |completionistsindex           |21.1.0              |Manifest: NOSIGNATURE         conditional-mixin-neoforge-0.6.4.jar              |conditional mixin             |conditional_mixin             |0.6.4               |Manifest: NOSIGNATURE         configlibtxf-7.2.8-neoforge.jar                   |ConfigLib TXF                 |configlibtxf                  |7.2.8-neoforge      |Manifest: NOSIGNATURE         connectedglass-1.1.14-neoforge-mc1.21.jar         |Connected Glass               |connectedglass                |1.1.14              |Manifest: NOSIGNATURE         connectivity-1.21.1-7.1.jar                       |Connectivity Mod              |connectivity                  |7.1                 |Manifest: NOSIGNATURE         Controlling-neoforge-1.21.1-19.0.5.jar            |Controlling                   |controlling                   |19.0.5              |Manifest: NOSIGNATURE         cookingforblockheads-neoforge-1.21.1-21.1.16.jar  |Cooking for Blockheads        |cookingforblockheads          |21.1.16             |Manifest: NOSIGNATURE         coolrain-1.1.0-1.21.1-neoforge.jar                |Cool Rain                     |coolrain                      |1.1.0               |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         corpsecurioscompat-1.21.1-NeoForge-3.1.2.jar      |Corpse Curios Compatibility   |corpsecurioscompat            |3.1.2               |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         craftingtweaks-neoforge-1.21.1-21.1.6.jar         |Crafting Tweaks               |craftingtweaks                |21.1.6              |Manifest: NOSIGNATURE         CraftingXP 1.21 .1 NeoForge.jar                   |CraftingXP                    |craftingxp                    |1.21.1              |Manifest: NOSIGNATURE         create-1.21.1-6.0.6.jar                           |Create                        |create                        |6.0.6               |Manifest: NOSIGNATURE         create_compressed-2.2.0-neoforge-1.21.1.jar       |Create Compressed             |create_compressed             |2.2.0               |Manifest: NOSIGNATURE         create-confectionery1.21.1_v1.1.2.jar             |Create Confectionery          |create_confectionery          |1.1.2               |Manifest: NOSIGNATURE         createaddition-1.5.2.jar                          |Create Crafts & Additions     |createaddition                |1.5.2               |Manifest: NOSIGNATURE         createdieselgenerators-1.21.1-1.3.4_1.jar         |Create Diesel Generators      |createdieselgenerators        |1.21.1-1.3.4        |Manifest: NOSIGNATURE         Create Encased-1.21.1-1.7.2-fix1.jar              |Create Encased                |createcasing                  |1.7.2-fix1          |Manifest: NOSIGNATURE         create_hypertube-0.2.5-NEOFORGE_1.jar             |Create Hypertube              |create_hypertube              |0.2.5               |Manifest: NOSIGNATURE         create_ltab-3.0.0.jar                             |Create Let The Adventure Begin|create_ltab                   |3.0.0               |Manifest: NOSIGNATURE         sliceanddice-neoforge-4.0.1.jar                   |Create Slice & Dice           |sliceanddice                  |4.0.1               |Manifest: NOSIGNATURE         create-stuff-additions1.21.1_v2.1.0e.jar          |Create Stuff 'N Additions     |create_sa                     |2.1.0.              |Manifest: NOSIGNATURE         bellsandwhistles-0.4.7-1.21.1.jar                 |Create: Bells & Whistles      |bellsandwhistles              |0.4.7-1.21.1        |Manifest: NOSIGNATURE         create_better_motors-3.1.4-1.21.1-neoforge.jar    |Create: Better Motors         |create_better_motors          |3.1.4               |Manifest: NOSIGNATURE         create-central-kitchen-2.1.3.jar                  |Create: Central Kitchen       |create_central_kitchen        |2.1.3               |Manifest: NOSIGNATURE         createchromaticreturn-1.0.1-neoforge-1.21.1.jar   |Create: Chromatic Return      |createchromaticreturn         |1.0.0               |Manifest: NOSIGNATURE         create_connected-1.1.6-mc1.21.1.jar               |Create: Connected             |create_connected              |1.1.6-mc1.21.1      |Manifest: NOSIGNATURE         copycats-3.0.2+mc.1.21.1-neoforge.jar             |Create: Copycats+             |copycats                      |3.0.2+mc.1.21.1-neof|Manifest: NOSIGNATURE         create-dragons-plus-1.6.1.jar                     |Create: Dragons Plus          |create_dragons_plus           |1.6.1               |Manifest: NOSIGNATURE         create_easy_structures-0.2a-neoforge-1.21.1.jar   |Create: Easy Structures       |create_easy_structures        |0.2                 |Manifest: NOSIGNATURE         create-enchantment-industry-2.1.7.jar             |Create: Enchantment Industry  |create_enchantment_industry   |2.1.7               |Manifest: NOSIGNATURE         createfood-neoforge-1.21.1-2.0.0-beta-3.jar       |Create: Food                  |createfood                    |2.0.0-beta-3        |Manifest: NOSIGNATURE         createframed-1.21.1-1.6.8.jar                     |Create: Framed                |createframed                  |1.6.8               |Manifest: NOSIGNATURE         create_oxidized-0.1.3.jar                         |Create: Oxidized              |create_oxidized               |0.1.3               |Manifest: NOSIGNATURE         create_pillagers_arise-118.28.GL-neoforge-1.21.1.j|Create: Pillagers Arise       |create_pillagers_arise        |118.28.             |Manifest: NOSIGNATURE         create_power_loader-2.0.3-mc1.21.1.jar            |Create: Power Loader          |create_power_loader           |2.0.3-mc1.21.1      |Manifest: NOSIGNATURE         create_simple_ore_doubling-1.5.5-neoforge-1.21.1.j|Create: Simple Ore Doubling   |create_simple_ore_doubling    |1.5.5               |Manifest: NOSIGNATURE         create_structures_arise-162.35.34-neoforge-1.21.1.|Create: Structures Arise      |create_structures_arise       |162.35.34           |Manifest: NOSIGNATURE         create_things_and_misc-4.0-neoforge-1.21.1.jar    |create: things and misc       |create_things_and_misc        |1.0.0               |Manifest: NOSIGNATURE         trading_floor-3.0.10.jar                          |Create: Trading Floor         |trading_floor                 |3.0.10              |Manifest: NOSIGNATURE         create_ultimate_factory-2.1.1-neoforge-1.21.1.jar |Create: Ultimate Factory      |create_ultimate_factory       |2.1.1               |Manifest: NOSIGNATURE         create_better_villagers-1.3.2.jar                 |Create_Better_Villagers       |create_better_villagers       |1.3.2               |Manifest: NOSIGNATURE         CreeperOverhaul-neoforge-1.21.1-4.0.6.jar         |Creeper Overhaul              |creeperoverhaul               |4.0.6               |Manifest: NOSIGNATURE         cristellib-neoforge-1.2.8.jar                     |Cristel Lib                   |cristellib                    |1.2.8               |Manifest: NOSIGNATURE         cryonicconfig-neoforge-1.0.0+mc1.21.8.jar         |Cryonic Config                |cryonicconfig                 |1.0.0+mc1.21.8      |Manifest: NOSIGNATURE         cupboard-1.21-2.9.jar                             |Cupboard mod                  |cupboard                      |2.9                 |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         darkpaintings-neoforge-1.21.1-21.1.2.jar          |DarkPaintings                 |darkpaintings                 |21.1.2              |Manifest: NOSIGNATURE         DeathFinder-v21.1.1-1.21.1-NeoForge.jar           |Death Finder                  |deathfinder                   |21.1.1              |Manifest: NOSIGNATURE         deimos-1.21.1-neoforge-2.2.jar                    |Deimos                        |deimos                        |2.2                 |Manifest: NOSIGNATURE         denseores-1.21-1.2.2.jar                          |Dense Ores                    |denseores                     |1.2.2               |Manifest: NOSIGNATURE         diagonalblocks-neoforge-21.1.2.jar                |Diagonal Blocks               |diagonalblocks                |21.1.2              |Manifest: NOSIGNATURE         DiagonalFences-v21.1.1-1.21.1-NeoForge.jar        |Diagonal Fences               |diagonalfences                |21.1.1              |Manifest: NOSIGNATURE         DiagonalWalls-v21.1.2-1.21.1-NeoForge.jar         |Diagonal Walls                |diagonalwalls                 |21.1.2              |Manifest: NOSIGNATURE         DiagonalWindows-v21.1.1-1.21.1-NeoForge.jar       |Diagonal Windows              |diagonalwindows               |21.1.1              |Manifest: NOSIGNATURE         doubledoors-1.21.1-7.1.jar                        |Double Doors                  |doubledoors                   |7.1                 |Manifest: NOSIGNATURE         dungeons-and-taverns-v4.4.4 [NeoForge].jar        |Dungeons and Taverns          |mr_dungeons_andtaverns        |1-v4.4.4            |Manifest: NOSIGNATURE         e4mc_minecraft-neoforge-5.4.1.jar                 |e4mc                          |e4mc_minecraft                |5.4.1               |Manifest: NOSIGNATURE         EasyAnvils-v21.1.0-1.21.1-NeoForge.jar            |Easy Anvils                   |easyanvils                    |21.1.0              |Manifest: NOSIGNATURE         EasyMagic-v21.1.0-1.21.1-NeoForge.jar             |Easy Magic                    |easymagic                     |21.1.0              |Manifest: NOSIGNATURE         easy-villagers-neoforge-1.21.1-1.1.35.jar         |Easy Villagers                |easy_villagers                |1.21.1-1.1.35       |Manifest: NOSIGNATURE         EffectDescriptions-v21.1.1-1.21.1-NeoForge.jar    |Effect Descriptions           |effectdescriptions            |21.1.1              |Manifest: NOSIGNATURE         enchdesc-neoforge-1.21.1-21.1.8.jar               |EnchantmentDescriptions       |enchdesc                      |21.1.8              |Manifest: NOSIGNATURE         EnderZoology-v21.1.3-1.21.1-NeoForge.jar          |Ender Zoology                 |enderzoology                  |21.1.3              |Manifest: NOSIGNATURE         endersdelight-neoforge-1.21.1-1.1.0.jar           |Ender's Delight               |endersdelight                 |1.1.0               |Manifest: NOSIGNATURE         EnhancedNature-1.21-(v.3.0.1-NEO).jar             |Enhanced Nature               |enhanced_nature               |3.0.1               |Manifest: NOSIGNATURE         entityculling-neoforge-1.8.2-mc1.21.jar           |EntityCulling                 |entityculling                 |1.8.2               |Manifest: NOSIGNATURE         EquipmentCompare-1.21.1-neoforge-1.3.13.jar       |Equipment Compare             |equipmentcompare              |1.3.13              |Manifest: NOSIGNATURE         etched-4.0.0.jar                                  |Etched                        |etched                        |4.0.0               |Manifest: NOSIGNATURE         expandability-neoforge-12.0.0.jar                 |ExpandAbility                 |expandability                 |12.0.0              |Manifest: NOSIGNATURE         expandeddelight-0.1.3.2.jar                       |Expanded Delight              |expandeddelight               |0.1.3.2             |Manifest: NOSIGNATURE         expandedstorage-neoforge-1.21.1-14.2.1.jar        |Expanded Storage              |expandedstorage               |14.2.1              |Manifest: NOSIGNATURE         ExplorersCompass-1.21.1-3.0.3-neoforge.jar        |Explorer's Compass            |explorerscompass              |1.21.1-3.0.3-neoforg|Manifest: NOSIGNATURE         extensibleenums-neoforge-21.1.1.jar               |Extensible Enums              |extensibleenums               |21.1.1              |Manifest: NOSIGNATURE         ExtraSoundsNext-neoforge-1.21.1-1.4.jar           |ExtraSoundsNext               |extrasounds                   |1.4                 |Manifest: NOSIGNATURE         extrasponges-neoforge-1.21-1.6.1.jar              |ExtraSponges                  |extrasponges                  |1.6.1               |Manifest: NOSIGNATURE         EyesInTheDarkness-1.21.1-1.4.6.jar                |Eyes in the Darkness          |eyesinthedarkness             |1.4.6               |Manifest: NOSIGNATURE         factory_blocks-neoforge-1.4.0+mc1.21.1.jar        |Factory Blocks                |factory_blocks                |1.4.0+mc1.21.1      |Manifest: NOSIGNATURE         fadeless-neoforge-1.1.0.jar                       |Fadeless                      |fadeless                      |1.1.0               |Manifest: NOSIGNATURE         fallingleaves-1.21.1-2.5.1.jar                    |Fallingleaves                 |fallingleaves                 |2.5.1               |Manifest: NOSIGNATURE         fancymenu_neoforge_3.7.0_MC_1.21.1.jar            |FancyMenu                     |fancymenu                     |3.7.0               |Manifest: NOSIGNATURE         FarmersDelight-1.21.1-1.2.9.jar                   |Farmer's Delight              |farmersdelight                |1.2.9               |Manifest: NOSIGNATURE         farsight-1.21-3.8.jar                             |Farsight mod                  |farsight_view                 |3.8                 |Manifest: NOSIGNATURE         fast-ip-ping-v1.0.7-mc1.21.1-neoforge.jar         |Fast IP Ping                  |fastipping                    |1.0.7               |Manifest: NOSIGNATURE         FastWorkbench-1.21.1-9.1.3.jar                    |Fast Workbench                |fastbench                     |9.1.3               |Manifest: NOSIGNATURE         FastFurnace-1.21.1-9.0.1.jar                      |FastFurnace                   |fastfurnace                   |9.0.1               |Manifest: NOSIGNATURE         fastleafdecay-35.jar                              |FastLeafDecay                 |fastleafdecay                 |35                  |Manifest: NOSIGNATURE         ferritecore-7.0.2-neoforge.jar                    |Ferrite Core                  |ferritecore                   |7.0.2               |Manifest: 41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a         fixedanvilrepaircost-1.21.1-3.5.jar               |Fixed Anvil Repair Cost       |fixedanvilrepaircost          |3.5                 |Manifest: NOSIGNATURE         flywheel-neoforge-1.21.1-1.0.4.jar                |Flywheel                      |flywheel                      |1.0.4               |Manifest: NOSIGNATURE         fabric-api-base-0.4.42+d1308dedd1.jar             |Forgified Fabric API Base     |fabric_api_base               |0.4.42+d1308dedd1   |Manifest: NOSIGNATURE         fabric-block-view-api-v2-1.0.10+9afaaf8c19.jar    |Forgified Fabric BlockView API|fabric_block_view_api_v2      |1.0.10+9afaaf8c19   |Manifest: NOSIGNATURE         fabric-game-rule-api-v1-1.0.53+36d727be19.jar     |Forgified Fabric Game Rule API|fabric_game_rule_api_v1       |1.0.53+36d727be19   |Manifest: NOSIGNATURE         fabric-model-loading-api-v1-2.0.0+986ae77219.jar  |Forgified Fabric Model Loading|fabric_model_loading_api_v1   |2.0.0+986ae77219    |Manifest: NOSIGNATURE         fabric-renderer-indigo-1.7.0+acb05a3919.jar       |Forgified Fabric Renderer - In|fabric_renderer_indigo        |1.7.0+acb05a3919    |Manifest: NOSIGNATURE         fabric-renderer-api-v1-3.4.0+acb05a3919.jar       |Forgified Fabric Renderer API |fabric_renderer_api_v1        |3.4.0+acb05a3919    |Manifest: NOSIGNATURE         fabric-rendering-data-attachment-v1-0.3.48+73761d2|Forgified Fabric Rendering Dat|fabric_rendering_data_attachme|0.3.48+73761d2e19   |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         ftb-library-neoforge-2101.1.19.jar                |FTB Library                   |ftblibrary                    |2101.1.19           |Manifest: NOSIGNATURE         ftb-quests-neoforge-2101.1.14.jar                 |FTB Quests                    |ftbquests                     |2101.1.14           |Manifest: NOSIGNATURE         ftb-teams-neoforge-2101.1.3.jar                   |FTB Teams                     |ftbteams                      |2101.1.3            |Manifest: NOSIGNATURE         ftb-xmod-compat-neoforge-21.1.5.jar               |FTB XMod Compat               |ftbxmodcompat                 |21.1.5              |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         hats-neoforge-1.21.1-1.2.1.jar                    |Galena Hats                   |galena_hats                   |1.21.1-1.2.1        |Manifest: NOSIGNATURE         geckolib-neoforge-1.21.1-4.7.7.jar                |GeckoLib 4                    |geckolib                      |4.7.7               |Manifest: NOSIGNATURE         Geophilic v3.4.3 f15-80.mod.jar                   |Geophilic                     |geophilic                     |3.4.3               |Manifest: NOSIGNATURE         guardvillagers-2.3.2-1.21.1.jar                   |Guard Villagers               |guardvillagers                |2.3.2               |Manifest: NOSIGNATURE         guideme-21.1.14.jar                               |GuideME                       |guideme                       |21.1.14             |Manifest: NOSIGNATURE         handoveryouritems-1.21.1-3.6.jar                  |Hand Over Your Items          |handoveryouritems             |3.6                 |Manifest: NOSIGNATURE         handcrafted-neoforge-1.21.1-4.0.3.jar             |Handcrafted                   |handcrafted                   |4.0.3               |Manifest: NOSIGNATURE         HangGlider-v21.1.0-1.21.1-NeoForge.jar            |Hang Glider                   |hangglider                    |21.1.0              |Manifest: NOSIGNATURE         healingcampfire-1.21.1-6.2.jar                    |Healing Campfire              |healingcampfire               |6.2                 |Manifest: NOSIGNATURE         him-2.0.2-neoforge-1.21.1.jar                     |him                           |him                           |2.0.1               |Manifest: NOSIGNATURE         HopoBetterMineshaft-[1.21-1.21.3]-1.3.0b.jar      |HopoBetterMineshaft           |hopo                          |1.3.0               |Manifest: NOSIGNATURE         HopoBetterRuinedPortals-[1.21.1-1.21.3]-1.4.4b.jar|HopoBetterRuinedPortals       |hoporp                        |1.4.4               |Manifest: NOSIGNATURE         HopoBetterUnderwaterRuins-[1.21.1-1.21.3]-1.2.1b.j|HopoBetterUnderwaterRuins     |hopour                        |1.2.1               |Manifest: NOSIGNATURE         HorseExpert-v21.1.0-1.21.1-NeoForge.jar           |Horse Expert                  |horseexpert                   |21.1.0              |Manifest: NOSIGNATURE         Iceberg-1.21.1-neoforge-1.3.2.jar                 |Iceberg                       |iceberg                       |1.3.2               |Manifest: NOSIGNATURE         ImmediatelyFast-NeoForge-1.6.6+1.21.1.jar         |ImmediatelyFast               |immediatelyfast               |1.6.6+1.21.1        |Manifest: NOSIGNATURE         immersive_aircraft-1.3.3+1.21.1-neoforge.jar      |Immersive Aircraft            |immersive_aircraft            |1.3.3+1.21.1        |Manifest: NOSIGNATURE         immersivethunder-neoforge-1.21.1-1.3.0.jar        |Immersive Thunder             |immersivethunder              |1.3.0               |Manifest: NOSIGNATURE         ImmersiveUI-NEOFORGE-0.3.3+1.21.1.jar             |ImmersiveUI                   |immersiveui                   |0.3.3               |Manifest: NOSIGNATURE         infinitetrading-1.21.1-4.6.jar                    |Infinite Trading              |infinitetrading               |4.6                 |Manifest: NOSIGNATURE         iris-neoforge-1.8.12+mc1.21.1.jar                 |Iris                          |iris                          |1.8.12-snapshot+mc1.|Manifest: NOSIGNATURE         ironbookshelves-1.21.1-1.4.11-neoforge.jar        |Iron Bookshelves              |ironbookshelves               |1.21.1-1.4.11-neofor|Manifest: NOSIGNATURE         ItemBorders-1.21-neoforge-1.2.5.jar               |Item Borders                  |itemborders                   |1.2.5               |Manifest: NOSIGNATURE         Jade-1.21.1-NeoForge-15.10.3.jar                  |Jade                          |jade                          |15.10.3+neoforge    |Manifest: NOSIGNATURE         JadeAddons-1.21.1-NeoForge-6.1.0.jar              |Jade Addons                   |jadeaddons                    |6.1.0+neoforge      |Manifest: NOSIGNATURE         jamlib-neoforge-1.3.5+1.21.1.jar                  |JamLib                        |jamlib                        |1.3.5+1.21.1        |Manifest: NOSIGNATURE         jumpboat-1.21.0-1.0.5.jar                         |Jumpy Boats                   |jumpboat                      |1.21.0-1.0.5        |Manifest: NOSIGNATURE         justenoughbreeding-neoforge-1.21-1.21.1-1.6.2.jar |Just Enough Breeding          |justenoughbreeding            |1.6.2               |Manifest: NOSIGNATURE         jeed-1.21-2.2.19.jar                              |Just Enough Effects Descriptio|jeed                          |1.21-2.2.19         |Manifest: NOSIGNATURE         jei-1.21.1-neoforge-19.22.1.316.jar               |Just Enough Items             |jei                           |19.22.1.316         |Manifest: NOSIGNATURE         JustEnoughProfessions-neoforge-1.21.1-4.0.4.jar   |Just Enough Professions (JEP) |justenoughprofessions         |4.0.4               |Manifest: NOSIGNATURE         Kiwi-1.21.1-NeoForge-15.6.2.jar                   |Kiwi Library                  |kiwi                          |15.6.2+neoforge     |Manifest: NOSIGNATURE         konkrete_neoforge_1.9.9_MC_1.21.jar               |Konkrete                      |konkrete                      |1.9.9               |Manifest: NOSIGNATURE         thedarkcolour.kffmod-5.9.0.jar                    |Kotlin For Forge              |kotlinforforge                |5.9.0               |Manifest: NOSIGNATURE         kubejs-neoforge-2101.7.1-build.181.jar            |KubeJS                        |kubejs                        |2101.7.1-build.181  |Manifest: NOSIGNATURE         kuma-api-neoforge-21.0.5+1.21.jar                 |KumaAPI                       |kuma_api                      |21.0.5              |Manifest: NOSIGNATURE         mcwifipnp-1.9.0-1.21-neoforge.jar                 |LAN World Plug-n-Play         |mcwifipnp                     |1.9.0               |Manifest: NOSIGNATURE         LegendaryTooltips-1.21.1-neoforge-1.5.5.jar       |Legendary Tooltips            |legendarytooltips             |1.5.5               |Manifest: NOSIGNATURE         libIPN-neoforge-1.21-6.5.1.jar                    |libIPN                        |libipn                        |6.5.1               |Manifest: NOSIGNATURE         lithium-neoforge-0.15.0+mc1.21.1.jar              |Lithium                       |lithium                       |0.15.0+mc1.21.1     |Manifest: NOSIGNATURE         lootr-neoforge-1.21-1.10.35.91.jar                |Lootr                         |lootr                         |1.21-1.10.35.91     |Manifest: NOSIGNATURE         lukis-crazy-chambers-1.0.2.jar                    |Luki's Crazy Chambers         |mr_lukis_crazychambers        |1.0.2               |Manifest: NOSIGNATURE         mru-1.0.19+LTS+1.21.1+neoforge.jar                |M.R.U                         |mru                           |1.0.19+LTS+1.21.1+ne|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-paintings-1.0.5-1.21.1neoforge.jar            |Macaw's Paintings             |mcwpaintings                  |1.0.5               |Manifest: NOSIGNATURE         mcw-paths-1.1.0neoforge-mc1.21.1.jar              |Macaw's Paths and Pavings     |mcwpaths                      |1.1.0               |Manifest: NOSIGNATURE         mcw-roofs-2.3.2-mc1.21.1neoforge.jar              |Macaw's Roofs                 |mcwroofs                      |2.3.2               |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         MagnumTorch-v21.1.0-1.21.1-NeoForge.jar           |Magnum Torch                  |magnumtorch                   |21.1.0              |Manifest: NOSIGNATURE         man_of_many_planes-0.2.1+1.21.1-neoforge.jar      |Man of Many Planes            |man_of_many_planes            |0.2.1+1.21.1        |Manifest: NOSIGNATURE         Mekanism-1.21.1-10.7.15.81.jar                    |Mekanism                      |mekanism                      |10.7.15             |Manifest: NOSIGNATURE         MekanismAdditions-1.21.1-10.7.15.81.jar           |Mekanism: Additions           |mekanismadditions             |10.7.15             |Manifest: NOSIGNATURE         MekanismGenerators-1.21.1-10.7.15.81.jar          |Mekanism: Generators          |mekanismgenerators            |10.7.15             |Manifest: NOSIGNATURE         MekanismTools-1.21.1-10.7.15.81.jar               |Mekanism: Tools               |mekanismtools                 |10.7.15             |Manifest: NOSIGNATURE         melody_neoforge_1.0.10_MC_1.21.jar                |Melody                        |melody                        |1.0.10              |Manifest: NOSIGNATURE         midnightlib-1.7.5-neoforge+1.21.1.jar             |MidnightLib                   |midnightlib                   |1.7.5               |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         MobLassos-v21.1.0-1.21.1-NeoForge.jar             |Mob Lassos                    |moblassos                     |21.1.0              |Manifest: NOSIGNATURE         modernfix-neoforge-5.24.3+mc1.21.1.jar            |ModernFix                     |modernfix                     |5.24.3+mc1.21.1     |Manifest: NOSIGNATURE         modpack-update-checker-1.21.1-neoforge-0.15.6.jar |Modpack Update Checker        |modpackupdatechecker          |0.15.6              |Manifest: 4f:88:cf:0c:4c:fd:bd:e8:35:93:f6:9f:0e:12:30:77:82:b3:66:1e:b0:ca:bc:29:a8:0b:91:83:c6:7d:81:19         mmv-1.1.2-1.21.jar                                |Moog's Structures Template    |mmv                           |1.1.2-1.21          |Manifest: NOSIGNATURE         moonlight-1.21-2.22.2-neoforge.jar                |Moonlight Lib                 |moonlight                     |1.21-2.22.2         |Manifest: NOSIGNATURE         morediscs-1.21.1-neoforge-35.jar                  |More Music Discs              |morediscs                     |35                  |Manifest: NOSIGNATURE         moreoverlays-1.24.1-mc1.21.1-neoforge.jar         |More Overlays Updated         |moreoverlays                  |1.24.1              |Manifest: NOSIGNATURE         morevanillashields-1.0.2-1.21.1.jar               |More Vanilla Shields          |morevanillashields            |1.0.2-1.21.1        |Manifest: NOSIGNATURE         MouseTweaks-neoforge-mc1.21-2.26.1.jar            |Mouse Tweaks                  |mousetweaks                   |2.26.1              |Manifest: NOSIGNATURE         1.21-neo-0.1.2.jar                                |MPUC lavender-md              |mpuc_lavendermd               |0.1.2               |Manifest: 4f:88:cf:0c:4c:fd:bd:e8:35:93:f6:9f:0e:12:30:77:82:b3:66:1e:b0:ca:bc:29:a8:0b:91:83:c6:7d:81:19         refurbished_furniture-neoforge-1.21.1-1.0.16.jar  |MrCrayfish's Furniture Mod: Re|refurbished_furniture         |1.0.16              |Manifest: NOSIGNATURE         MutantMonsters-v21.1.0-1.21.1-NeoForge.jar        |Mutant Monsters               |mutantmonsters                |21.1.0              |Manifest: NOSIGNATURE         MyNethersDelight-1.21.1-1.8.jar                   |My Nether's Delight           |mynethersdelight              |1.8                 |Manifest: NOSIGNATURE         nametagtweaks-1.21.1-4.0.jar                      |Name Tag Tweaks               |nametagtweaks                 |4.0                 |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.203-universal.jar                   |NeoForge                      |neoforge                      |21.1.203            |Manifest: NOSIGNATURE         neoforgedatapackextensions-neoforge-21.1.2.jar    |NeoForge Data Pack Extensions |neoforgedatapackextensions    |21.1.2              |Manifest: NOSIGNATURE         netherportalfix-neoforge-1.21.1-21.1.1.jar        |NetherPortalFix               |netherportalfix               |21.1.1              |Manifest: NOSIGNATURE         nofeathertrample-1.21.1-1.3.jar                   |No Feather Trample            |nofeathertrample              |1.3                 |Manifest: NOSIGNATURE         noisium-neoforge-2.3.0+mc1.21-1.21.1.jar          |Noisium                       |noisium                       |2.3.0+mc1.21-1.21.1 |Manifest: NOSIGNATURE         Not Enough Recipe Book-NEOFORGE-0.4.3+1.21.jar    |Not Enough Recipe Book        |nerb                          |0.4.3               |Manifest: NOSIGNATURE         notenoughanimations-neoforge-1.10.1-mc1.21.jar    |NotEnoughAnimations           |notenoughanimations           |1.10.1              |Manifest: NOSIGNATURE         OctoLib-NEOFORGE-0.6.0.3+1.21.jar                 |OctoLib                       |octolib                       |0.6.0.3             |Manifest: NOSIGNATURE         Oreganized 1.21.1-5.0.0.jar                       |Oreganized                    |oreganized                    |5.0.0               |Manifest: NOSIGNATURE         overloadedarmorbar-neoforge-1.21-2.jar            |OverloadedArmorBar            |overloadedarmorbar            |2                   |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         packetfixer-3.1.4-1.20.5-1.21.X-merged.jar        |PacketFixer                   |packetfixer                   |3.1.4               |Manifest: NOSIGNATURE         particle_effects-1.21.1-NeoForge-1.0.1.jar        |Particle Effects              |particle_effects              |1.0.1               |Manifest: NOSIGNATURE         particular-1.21.1-NeoForge-1.1.6.jar              |Particular                    |particular                    |1.1.6               |Manifest: NOSIGNATURE         Perception-NEOFORGE-0.1.6+1.21.1.jar              |Perception                    |perception                    |0.1.6               |Manifest: NOSIGNATURE         PermanentSponges-v21.1.0-1.21.1-NeoForge.jar      |Permanent Sponges             |permanentsponges              |21.1.0              |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         platform-neoforge-1.21.1-1.2.10.2.jar             |Platform                      |platform                      |1.2.10.2            |Manifest: NOSIGNATURE         player-animation-lib-forge-2.0.1+1.21.1.jar       |Player Animator               |playeranimator                |2.0.1+1.21.1        |Manifest: NOSIGNATURE         plushies-neoforge-1.5.1.jar                       |Plushie Mod                   |plushies                      |1.5.1               |Manifest: NOSIGNATURE         Ponder-NeoForge-1.21.1-1.0.56.jar                 |Ponder                        |ponder                        |1.0.56              |Manifest: NOSIGNATURE         PortableHole-v21.1.0-1.21.1-NeoForge.jar          |Portable Hole                 |portablehole                  |21.1.0              |Manifest: NOSIGNATURE         prickle-neoforge-1.21.1-21.1.10.jar               |PrickleMC                     |prickle                       |21.1.10             |Manifest: NOSIGNATURE         Prism-1.21.1-neoforge-1.0.11.jar                  |Prism                         |prism                         |1.0.11              |Manifest: NOSIGNATURE         ProPlacer-v21.1.1-1.21.1-NeoForge.jar             |Pro Placer                    |proplacer                     |21.1.1              |Manifest: NOSIGNATURE         PuzzlesLib-v21.1.38-1.21.1-NeoForge.jar           |Puzzles Lib                   |puzzleslib                    |21.1.38             |Manifest: NOSIGNATURE         AdditionalEnchantedMiner-1.21.1-neoforge-21.1.119.|QuarryPlus                    |quarryplus                    |21.1.119            |Manifest: ef:50:af:b3:03:e0:3e:70:a7:ef:78:77:a5:4d:d4:b5:07:ec:df:9d:d6:f3:12:13:c9:3c:cd:9a:0a:3e:6b:43         rarcompat-1.21-0.9.6.jar                          |RAR-Compat                    |rarcompat                     |0.9.6               |Manifest: NOSIGNATURE         rechiseled-1.1.6a-neoforge-mc1.21.jar             |Rechiseled                    |rechiseled                    |1.1.6+a             |Manifest: NOSIGNATURE         rechiseledcreate-1.0.2a-neoforge-mc1.21.jar       |Rechiseled: Create            |rechiseledcreate              |1.0.2+a             |Manifest: NOSIGNATURE         reeses-sodium-options-neoforge-1.8.3+mc1.21.4.jar |Reese's Sodium Options        |reeses_sodium_options         |1.8.3+mc1.21.4      |Manifest: NOSIGNATURE         relics-1.21.1-0.11.jar                            |Relics                        |relics                        |0.11                |Manifest: NOSIGNATURE         replantingcrops-1.21.1-5.5.jar                    |Replanting Crops              |replantingcrops               |5.5                 |Manifest: NOSIGNATURE         repurposed_structures-7.5.17+1.21.1-neoforge.jar  |Repurposed Structures         |repurposed_structures         |7.5.17+1.21.1-neofor|Manifest: NOSIGNATURE         resourcelibrary-neoforge-1.21.1-2.8.0.jar         |Resource Library              |resourcelibrary               |1.21.1-2.8.0        |Manifest: NOSIGNATURE         resource_nether_ores-neoforge-1.21.1-2.1.0.jar    |Resource Nether Ores          |resource_nether_ores          |2.1.0               |Manifest: NOSIGNATURE         resourcefullib-neoforge-1.21-3.0.12.jar           |Resourceful Lib               |resourcefullib                |3.0.12              |Manifest: NOSIGNATURE         resourcefulconfig-neoforge-1.21-3.0.11.jar        |Resourcefulconfig             |resourcefulconfig             |3.0.11              |Manifest: NOSIGNATURE         rhino-2101.2.7-build.77.jar                       |Rhino                         |rhino                         |2101.2.7-build.77   |Manifest: NOSIGNATURE         rightclickharvest-neoforge-4.5.3+1.21.1.jar       |Right Click Harvest           |rightclickharvest             |4.5.3+1.21.1        |Manifest: NOSIGNATURE         satisfying_buttons-neoforge-1.1.2-1.21.1.jar      |Satisfying Buttons            |satisfying_buttons            |1.1.1               |Manifest: NOSIGNATURE         Searchables-neoforge-1.21.1-1.0.2.jar             |Searchables                   |searchables                   |1.0.2               |Manifest: NOSIGNATURE         simple_weather-1.0.13.jar                         |Simple Weather                |simple_weather                |1.0.13              |Manifest: NOSIGNATURE         simplehats-neoforge-1.21.1-0.4.0.jar              |SimpleHats                    |simplehats                    |0.4.0               |Manifest: NOSIGNATURE         simplylight-1.5.3+1.21.1-b4.jar                   |Simply Light                  |simplylight                   |1.5.3               |Manifest: NOSIGNATURE         SkinnedCarts-1.21-6.0.1.jar                       |Skinned Carts                 |skinnedcarts                  |6.0.1               |Manifest: NOSIGNATURE         sleepsooner-1.21.1-4.7.jar                        |Sleep Sooner                  |sleepsooner                   |4.7                 |Manifest: NOSIGNATURE         smallernetherportals-1.21.1-3.9.jar               |Smaller Nether Portals        |smallernetherportals          |3.9                 |Manifest: NOSIGNATURE         SmartBrainLib-neoforge-1.21.1-1.16.10.jar         |SmartBrainLib                 |smartbrainlib                 |1.16.10             |Manifest: NOSIGNATURE         smoothchunk-1.21-4.1.jar                          |Smoothchunk mod               |smoothchunk                   |4.1                 |Manifest: NOSIGNATURE         snowundertrees-1.21.1-1.5.jar                     |Snow Under Trees              |snowundertrees                |1.5                 |Manifest: NOSIGNATURE         SnowRealMagic-1.21.1-NeoForge-12.1.2.jar          |Snow! Real Magic!             |snowrealmagic                 |12.1.2+neoforge     |Manifest: NOSIGNATURE         sodium-neoforge-0.6.13+mc1.21.1.jar               |Sodium                        |sodium                        |0.6.13+mc1.21.1     |Manifest: NOSIGNATURE         sodiumdynamiclights-neoforge-1.0.10-1.21.1.jar    |Sodium Dynamic Lights         |sodiumdynamiclights           |1.0.9               |Manifest: NOSIGNATURE         sodiumextras-neoforge-1.0.8-1.21.1.jar            |Sodium Extras                 |sodiumextras                  |1.0.7               |Manifest: NOSIGNATURE         sodiumoptionsapi-neoforge-1.0.10-1.21.1.jar       |Sodium Options API            |sodiumoptionsapi              |1.0.10              |Manifest: NOSIGNATURE         sodiumoptionsmodcompat-neoforge-1.0.0-1.21.1.jar  |Sodium Options Mod Compat     |sodiumoptionsmodcompat        |1.0.0               |Manifest: NOSIGNATURE         someassemblyrequired-5.2.2.jar                    |Some Assembly Required        |someassemblyrequired          |5.2.2               |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.64.1090.jar          |Sophisticated Core            |sophisticatedcore             |1.3.64              |Manifest: NOSIGNATURE         sound-physics-remastered-neoforge-1.21.1-1.4.10.ja|Sound Physics Remastered      |sound_physics_remastered      |1.21.1-1.4.10       |Manifest: NOSIGNATURE         sounds-2.4.13.1+lts+1.21.1+neoforge.jar           |Sounds                        |sounds                        |2.4.13.1+lts+1.21.1+|Manifest: NOSIGNATURE         spark-1.10.124-neoforge.jar                       |spark                         |spark                         |1.10.124            |Manifest: NOSIGNATURE         sparsestructures-neoforge-1.21.1-3.0.jar          |SparseStructures              |sparsestructures              |3.0                 |Manifest: NOSIGNATURE         spectrelib-neoforge-0.17.2+1.21.jar               |SpectreLib                    |spectrelib                    |0.17.2+1.21         |Manifest: NOSIGNATURE         SpikySpikes-v21.1.1-1.21.1-NeoForge.jar           |Spiky Spikes                  |spikyspikes                   |21.1.1              |Manifest: NOSIGNATURE         statuemenus-neoforge-21.1.0.jar                   |Statue Menus                  |statuemenus                   |21.1.0              |Manifest: NOSIGNATURE         stickyenchantinglapis-1.21.1-1.5.jar              |Sticky Enchanting Lapis       |stickyenchantinglapis         |1.5                 |Manifest: NOSIGNATURE         StorageDrawers-neoforge-1.21.1-13.11.1.jar        |Storage Drawers               |storagedrawers                |13.11.1             |Manifest: NOSIGNATURE         StrawStatues-v21.1.0-1.21.1-NeoForge.jar          |Straw Statues                 |strawstatues                  |21.1.0              |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         supplementaries-1.21-3.4.9-neoforge.jar           |Supplementaries               |supplementaries               |1.21-3.4.9          |Manifest: NOSIGNATURE         sweety_archaeology-1.0.9b-neoforge-1.21.1.jar     |Sweety's Archaeology          |sweety_archaeology            |1.0.9               |Manifest: NOSIGNATURE         sweety_garden-1.0.1-neoforge-1.21.1.jar           |Sweety's Garden               |sweety_garden                 |1.0.1               |Manifest: NOSIGNATURE         TCTcore-1.21.1.jar                                |tctcore                       |tctcore                       |2.0                 |Manifest: NOSIGNATURE         tide-neoforge-1.21-1.6.3.jar                      |Tide                          |tide                          |1.6.3               |Manifest: NOSIGNATURE         TinySkeletons-v21.1.0-1.21.1-NeoForge.jar         |Tiny Skeletons                |tinyskeletons                 |21.1.0              |Manifest: NOSIGNATURE         toofast-1.21.0-0.4.3.5.jar                        |Too Fast                      |toofast                       |0.4.3.5             |Manifest: NOSIGNATURE         t_and_t-neoforge-fabric-1.13.2.jar                |Towns and Towers              |t_and_t                       |1.13.2              |Manifest: NOSIGNATURE         TradingPost-v21.1.0-1.21.1-NeoForge.jar           |Trading Post                  |tradingpost                   |21.1.0              |Manifest: NOSIGNATURE         TRansition-1.0.3-1.21-neoforge-SNAPSHOT.jar       |TRansition                    |transition                    |1.0.3               |Manifest: NOSIGNATURE         trashcans-1.0.18c-neoforge-mc1.21.jar             |Trash Cans                    |trashcans                     |1.0.18+c            |Manifest: NOSIGNATURE         trashslot-neoforge-1.21.1-21.1.4.jar              |TrashSlot                     |trashslot                     |21.1.4              |Manifest: NOSIGNATURE         TRender-1.0.5-1.21-neoforge-SNAPSHOT.jar          |TRender                       |trender                       |1.0.5               |Manifest: NOSIGNATURE         trimmable_tools-neoforge-1.21.1-2.0.5.jar         |Trimmable Tools               |trimmable_tools               |2.0.5               |Manifest: NOSIGNATURE         UniversalBoneMeal-v21.1.0-1.21.1-NeoForge.jar     |Universal Bone Meal           |universalbonemeal             |21.1.0              |Manifest: NOSIGNATURE         sawmill-1.21-1.5.22-neoforge.jar                  |Universal Sawmill             |sawmill                       |1.21-1.5.22         |Manifest: NOSIGNATURE         vanillazoom-1.21.1-2.8.jar                        |Vanilla Zoom                  |vanillazoom                   |2.8                 |Manifest: NOSIGNATURE         VisualWorkbench-v21.1.1-1.21.1-NeoForge.jar       |Visual Workbench              |visualworkbench               |21.1.1              |Manifest: NOSIGNATURE         visuality-forge-2.1.0.jar                         |Visuality: Reforged           |visuality                     |2.1.0               |Manifest: NOSIGNATURE         wakes-1.21.1-NeoForge-1.0.2.jar                   |Wakes                         |wakes                         |1.0.2               |Manifest: NOSIGNATURE         worldplaytime-1.2.2-1.21-NEOFORGE.jar             |World Play Time               |worldplaytime                 |1.2.2               |Manifest: NOSIGNATURE         xptome-1.21.1-2.4.jar                             |XP Tome                       |xpbook                        |2.4                 |Manifest: NOSIGNATURE         yeetusexperimentus-neoforge-87.0.0.jar            |Yeetus Experimentus           |yeetusexperimentus            |87.0.0              |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: d3322bc4-8aef-4225-92bb-bb873ab76ea0     FML: 4.0.41     NeoForge: 21.1.203     Flywheel Backend: flywheel:off    
    • I have the same problem, but after research I still can't find a solution. Can you give me your list of mods so I know if we have one in common, and if that's the reason?
    • 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?
  • Topics

  • Who's Online (See full list)

    • There are no registered users currently online
×
×
  • Create New...

Important Information

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