Jump to content

Recommended Posts

Posted

So I have a machine block that has textures for when the machine is running and when it is not.  Rather than use two separate blocks to represent these states like the vanilla furnace does, I use a custom block renderer that checks an integer in the block's corresponding tile entity to accomplish this.  It works for the most part, except that the block's texture won't update unless I break a different block (tall grass, dirt, etc).  It seems like it's a really basic fix, but I'm not sure what I need to add.

 

I've included all the classes relevant to the block in case any of them need to be modified.

 

package com.trekkiecub.hodgepodge.init;

import com.trekkiecub.hodgepodge.mod_TrekkieCubHodgePodge;
import com.trekkiecub.hodgepodge.proxy.Proxy_Client;

import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;

public class Block_Slicer extends Block_Machine{

protected Block_Slicer(Material p_i45386_1_) {
	super(p_i45386_1_);
	// TODO Auto-generated constructor stub
}

@Override public int getRenderType()
{
	return Proxy_Client.renderType_Slicer;
}

@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int metadata, float a, float b, float c)
{
	TileEntity tileEntity = world.getTileEntity(x, y, z);
	if (tileEntity == null || player.isSneaking())
		return false;

	player.openGui(mod_TrekkieCubHodgePodge.MODID, 0, world, x, y, z);
	return true;
}

@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
	// TODO Auto-generated method stub
	return new TileEntity_Slicer();
}

}

 

package com.trekkiecub.hodgepodge.init;

import java.util.Random;

import com.trekkiecub.hodgepodge.proxy.Proxy_Client;

import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;

public class Block_Machine extends BlockContainer {
public IIcon front_on, front_off, front, top, side;

@Override
public void registerBlockIcons(IIconRegister reg)
{
	this.front_on = reg.registerIcon(this.textureName + "_front_on");
	this.front_off = reg.registerIcon(this.textureName + "_front_off");
	this.front = reg.registerIcon("trekkiecub_techythings:invisible");
	this.top = reg.registerIcon(this.textureName + "_top");
	this.side = reg.registerIcon(this.textureName + "_side");
}

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

@Override public boolean canRenderInPass(int pass)
{
	Proxy_Client.renderPass = pass;
	return true;
}

@Override
public void onBlockAdded(World world, int xcoord, int ycoord, int zcoord)
{
	super.onBlockAdded(world, xcoord, ycoord, zcoord);
	setRotatedMetadata(world, xcoord, ycoord, zcoord);
	System.out.println("X: " + xcoord + ", Y: " + ycoord + ", Z: " + zcoord);
}

public void onBlockPlacedBy(World world, int xcoord, int ycoord, int zcoord, EntityLivingBase player, ItemStack theBlock)
{
	int direction = MathHelper.floor_double((double)(player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
	switch (direction)
	{
	case 0:
		world.setBlockMetadataWithNotify(xcoord, ycoord, zcoord, 2, 2);
		break;
	case 1:
		world.setBlockMetadataWithNotify(xcoord, ycoord, zcoord, 5, 2);
		break;
	case 2:
		world.setBlockMetadataWithNotify(xcoord, ycoord, zcoord, 3, 2);
		break;
	case 3:
		world.setBlockMetadataWithNotify(xcoord, ycoord, zcoord, 4, 2);
		break;
	}
}

private void setRotatedMetadata(World world, int xcoord, int ycoord, int zcoord)
{
	if (!world.isRemote)
	{
		Block north = world.getBlock(xcoord, ycoord, zcoord-1);
		Block south = world.getBlock(xcoord, ycoord, zcoord+1);
		Block east = world.getBlock(xcoord-1, ycoord, zcoord);
		Block west = world.getBlock(xcoord+1, ycoord, zcoord);
		byte newMeta = 3;
		if (north.func_149730_j() && !south.func_149730_j())
		{
			newMeta = 3;
		}
		if (south.func_149730_j() && !north.func_149730_j())
		{
			newMeta = 2;
		}
		if (east.func_149730_j() && !west.func_149730_j())
		{
			newMeta = 5;
		}
		if (west.func_149730_j() && !east.func_149730_j())
		{
			newMeta = 4;
		}
		world.setBlockMetadataWithNotify(xcoord, ycoord, zcoord, newMeta, 2);
	}
}

@Override
public IIcon getIcon(int dir, int meta)
{

	if (meta > 5)
		meta = 5;

	if (dir == 4 && meta == 0)
	{
		return this.front;
	}
	else if (meta == -1)
	{
		return this.front_off;
	}
	else if (meta == -2)
	{
		return this.front_on;
	}
	if (dir == 1)
		return this.top;
	if (dir == meta)
	{
		return this.front;
	}

	return this.side;
}

@Override public int getRenderBlockPass() {return 1;}

protected Block_Machine(Material p_i45386_1_) {
	super(p_i45386_1_);
	// TODO Auto-generated constructor stub
}

@Override
public void breakBlock(World world, int x, int y, int z, Block block, int par6)
{
	dropItems(world, x, y, z);
	super.breakBlock(world, x, y, z, block, par6);
}

private void dropItems(World world, int x, int y, int z)
{
	Random rand = new Random();
	TileEntity tileEntity = world.getTileEntity(x, y, z);

	if (!(tileEntity instanceof IInventory))
	{
		return;
	}
	IInventory inventory = (IInventory) tileEntity;

	for (int i = 0; i < inventory.getSizeInventory(); i++)
	{
		ItemStack item = inventory.getStackInSlot(i);

		if (item != null && item.stackSize > 0)
		{
			float randX = rand.nextFloat() * 0.8F + 0.1F;
			float randY = rand.nextFloat() * 0.8F + 0.1F;
			float randZ = rand.nextFloat() * 0.8F + 0.1F;

			EntityItem entityItem = new EntityItem(world, x+randX, y+randY, z+randZ, new ItemStack(item.getItem(), item.stackSize, item.getItemDamage()));

			if (item.hasTagCompound())
			{
				entityItem.getEntityItem().setTagCompound((NBTTagCompound) item.getTagCompound().copy());
			}

			float factor = 0.05F;
			entityItem.motionX = rand.nextGaussian() * factor;
			entityItem.motionY = rand.nextGaussian() * factor + 0.2F;
			entityItem.motionZ = rand.nextGaussian() * factor;
			world.spawnEntityInWorld(entityItem);
			item.stackSize = 0;
		}
	}
}

@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
	// TODO Auto-generated method stub
	return null;
}

}

 

package com.trekkiecub.hodgepodge.init;

import java.util.HashMap;
import java.util.Map;
import java.util.Random;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;

public class TileEntity_Slicer extends TileEntity implements IInventory{
private ItemStack[] itemStacks;
private Map recipeList = new HashMap();
public int processTime;
public final int TICKS_DONE = 100;

class recipeEntry
{
	Item output_one, output_two;
	double quantity;

	public recipeEntry(Item output_one, Item output_two, double quantity)
	{
		this.output_one = output_one;
		this.output_two = output_two;
		this.quantity = quantity;
	}
	public void setQuantity(double quant)
	{
		this.quantity = quant;
	}
}

public TileEntity_Slicer()
{
	itemStacks = new ItemStack[3];

	recipeList.put(Items.iron_ingot, new recipeEntry(ItemInit.Half_Ingot_Iron, ItemInit.Half_Ingot_Iron, 1));
	recipeList.put(ItemInit.Half_Ingot_Iron, new recipeEntry(ItemInit.Quarter_Ingot_Iron, ItemInit.Quarter_Ingot_Iron, 1));
}

@Override
public int getSizeInventory() {
	return itemStacks.length;
}

@Override
public ItemStack getStackInSlot(int slot) {
	if (slot < 0 || slot >= this.getSizeInventory())
        return null;
    return this.itemStacks[slot];
}

@Override
public ItemStack decrStackSize(int slot, int amount) {
	ItemStack stack = getStackInSlot(slot);
	if (stack != null)
	{
		if (stack.stackSize <= amount)
		{
			setInventorySlotContents(slot, null);
			markDirty();
		}
		else
		{
			stack = stack.splitStack(amount);
			if(stack.stackSize == 0)
			{
				setInventorySlotContents(slot, null);
			}
			this.markDirty();
		}
	}
	return stack;
}

@Override
public ItemStack getStackInSlotOnClosing(int slot) {
	ItemStack stack = getStackInSlot(slot);
	if (stack != null)
	{
		setInventorySlotContents(slot, null);
	}
	return stack;
}

@Override
public void setInventorySlotContents(int slot, ItemStack stack) {
	itemStacks[slot] = stack;
	if (slot < 0 || slot >= this.getSizeInventory())
	{
		return;
	}
	if (stack != null && stack.stackSize > getInventoryStackLimit())
	{
		stack.stackSize = getInventoryStackLimit();
	}

	if (stack != null && stack.stackSize == 0)
	{
		stack = null;
	}
	this.itemStacks[slot] = stack;
	this.markDirty();
}

@Override
public String getInventoryName() {
	return null;
}

@Override
public boolean hasCustomInventoryName() {
	// TODO Auto-generated method stub
	return false;
}

@Override public int getInventoryStackLimit() { return 64; }

@Override
public boolean isUseableByPlayer(EntityPlayer player) {
	return worldObj.getTileEntity(xCoord, yCoord, zCoord) == this &&
			player.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 64;
}

@Override
public void openInventory() {
	// TODO Auto-generated method stub

}

@Override
public void closeInventory() {
	// TODO Auto-generated method stub

}

@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {
	switch (slot)
	{
		case 0:
		{
			return (recipeList.get(stack.getItem()) != null);
		}
		default: return false;
	}
}

@SideOnly(Side.CLIENT)
public int getProgressScaled(int somenum)
{
	return this.processTime * somenum / TICKS_DONE;
}

public boolean isWorking() {return this.processTime > 0;}

public void updateEntity()
{
	if (!this.worldObj.isRemote)
    	{
    		if (this.canProcess())
    		{
    			this.processTime++;
    			
    			if (this.processTime >= TICKS_DONE)
    			{
    				this.processTime = 0;
    				this.processItem();
    			}
    			worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
    			markDirty();
    		}
    		else
    		{
    			this.processTime = 0;
    			worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
    			markDirty();
    		}

    	}
    	super.updateEntity();
}

private boolean canProcess()
    {
    	if (this.itemStacks[0] == null)
    	{
    		return false;
    	}
    	else
    	{
    		// Get the crushEntry for the corresponding item in the input slot
    		recipeEntry resultEntry = (recipeEntry) recipeList.get(this.itemStacks[0].getItem());
    		
    		// Return can't crush if the item doesn't have a recipe
    		if (resultEntry == null) return false;
    		
    		boolean firstPasses, secondPasses, thirdPasses;
    		
    		if (this.itemStacks[1] == null || resultEntry.output_two == null)
    		{
    			firstPasses = true;
    		}
    		else if (this.itemStacks[1].getItem() == resultEntry.output_two && this.itemStacks[1].stackSize + 1 <= this.itemStacks[1].getMaxStackSize())
    		{
    			firstPasses = true;
    		}
    		else
    		{
    			return false;
    		}
    		
    		if (this.itemStacks[2] == null || resultEntry.output_two == null)
    		{
    			secondPasses = true;
    		}
    		else if (this.itemStacks[2].getItem() == resultEntry.output_two && 1 + this.itemStacks[2].stackSize <= this.itemStacks[2].getMaxStackSize())
    		{
    			secondPasses = true;
    		}
    		else
    		{
    			return false;
    		}
    		
    		
       		return firstPasses && secondPasses;
    	}
    }

    public void processItem()
    {
    	if (this.canProcess())
    	{
    		Random rand = new Random();
    		// Get the crush entry for the corresponding item in the input slot
    		recipeEntry result = ((recipeEntry) recipeList.get(this.itemStacks[0].getItem()));
    		
    		if (result.output_one != null)
    		{
    			if (this.itemStacks[1] == null)
    			{
    				this.itemStacks[1] = new ItemStack(result.output_one, 1);
    			}
    			else
    			{
    				this.itemStacks[1].stackSize += 1;
    			}
    		}
    		if (result.output_two != null)
    		{
    			if (this.itemStacks[2] == null)
    			{
    				this.itemStacks[2] = new ItemStack(result.output_two, 1);
    			}
    			else
    			{
    				this.itemStacks[2].stackSize += 1;
    			}
    		}
    		
    		this.itemStacks[0].stackSize--;
    		if (this.itemStacks[0].stackSize <= 0)
    		{
    			this.itemStacks[0] = null;
    		}
    		
    		
    	}
    }

    @Override
    public void readFromNBT(NBTTagCompound tag)
    {
        super.readFromNBT(tag);
        NBTTagList nbttaglist = tag.getTagList("Items", 10);
        this.processTime = tag.getInteger("progress");
        
        for (int i = 0; i < nbttaglist.tagCount(); ++i)
        {
        	NBTTagCompound tag1 = nbttaglist.getCompoundTagAt(i);
        	int j = tag1.getByte("Slot") & 255;
        	
        	setInventorySlotContents(j, ItemStack.loadItemStackFromNBT(tag1));
        }
        
    }

    @Override
    public void writeToNBT(NBTTagCompound tag)
    {
        super.writeToNBT(tag);
    	tag.setInteger("progress", this.processTime);
    	
        NBTTagList nbttaglist = new NBTTagList();

        for (int i = 0; i < getSizeInventory(); ++i)
        {
            if (getStackInSlot(i) != null)
            {
                NBTTagCompound nbttagcompound1 = new NBTTagCompound();
                nbttagcompound1.setByte("Slot", (byte)i);
                getStackInSlot(i).writeToNBT(nbttagcompound1);
                nbttaglist.appendTag(nbttagcompound1);
            }
        }
        tag.setTag("Items", nbttaglist);
    }
    
    @Override
    public Packet getDescriptionPacket()
    {
        return null;
    }
    
    @Override
    public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt)
    {
    }

}

 

package com.trekkiecub.hodgepodge.rendering;

import org.lwjgl.opengl.GL11;

import com.trekkiecub.hodgepodge.init.BlockInit;
import com.trekkiecub.hodgepodge.init.Block_Slicer;
import com.trekkiecub.hodgepodge.init.TileEntity_Slicer;
import com.trekkiecub.hodgepodge.proxy.Proxy_Client;

import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;

public class Render_Slicer implements ISimpleBlockRenderingHandler {

@Override
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {
	Tessellator tessellator = Tessellator.instance;
	block.setBlockBoundsForItemRender();
        renderer.setRenderBoundsFromBlock(block);
        GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
        GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
        tessellator.startDrawingQuads();
        tessellator.setNormal(0.0F, -1.0F, 0.0F);
        renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, 3));
        tessellator.draw();
        
        tessellator.startDrawingQuads();
        tessellator.setNormal(0.0F, 1.0F, 0.0F);
        renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, 3));
        tessellator.draw();
        
        tessellator.startDrawingQuads();
        tessellator.setNormal(0.0F, 0.0F, -1.0F);
        renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, 3));
        tessellator.draw();
        tessellator.startDrawingQuads();
        tessellator.setNormal(0.0F, 0.0F, 1.0F);
        renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, 0));
        tessellator.draw();
        tessellator.startDrawingQuads();
        tessellator.setNormal(-1.0F, 0.0F, 0.0F);
        renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, -1));
        tessellator.draw();
        tessellator.startDrawingQuads();
        tessellator.setNormal(1.0F, 0.0F, 0.0F);
        renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, 3));
        tessellator.draw();
        GL11.glTranslatef(0.5F, 0.5F, 0.5F);
}

@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId,
		RenderBlocks renderer) {
	if (Proxy_Client.renderPass == 0)
	{
		TileEntity_Slicer tileEnt = (TileEntity_Slicer) world.getTileEntity(x, y, z);
		IIcon newIcon;

		if (tileEnt.processTime > 0)
		{
			newIcon = ((Block_Slicer) block).front_on;
		}
		else
			newIcon = ((Block_Slicer) block).front_off;


		GL11.glColor3f(1.0F,1.0F,1.0F);
		Tessellator tess = Tessellator.instance;
		tess.setColorOpaque_F(1.0F, 1.0F, 1.0F);
		renderer.renderFaceXNeg(block, x, y, z, newIcon);
		renderer.renderFaceXPos(block, x, y, z, newIcon);
		renderer.renderFaceZNeg(block, x, y, z, newIcon);
		renderer.renderFaceZPos(block, x, y, z, newIcon);
		renderer.renderFaceYNeg(block, x, y, z, newIcon);
		renderer.renderFaceYPos(block, x, y, z, newIcon);
		//renderer.renderStandardBlock(Blocks.flowing_water, x, y, z);
	}
	else
	{
		renderer.renderStandardBlock(BlockInit.Machine_Slicer, x, y, z);
	}

	return true;
}

@Override
public boolean shouldRender3DInInventory(int modelId) {
	return true;
}

@Override
public int getRenderId() {
	return Proxy_Client.renderType_Slicer;
}

}

 

package com.trekkiecub.hodgepodge.rendering;

import com.trekkiecub.hodgepodge.init.TileEntity_Slicer;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.inventory.SlotFurnace;
import net.minecraft.item.ItemStack;

public class Container_Slicer extends Container{
protected TileEntity_Slicer tileEntity;
int prevProcessTime = 0;

public Container_Slicer(InventoryPlayer inventoryPlayer, TileEntity_Slicer rcE)
{
	tileEntity = rcE;
	addSlotToContainer(new Slot(tileEntity, 0, 56, 35));
	addSlotToContainer(new SlotFurnace(inventoryPlayer.player, tileEntity, 1, 116, 26));
	addSlotToContainer(new SlotFurnace(inventoryPlayer.player, tileEntity, 2, 116, 44));

	bindPlayerInventory(inventoryPlayer);
}

@Override
public void addCraftingToCrafters(ICrafting craftingThing)
{
	super.addCraftingToCrafters(craftingThing);
	craftingThing.sendProgressBarUpdate(this, 0, this.tileEntity.processTime);
}

@Override
public void detectAndSendChanges()
{
	super.detectAndSendChanges();

	for (int i = 0; i < this.crafters.size(); ++i)
        {
            ICrafting icrafting = (ICrafting)this.crafters.get(i);

            if (this.prevProcessTime != this.tileEntity.processTime)
            {
            	icrafting.sendProgressBarUpdate(this, 0, this.tileEntity.processTime);
            }
        }
	this.prevProcessTime = this.tileEntity.processTime;

}

@SideOnly(Side.CLIENT)
    public void updateProgressBar(int par1, int par2)
    {
        this.tileEntity.processTime = par2;

    }

@Override
public boolean canInteractWith(EntityPlayer player) {
	return tileEntity.isUseableByPlayer(player);
}

protected void bindPlayerInventory(InventoryPlayer invPlayer)
{
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 9; j++)
		{
			addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
		}
	}
	for (int i = 0; i < 9; i++)
	{
		addSlotToContainer(new Slot(invPlayer, i, 8+i*18, 142));
	}
}

@Override
public ItemStack transferStackInSlot(EntityPlayer player, int fromslot)
{
	ItemStack previous = null;
	Slot slot = (Slot) this.inventorySlots.get(fromslot);

	if (slot != null && slot.getHasStack())
	{
		ItemStack current = slot.getStack();
		previous = current.copy();

		if (fromslot < 3)
		{
			if (!this.mergeItemStack(current, 3, 39, true))
			{
				return null;
			}
		}
		else
		{
			if (!this.mergeItemStack(current, 0, 3, false))
			{
				return null;
			}
		}

		if (current.stackSize == 0)
		{
			slot.putStack(null);
		}

		// Custom Shit

		if (current.stackSize == previous.stackSize)
		{
			return null;
		}
		slot.onPickupFromSlot(player, current);
	}
	return previous;

}

}

 

package com.trekkiecub.hodgepodge.rendering;

import com.trekkiecub.hodgepodge.init.TileEntity_Slicer;

import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;

public class Gui_Slicer extends GuiContainer{

private TileEntity_Slicer tile_slicer;

public Gui_Slicer(InventoryPlayer inventoryPlayer, TileEntity_Slicer tile_slicer) {
	super(new Container_Slicer(inventoryPlayer, tile_slicer));
	this.tile_slicer = tile_slicer;
}

@Override
protected void drawGuiContainerForegroundLayer(int param1, int param2)
{
	fontRendererObj.drawString("Slicer", 8, 6, 4210752);

	fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, ySize-96+2, 4210752);


}

@Override
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
	this.mc.renderEngine.bindTexture(new ResourceLocation("trekkiecub_techythings:textures/gui/slicer.png"));
	int x = (this.width - this.xSize)/2;
	int y = (this.height - this.ySize)/2;
	this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);

	int i1 = this.tile_slicer.getProgressScaled(24);
	this.drawTexturedModalRect(x + 79, y + 34, 176, 14, i1 + 1, 16);

}

}

Posted

Your description packet is null, so the client knows nothing about the server's TileEntity data.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

I've looked into this a little, and made a few changes to my tile entity class, but they don't seem to be working and I'm not sure what I'm doing wrong.  The issue I mentioned persists.  The major changes I've made are the bottom four functions.

 

package com.trekkiecub.hodgepodge.init;

import java.util.HashMap;
import java.util.Map;
import java.util.Random;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;

public class TileEntity_Slicer extends TileEntity implements IInventory{
private ItemStack[] itemStacks;
private Map recipeList = new HashMap();
public int processTime;
public final int TICKS_DONE = 100;

class recipeEntry
{
	Item output_one, output_two;
	double quantity;

	public recipeEntry(Item output_one, Item output_two, double quantity)
	{
		this.output_one = output_one;
		this.output_two = output_two;
		this.quantity = quantity;
	}
	public void setQuantity(double quant)
	{
		this.quantity = quant;
	}
}

public TileEntity_Slicer()
{
	itemStacks = new ItemStack[3];

	recipeList.put(Items.gold_ingot, new recipeEntry(ItemInit.Half_Ingot_Gold, ItemInit.Half_Ingot_Gold, 1));
	recipeList.put(Items.iron_ingot, new recipeEntry(ItemInit.Half_Ingot_Iron, ItemInit.Half_Ingot_Iron, 1));
	recipeList.put(ItemInit.Half_Ingot_Gold, new recipeEntry(ItemInit.Quarter_Ingot_Gold, ItemInit.Quarter_Ingot_Gold, 1));
	recipeList.put(ItemInit.Half_Ingot_Iron, new recipeEntry(ItemInit.Quarter_Ingot_Iron, ItemInit.Quarter_Ingot_Iron, 1));
}

@Override
public int getSizeInventory() {
	return itemStacks.length;
}

@Override
public ItemStack getStackInSlot(int slot) {
	if (slot < 0 || slot >= this.getSizeInventory())
        return null;
    return this.itemStacks[slot];
}

@Override
public ItemStack decrStackSize(int slot, int amount) {
	ItemStack stack = getStackInSlot(slot);
	if (stack != null)
	{
		if (stack.stackSize <= amount)
		{
			setInventorySlotContents(slot, null);
			markDirty();
		}
		else
		{
			stack = stack.splitStack(amount);
			if(stack.stackSize == 0)
			{
				setInventorySlotContents(slot, null);
			}
			this.markDirty();
		}
	}
	return stack;
}

@Override
public ItemStack getStackInSlotOnClosing(int slot) {
	ItemStack stack = getStackInSlot(slot);
	if (stack != null)
	{
		setInventorySlotContents(slot, null);
	}
	return stack;
}

@Override
public void setInventorySlotContents(int slot, ItemStack stack) {
	itemStacks[slot] = stack;
	if (slot < 0 || slot >= this.getSizeInventory())
	{
		return;
	}
	if (stack != null && stack.stackSize > getInventoryStackLimit())
	{
		stack.stackSize = getInventoryStackLimit();
	}

	if (stack != null && stack.stackSize == 0)
	{
		stack = null;
	}
	this.itemStacks[slot] = stack;
	this.markDirty();
}

@Override
public String getInventoryName() {
	return null;
}

@Override
public boolean hasCustomInventoryName() {
	// TODO Auto-generated method stub
	return false;
}

@Override public int getInventoryStackLimit() { return 64; }

@Override
public boolean isUseableByPlayer(EntityPlayer player) {
	return worldObj.getTileEntity(xCoord, yCoord, zCoord) == this &&
			player.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 64;
}

@Override
public void openInventory() {
	// TODO Auto-generated method stub

}

@Override
public void closeInventory() {
	// TODO Auto-generated method stub

}

@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {
	switch (slot)
	{
		case 0:
		{
			return (recipeList.get(stack.getItem()) != null);
		}
		default: return false;
	}
}

@SideOnly(Side.CLIENT)
public int getProgressScaled(int somenum)
{
	return this.processTime * somenum / TICKS_DONE;
}

public boolean isWorking() {return this.processTime > 0;}

public void updateEntity()
{
	if (!this.worldObj.isRemote)
    	{
    		if (this.canProcess())
    		{
    			this.processTime++;
    			
    			if (this.processTime >= TICKS_DONE)
    			{
    				this.processTime = 0;
    				this.processItem();
    			}
    			worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
    			markDirty();
    		}
    		else
    		{
    			this.processTime = 0;
    			worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
    			markDirty();
    		}

    	}
    	super.updateEntity();
}

private boolean canProcess()
    {
    	if (this.itemStacks[0] == null)
    	{
    		return false;
    	}
    	else
    	{
    		// Get the crushEntry for the corresponding item in the input slot
    		recipeEntry resultEntry = (recipeEntry) recipeList.get(this.itemStacks[0].getItem());
    		
    		// Return can't crush if the item doesn't have a recipe
    		if (resultEntry == null) return false;
    		
    		boolean firstPasses, secondPasses, thirdPasses;
    		
    		if (this.itemStacks[1] == null || resultEntry.output_two == null)
    		{
    			firstPasses = true;
    		}
    		else if (this.itemStacks[1].getItem() == resultEntry.output_two && this.itemStacks[1].stackSize + 1 <= this.itemStacks[1].getMaxStackSize())
    		{
    			firstPasses = true;
    		}
    		else
    		{
    			return false;
    		}
    		
    		if (this.itemStacks[2] == null || resultEntry.output_two == null)
    		{
    			secondPasses = true;
    		}
    		else if (this.itemStacks[2].getItem() == resultEntry.output_two && 1 + this.itemStacks[2].stackSize <= this.itemStacks[2].getMaxStackSize())
    		{
    			secondPasses = true;
    		}
    		else
    		{
    			return false;
    		}
    		
    		
       		return firstPasses && secondPasses;
    	}
    }

    public void processItem()
    {
    	if (this.canProcess())
    	{
    		Random rand = new Random();
    		// Get the crush entry for the corresponding item in the input slot
    		recipeEntry result = ((recipeEntry) recipeList.get(this.itemStacks[0].getItem()));
    		
    		if (result.output_one != null)
    		{
    			if (this.itemStacks[1] == null)
    			{
    				this.itemStacks[1] = new ItemStack(result.output_one, 1);
    			}
    			else
    			{
    				this.itemStacks[1].stackSize += 1;
    			}
    		}
    		if (result.output_two != null)
    		{
    			if (this.itemStacks[2] == null)
    			{
    				this.itemStacks[2] = new ItemStack(result.output_two, 1);
    			}
    			else
    			{
    				this.itemStacks[2].stackSize += 1;
    			}
    		}
    		
    		this.itemStacks[0].stackSize--;
    		if (this.itemStacks[0].stackSize <= 0)
    		{
    			this.itemStacks[0] = null;
    		}
    		
    		
    	}
    }

    @Override
    public void readFromNBT(NBTTagCompound tag)
    {
        super.readFromNBT(tag);
        NBTTagList nbttaglist = tag.getTagList("Items", 10);
        this.processTime = tag.getInteger("progress");
        
        for (int i = 0; i < nbttaglist.tagCount(); ++i)
        {
        	NBTTagCompound tag1 = nbttaglist.getCompoundTagAt(i);
        	int j = tag1.getByte("Slot") & 255;
        	
        	setInventorySlotContents(j, ItemStack.loadItemStackFromNBT(tag1));
        }
        
    }

    @Override
    public void writeToNBT(NBTTagCompound tag)
    {
        super.writeToNBT(tag);
    	tag.setInteger("progress", this.processTime);
    	
        NBTTagList nbttaglist = new NBTTagList();

        for (int i = 0; i < getSizeInventory(); ++i)
        {
            if (getStackInSlot(i) != null)
            {
                NBTTagCompound nbttagcompound1 = new NBTTagCompound();
                nbttagcompound1.setByte("Slot", (byte)i);
                getStackInSlot(i).writeToNBT(nbttagcompound1);
                nbttaglist.appendTag(nbttagcompound1);
            }
        }
        tag.setTag("Items", nbttaglist);
    }
    
    public void writeNBTSync(NBTTagCompound tag)
    {
    	tag.setInteger("progress", this.processTime);
    }
    public void readNBTSync(NBTTagCompound tag)
    {
    	this.processTime = tag.getInteger("progress");
    }
    
    @Override
    public Packet getDescriptionPacket()
    {
        NBTTagCompound tagCompound = new NBTTagCompound();
        writeNBTSync(tagCompound);
        return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, tagCompound);
    }
    
    @Override
    public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt)
    {
    	readNBTSync(pkt.func_148857_g());
    }

}

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

    • Hello, I tried to make a small modpack for myself but whenever I try to create a world I get the following error: The game crashed: mouseclicked event handler Error: java.lang.IllegalStateException: Failed to load registries due to above errors   Here's the log:https://mclo.gs/7maf12W it says vanilla but its actually neoforge Does anyone know a fix?
    • I'm trying to make a block that sends me to a new dimension, but when I try right clicking it, nothing happens.I've put a few debug messages to send a message to the chat or to show up in the logs when right clicked. Right now I am using: ``` public ActionResultType onBlockActivated(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) // Client-side: Only show a status message if (worldIn.isRemote()) { player.sendStatusMessage(new StringTextComponent("Client: Block activated!"), true); return ActionResultType.SUCCESS; } // Server-side logic below player.sendMessage(new StringTextComponent("blockActivated"), player.getUniqueID()); } I am getting a warning _"Overrides deprecated method in 'net.minecraft.block.AbstractBlock'"_ is deprecated, but I'm not sure what to use instead.
    • Add crash-reports with sites like https://mclo.gs/ Make a test without epicfight
    • [16May2025 05:34:17.905] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--username, SoulEviction, --version, forge-47.4.0, --gameDir, C:\Users\Tired\curseforge\minecraft\Instances\The Last Era, --assetsDir, C:\Users\Tired\curseforge\minecraft\Install\assets, --assetIndex, 5, --uuid, 0ab14d5b657b42b381d7c05574dbbb8f, --accessToken, ????????, --clientId, MzM0YjgwZjgtNGU5NS00NTFmLThjZDktMmFhZjE3YmQ2OTg3, --xuid, 2535462721540232, --userType, msa, --versionType, release, --width, 1024, --height, 768, --quickPlayPath, C:\Users\Tired\curseforge\minecraft\Install\quickPlay\java\1747388056221.json, --launchTarget, forgeclient, --fml.forgeVersion, 47.4.0, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412] [16May2025 05:34:17.909] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.8 by Microsoft; OS Windows 11 arch amd64 version 10.0 [16May2025 05:34:19.106] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: Loading ImmediateWindowProvider fmlearlywindow [16May2025 05:34:19.461] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.6 [16May2025 05:34:19.668] [main/INFO] [EARLYDISPLAY/]: Requested GL version 4.6 got version 4.6 [16May2025 05:34:19.775] [pool-2-thread-1/INFO] [EARLYDISPLAY/]: GL info: NVIDIA GeForce RTX 4060 Ti/PCIe/SSE2 GL version 4.6.0 NVIDIA 572.83, NVIDIA Corporation [16May2025 05:34:20.173] [main/INFO] [gg.essential.loader.stage1.EssentialLoaderBase/]: Starting Essential Loader (stage2) version 1.6.5 (1425fa2d69fa2b31e49c42a2d84be645) [stable] [16May2025 05:34:20.210] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/Tired/curseforge/minecraft/Install/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%23100!/ Service=ModLauncher Env=CLIENT [16May2025 05:34:20.351] [main/INFO] [CrashAssistantJarInJarHelper/]: Launching CrashAssistantApp (CrashAssistant-forge-1.19.2-1.20.1-1.7.28.jar) [16May2025 05:34:21.663] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\Tired\curseforge\minecraft\Install\libraries\net\minecraftforge\fmlcore\1.20.1-47.4.0\fmlcore-1.20.1-47.4.0.jar is missing mods.toml file [16May2025 05:34:21.666] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\Tired\curseforge\minecraft\Install\libraries\net\minecraftforge\javafmllanguage\1.20.1-47.4.0\javafmllanguage-1.20.1-47.4.0.jar is missing mods.toml file [16May2025 05:34:21.668] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\Tired\curseforge\minecraft\Install\libraries\net\minecraftforge\lowcodelanguage\1.20.1-47.4.0\lowcodelanguage-1.20.1-47.4.0.jar is missing mods.toml file [16May2025 05:34:21.671] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\Tired\curseforge\minecraft\Install\libraries\net\minecraftforge\mclanguage\1.20.1-47.4.0\mclanguage-1.20.1-47.4.0.jar is missing mods.toml file [16May2025 05:34:22.054] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File: and Mod File: . Using Mod File: [16May2025 05:34:22.055] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 28 dependencies adding them to mods collection [16May2025 05:34:22.109] [main/INFO] [gg.essential.loader.stage2.util.KFFMerger/]: Found Kotlin-containing mod Jar[union:/C:/Users/Tired/curseforge/minecraft/Instances/The%20Last%20Era/essential/libraries/forge_1.20.1/kotlin-for-forge-4.3.0-slim.jar%23385!/], checking whether we need to upgrade it.. [16May2025 05:34:22.113] [main/INFO] [gg.essential.loader.stage2.util.KFFMerger/]: Found outdated Kotlin core libs 0.0.0 (we ship 1.9.23) [16May2025 05:34:22.113] [main/INFO] [gg.essential.loader.stage2.util.KFFMerger/]: Found outdated Kotlin Coroutines libs 0.0.0 (we ship 1.8.0) [16May2025 05:34:22.113] [main/INFO] [gg.essential.loader.stage2.util.KFFMerger/]: Found outdated Kotlin Serialization libs 0.0.0 (we ship 1.6.3) [16May2025 05:34:22.116] [main/INFO] [gg.essential.loader.stage2.util.KFFMerger/]: Generating jar with updated Kotlin at C:\Users\Tired\AppData\Local\Temp\kff-updated-kotlin-14689192504442218770-4.3.0-slim.jar [16May2025 05:34:25.081] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [16May2025 05:34:25.153] [main/ERROR] [mixin/]: Mixin config mixins.epicironcompat.json does not specify "minVersion" property [16May2025 05:34:25.233] [main/ERROR] [mixin/]: Mixin config crashexploitfixer.mixins.json does not specify "minVersion" property [16May2025 05:34:25.269] [main/ERROR] [mixin/]: Mixin config azurelib.mixins.json does not specify "minVersion" property [16May2025 05:34:25.270] [main/ERROR] [mixin/]: Mixin config azurelib.forge.mixins.json does not specify "minVersion" property [16May2025 05:34:25.329] [main/INFO] [mixin/]: Successfully loaded Mixin Connector [com.sonicether.soundphysics.MixinConnector] [16May2025 05:34:25.330] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeclient' with arguments [--version, forge-47.4.0, --gameDir, C:\Users\Tired\curseforge\minecraft\Instances\The Last Era, --assetsDir, C:\Users\Tired\curseforge\minecraft\Install\assets, --uuid, 0ab14d5b657b42b381d7c05574dbbb8f, --username, SoulEviction, --assetIndex, 5, --accessToken, ????????, --clientId, MzM0YjgwZjgtNGU5NS00NTFmLThjZDktMmFhZjE3YmQ2OTg3, --xuid, 2535462721540232, --userType, msa, --versionType, release, --width, 1024, --height, 768, --quickPlayPath, C:\Users\Tired\curseforge\minecraft\Install\quickPlay\java\1747388056221.json] [16May2025 05:34:25.408] [main/INFO] [ModernFix/]: Loaded configuration file for ModernFix 5.21.0+mc1.20.1: 88 options available, 0 override(s) found [16May2025 05:34:25.409] [main/INFO] [ModernFix/]: Applying Nashorn fix [16May2025 05:34:25.425] [main/INFO] [ModernFix/]: Applied Forge config corruption patch [16May2025 05:34:25.450] [main/INFO] [Embeddium/]: Loaded configuration file for Embeddium: 279 options available, 3 override(s) found [16May2025 05:34:25.451] [main/INFO] [Embeddium-GraphicsAdapterProbe/]: Searching for graphics cards... [16May2025 05:34:25.504] [main/INFO] [Embeddium-GraphicsAdapterProbe/]: Found graphics card: GraphicsAdapterInfo[vendor=NVIDIA, name=NVIDIA GeForce RTX 4060 Ti, version=DriverVersion=32.0.15.7283] [16May2025 05:34:25.507] [main/WARN] [Embeddium-Workarounds/]: Embeddium has applied one or more workarounds to prevent crashes or other issues on your system: [NVIDIA_THREADED_OPTIMIZATIONS] [16May2025 05:34:25.507] [main/WARN] [Embeddium-Workarounds/]: This is not necessarily an issue, but it may result in certain features or optimizations being disabled. You can sometimes fix these issues by upgrading your graphics driver. [16May2025 05:34:25.518] [main/WARN] [mixin/]: Reference map 'morevillagers-forge-forge-refmap.json' for morevillagers.mixins.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:25.567] [main/INFO] [Essential Logger - Plugin/]: Starting Essential v1.3.6.2 (#3a04f60330) [stable] [16May2025 05:34:25.688] [main/WARN] [mixin/]: Reference map 'puzzlesaccessapi.common.refmap.json' for puzzlesaccessapi.common.mixins.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:25.725] [main/INFO] [Puzzles Lib/]: Loading 234 mods: - alexscaves 2.0.2 - alexsmobs 1.22.9 - apotheosis 7.4.8 - apotheotic_additions 2.2.2 - arcaneessenceblock 1.0.0 - architectury 9.2.14 - artifacts 9.5.16 \-- expandability 9.0.4 - ash_of_sin_custom_anti_trap_cage_entity 1.0.0 - ash_of_sin_custom_entity_anti_effect 1.0.0 - attributefix 21.0.4 - attributeslib 1.3.7 - attributizer 2.1 - azurelib 2.0.41 - badmobs 19.0.4 - badoptimizations 2.2.2 - badpackets 0.4.3 - balm 7.3.29 \-- kuma_api 20.1.10 - betterchunkloading 1.20.1-5.4 - betterdeserttemples 1.20-Forge-3.0.3 - betterdungeons 1.20-Forge-4.0.4 - betterendisland 1.20-Forge-2.0.6 - betterfortresses 1.20-Forge-2.0.6 - betterfpsdist 1.20.1-6.0 - betterjungletemples 1.20-Forge-2.0.5 - bettermineshafts 1.20-Forge-4.0.4 - betteroceanmonuments 1.20-Forge-3.0.4 - betterstrongholds 1.20-Forge-4.0.3 - betterwitchhuts 1.20-Forge-3.0.3 - bhc 1.20.1-1.1.0 - blockui 1.20.1-1.0.190-snapshot - blueprint 7.1.3 - bookshelf 20.2.13 - bowinfinityfix 2.6.0 - caelus 3.2.0+1.20.1 - cataclysm 2.65 - cdmoveset 1.28 - chunksending 1.20.1-2.8 - citadel 2.6.1 - cloth_config 11.1.136 - clumps 12.0.0.4 - cofh_core 11.0.2 - colorfulhearts 4.3.16 - configured 2.2.3 - connectivity 1.20.1-7.1 - controlling 12.0.2 - coroutil 1.20.1-1.3.7 - corpse 1.20.1-1.0.20 - cosmeticarmorreworked 1.20.1-v1a - crash_assistant 1.7.28 - crashexploitfixer 1.1.0 - create 6.0.4 |-- flywheel 1.0.2 \-- ponder 1.0.52 - cristellib 1.1.6 - ctov 3.4.14 - cupboard 1.20.1-2.7 - curios 5.14.1+1.20.1 - darkloot 1.1.9 - despawntimers 3.0.1 - disenchanting 2.2.3 - dmnr 3.2.2 - domum_ornamentum 1.20.1-1.0.186-RELEASE - dummmmmmy 1.20-2.0.6 - dungeoncrawl 2.3.15 - dungeons_arise 2.1.58-1.20.x - dungeons_arise_seven_seas 1.0.2 - dungeons_enhanced 5.4.0 - easy_villagers 1.20.1-1.1.23 - ec_es_plugin 1.1.5 - efiscompat 2.2.4 - efm_compat 2.0 - efm_ex 20.10.7.11 - embeddium 0.3.31+mc1.20.1 \-- rubidium 0.7.1 - enchdesc 17.1.19 - entityculling 1.7.4 - epic_knights__japanese_armory 1.6.2 - epic_samurais_swords 1.0.0 - epic_stats_mod_remastered 2.0.1 - epicacg 20.9.6.0.fix4 - epicfight 20.10.4 - epictweaks 1.0.2 - essential 1.3.6.2 - expanded_combat 3.2.6 - explorerscompass 1.20.1-1.3.3-forge - falchionmoveset 20.8.2 - fallingtree 4.3.4 - fantasy_epicfied 1.4-1.20.1 - fantasy_weapons 0.3.1-1.20.1 - fantasyfurniture 9.0.0 |-- apexcore 10.0.0 \-- commonality 7.0.0 - fastasyncworldsave 1.20.1-2.4 - fastbench 8.0.4 - fastfurnace 8.0.2 - ferritecore 6.0.1 - forge 47.4.0 - framework 0.7.15 - gamma_creatures 1.2.2 - geckolib 4.7.1.2 - geophilic 3.4.1 - geophilic_reforged 1.2.0 - goety 2.5.33.3 - goety_cataclysm 1.20-1.3.1 - goety_spillage 1.20-1.3.0 - goety_ut 1.16.0 - gpumemleakfix 1.20.1-1.8 - guardvillagers 1.20.1-1.6.10 - hiccups_legacy 1.5.1 - humancompanions 1.20.1-1.7.6 - ias_spellbooks 0.5.0-1.20.1 - idas 1.11.1+1.20.1 - illageandspillage 1.2.8 - impactful 20.8.3 - improvedmobs 1.20.1-1.13.5 - indestructible 20.9.7 - integrated_api 1.5.3+1.20.1-forge - invincible 20.10.0 - iron_ender_chests 1.20-1.0.3 - iron_fishing_rods 1.0.0 - ironchest 1.20.1-14.4.4 - ironfurnaces 4.1.6 - irons_spellbooks 1.20.1-3.4.0.9 - itemproductionlib 1.0.2a - jade 11.13.1+forge - jei 15.20.0.106 - kleiders_custom_renderer 7.4.0 - lionfishapi 2.4-Fix - lithostitched 1.4.7 - lootbags 2.0.2 \-- resourcefullib 2.1.29 - lootbeams 1.20.1 - lootintegration_townsandtowers 1 - lootintegration_wda 1 - lootintegrations 1.20.1-4.4 - lootintegrations_cataclysm 1 - lootintegrations_ctov 1 - lootintegrations_dungeoncrawl 1 - lootintegrations_formations 1 - lootintegrations_hopo 1 - lootintegrations_moog 1 - lootintegrations_structory 1 - lootintegrations_yungs 1 - lootr 0.7.35.91 - medieval_buildings 1.1.1 - medievalorigins 6.6.0+1.20.1-forge |-- apugli 2.10.2+1.20.1-forge \-- mixinextras 0.4.1 - memorysettings 1.20.1-5.9 - minecolonies 1.20.1-1.1.873-alpha - minecraft 1.20.1 - mna 3.1.0.8 - mns 1.0.3-1.20-forge - mobtimizations 1.20.1-1.0.0 - modernfix 5.21.0+mc1.20.1 - moonlight 1.20-2.14.1 - morevillagers 5.0.0 - mousetweaks 2.25.1 - mowziesmobs 1.7.2 - mr_tidal_towns 1.3.4 - mss 1.2.7-1.20-forge - multipiston 1.20-1.2.43-RELEASE - mutantmonsters 8.0.7 - mvs 4.1.4-1.20-forge - naturescompass 1.20.1-1.11.2-forge - neruina 2.1.2 - obscure_api 15 - octolib 0.5.0.1 - oculus 1.8.0 - origins 1.20.1-1.10.0.9 |-- additionalentityattributes 1.4.0.5+1.20.1 |-- apoli 1.20.1-2.9.0.8 \-- calio 1.20.1-1.11.0.5 - origins_classes 1.2.1 - overloadedarmorbar 1.20.1-1 - particular 1.2.1 - passiveskilltreeadditions 1.1.1 - patchouli 1.20.1-84.1-FORGE - pehkui 3.8.2+1.20.1-forge - placebo 8.6.3 - playeranimator 1.0.2-rc1+1.20 - portablecraftingtable 3.2.2-[FORGE] - portablemobs 1.2.0 - puzzleslib 8.1.32 \-- puzzlesaccessapi 20.1.1 - quark 4.0-462 - raccompat 0.1.3 - ramcompat 0.1.4 - rarcompat 0.1.7 - recipeessentials 1.20.1-4.0 - refm 0.3.0 - refurbished_furniture 1.0.12 - relics 0.8.0.9 - samurai_dynasty 0.0.49-1.20.1-neo - searchables 1.0.3 - shifu_epic_fight_skill_recipe 1.0.0 - simplebackups 1.20.1-3.1.7 - skilltree 0.6.14a - skyarena 1.2.5 - skyvillages 1.0.4 - smallships 2.0.0-b1.4 - smoothchunk 1.20.1-4.1 - sodiumdynamiclights 1.0.9 - sodiumoptionsapi 1.0.10 \-- fabric_api_base 0.4.31+ef105b4977 - sophisticatedbackpacks 3.23.16.1239 - sophisticatedcore 1.2.58.980 - sound_physics_remastered 1.20.1-1.4.13 - stalwart_dungeons 1.2.8 - structory_towers 1.0.7 - structure_gel 2.16.2 - structureessentials 1.20.1-4.7 - structurize 1.20.1-1.0.772-snapshot - supermartijn642corelib 1.1.18 - supplementaries 1.20-3.1.30 \-- mixinsquared 0.1.1 - sword_soaring 20.10.0 - t_and_t 0.0NONE - tenshilib 1.20.1-1.7.6 - too_many_bows 3.6.1 - torchmaster 20.1.9 - totw_additions 1.3.1 - totw_modded 1.0.6 - towntalk 1.1.0 - traveloptics 4.4.0-1.20.1 - upgrade_aquatic 6.0.3 - valarian_conquest 3.2.1 - waystones 14.1.12 - wom 20.1.8.5.6 - xaerominimap 25.2.0 - xaeroworldmap 1.39.4 - yungsapi 1.20-Forge-4.0.6 - zeta 1.0-30 [16May2025 05:34:25.733] [main/WARN] [mixin/]: Reference map 'mns-forge-refmap.json' for mns-forge.mixins.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:25.736] [main/WARN] [mixin/]: Reference map '${mod_id}.refmap.json' for medievalorigins.mixins.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:25.740] [main/WARN] [mixin/]: Reference map 'cristellib-forge-refmap.json' for cristellib.mixins.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:25.742] [main/WARN] [mixin/]: Reference map 'mixins.arcaneessenceblock.refmap.json' for mixins.arcaneessenceblock.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:25.781] [main/WARN] [mixin/]: Reference map 'colorfulhearts-common-api-api_common-refmap.json' for colorfulhearts-common.mixins.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:25.804] [main/WARN] [mixin/]: Reference map 'smallships-forge-refmap.json' for smallships.mixins.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:25.806] [main/WARN] [mixin/]: Reference map 'mixins.kleiders_custom_renderer.refmap.json' for mixins.kleiders_custom_renderer.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:25.845] [main/WARN] [mixin/]: Reference map 'coroutil.refmap.json' for coroutil.mixins.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:25.848] [main/WARN] [mixin/]: Reference map 'mvs-forge-refmap.json' for mvs-forge.mixins.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:26.018] [main/WARN] [mixin/]: Reference map 'apexcore.refmap.json' for apexcore.mixins.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:26.022] [main/INFO] [BadOptimizations/]: Loading config file [16May2025 05:34:26.022] [main/INFO] [BadOptimizations/]: Config version: 4 [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: BadOptimizations config dump: [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: enable_toast_optimizations: true [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: ignore_mod_incompatibilities: false [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: lightmap_time_change_needed_for_update: 80 [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: enable_lightmap_caching: true [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: enable_particle_manager_optimization: true [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: enable_entity_renderer_caching: true [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: log_config: true [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: enable_remove_redundant_fov_calculations: true [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: config_version: 4 [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: enable_sky_angle_caching_in_worldrenderer: true [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: enable_block_entity_renderer_caching: true [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: skycolor_time_change_needed_for_update: 3 [16May2025 05:34:26.023] [main/INFO] [BadOptimizations/]: enable_entity_flag_caching: true [16May2025 05:34:26.024] [main/INFO] [BadOptimizations/]: enable_debug_renderer_disable_if_not_needed: true [16May2025 05:34:26.024] [main/INFO] [BadOptimizations/]: enable_sky_color_caching: true [16May2025 05:34:26.024] [main/INFO] [BadOptimizations/]: enable_remove_tutorial_if_not_demo: true [16May2025 05:34:26.024] [main/INFO] [BadOptimizations/]: show_f3_text: true [16May2025 05:34:26.032] [main/WARN] [mixin/]: Reference map 'mixins.epicfight.refmap.json' for mixins.epicfight.json could not be read. If this is a development environment you can ignore this message [16May2025 05:34:26.605] [main/INFO] [net.minecraftforge.coremod.CoreMod.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [16May2025 05:34:26.613] [main/INFO] [net.minecraftforge.coremod.CoreMod.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [16May2025 05:34:26.749] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 1 calls to Enchantment#getMaxLevel() in net/minecraft/world/level/storage/loot/functions/EnchantRandomlyFunction [16May2025 05:34:26.749] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 1 calls to Enchantment#isDiscoverable() in net/minecraft/world/level/storage/loot/functions/EnchantRandomlyFunction [16May2025 05:34:26.918] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 2 calls to Enchantment#getMaxLevel() in net/minecraft/world/inventory/AnvilMenu [16May2025 05:34:26.923] [main/INFO] [net.minecraftforge.coremod.CoreMod.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [16May2025 05:34:26.924] [main/INFO] [net.minecraftforge.coremod.CoreMod.placebo/COREMODLOG]: Patching IForgeItemStack#getEnchantmentLevel [16May2025 05:34:26.930] [main/WARN] [mixin/]: Error loading class: com/hollingsworth/arsnouveau/common/items/SpellCrossbow (java.lang.ClassNotFoundException: com.hollingsworth.arsnouveau.common.items.SpellCrossbow) [16May2025 05:34:27.001] [main/WARN] [mixin/]: Error loading class: mekanism/client/render/entity/RenderFlame (java.lang.ClassNotFoundException: mekanism.client.render.entity.RenderFlame) [16May2025 05:34:27.002] [main/WARN] [mixin/]: Error loading class: mekanism/client/render/armor/MekaSuitArmor (java.lang.ClassNotFoundException: mekanism.client.render.armor.MekaSuitArmor) [16May2025 05:34:27.052] [main/WARN] [mixin/]: Error loading class: yesman/epicfight/client/gui/HealthBarIndicator (java.lang.ClassNotFoundException: yesman.epicfight.client.gui.HealthBarIndicator) [16May2025 05:34:27.052] [main/WARN] [mixin/]: @Mixin target yesman.epicfight.client.gui.HealthBarIndicator was not found mixins.indestructible.json:HealthBarIndicatorMixin [16May2025 05:34:27.214] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Patching FishingHook#catchingFish [16May2025 05:34:27.307] [main/WARN] [mixin/]: Error loading class: tfar/davespotioneering/blockentity/AdvancedBrewingStandBlockEntity (java.lang.ClassNotFoundException: tfar.davespotioneering.blockentity.AdvancedBrewingStandBlockEntity) [16May2025 05:34:27.308] [main/WARN] [mixin/]: @Mixin target tfar.davespotioneering.blockentity.AdvancedBrewingStandBlockEntity was not found itemproductionlib.mixins.json:davespotioneering/AdvancedBrewingStandBlockEntityMixin [16May2025 05:34:27.309] [main/WARN] [mixin/]: Error loading class: vectorwing/farmersdelight/common/block/entity/CookingPotBlockEntity (java.lang.ClassNotFoundException: vectorwing.farmersdelight.common.block.entity.CookingPotBlockEntity) [16May2025 05:34:27.309] [main/WARN] [mixin/]: @Mixin target vectorwing.farmersdelight.common.block.entity.CookingPotBlockEntity was not found itemproductionlib.mixins.json:farmersdelight/CookingPotBlockEntityMixin [16May2025 05:34:27.310] [main/WARN] [mixin/]: Error loading class: vectorwing/farmersdelight/common/block/entity/StoveBlockEntity (java.lang.ClassNotFoundException: vectorwing.farmersdelight.common.block.entity.StoveBlockEntity) [16May2025 05:34:27.310] [main/WARN] [mixin/]: @Mixin target vectorwing.farmersdelight.common.block.entity.StoveBlockEntity was not found itemproductionlib.mixins.json:farmersdelight/StoveBlockEntityMixin [16May2025 05:34:27.312] [main/WARN] [mixin/]: Error loading class: fuzs/visualworkbench/world/inventory/ModCraftingMenu (java.lang.ClassNotFoundException: fuzs.visualworkbench.world.inventory.ModCraftingMenu) [16May2025 05:34:27.312] [main/WARN] [mixin/]: @Mixin target fuzs.visualworkbench.world.inventory.ModCraftingMenu was not found itemproductionlib.mixins.json:visualworkbench/ModCraftingMenuMixin [16May2025 05:34:27.324] [main/INFO] [com.cupboard.Cupboard/]: Loaded config for: betterfpsdist.json [16May2025 05:34:27.348] [main/WARN] [mixin/]: Error loading class: net/mcreator/borninchaosv/entity/BonescallerEntity (java.lang.ClassNotFoundException: net.mcreator.borninchaosv.entity.BonescallerEntity) [16May2025 05:34:27.349] [main/WARN] [mixin/]: Error loading class: net/mcreator/borninchaosv/entity/DireHoundLeaderEntity (java.lang.ClassNotFoundException: net.mcreator.borninchaosv.entity.DireHoundLeaderEntity) [16May2025 05:34:27.351] [main/WARN] [mixin/]: Error loading class: com/eeeab/eeeabsmobs/sever/entity/corpse/EntityCorpseWarlock (java.lang.ClassNotFoundException: com.eeeab.eeeabsmobs.sever.entity.corpse.EntityCorpseWarlock) [16May2025 05:34:27.352] [main/WARN] [mixin/]: Error loading class: com/eeeab/eeeabsmobs/sever/entity/guling/EntityGulingSentinelHeavy (java.lang.ClassNotFoundException: com.eeeab.eeeabsmobs.sever.entity.guling.EntityGulingSentinelHeavy) [16May2025 05:34:27.353] [main/WARN] [mixin/]: Error loading class: net/mcreator/borninchaosv/entity/SiameseSkeletonsEntity (java.lang.ClassNotFoundException: net.mcreator.borninchaosv.entity.SiameseSkeletonsEntity) [16May2025 05:34:27.355] [main/WARN] [mixin/]: Error loading class: net/mcreator/borninchaosv/entity/SiameseSkeletonsleftEntity (java.lang.ClassNotFoundException: net.mcreator.borninchaosv.entity.SiameseSkeletonsleftEntity) [16May2025 05:34:27.356] [main/WARN] [mixin/]: Error loading class: net/mcreator/borninchaosv/entity/SiameseSkeletonsrightEntity (java.lang.ClassNotFoundException: net.mcreator.borninchaosv.entity.SiameseSkeletonsrightEntity) [16May2025 05:34:27.361] [main/WARN] [mixin/]: Error loading class: net/mcreator/borninchaosv/entity/SpiritGuideEntity (java.lang.ClassNotFoundException: net.mcreator.borninchaosv.entity.SpiritGuideEntity) [16May2025 05:34:27.363] [main/WARN] [mixin/]: Error loading class: net/mcreator/borninchaosv/entity/SupremeBonescallerEntity (java.lang.ClassNotFoundException: net.mcreator.borninchaosv.entity.SupremeBonescallerEntity) [16May2025 05:34:27.397] [main/INFO] [com.cupboard.Cupboard/]: Loaded config for: recipeessentials.json [16May2025 05:34:27.405] [main/INFO] [com.cupboard.Cupboard/]: Loaded config for: structureessentials.json [16May2025 05:34:27.433] [main/WARN] [mixin/]: Error loading class: net/caffeinemc/mods/sodium/client/model/light/data/ArrayLightDataCache (java.lang.ClassNotFoundException: net.caffeinemc.mods.sodium.client.model.light.data.ArrayLightDataCache) [16May2025 05:34:27.435] [main/WARN] [mixin/]: Error loading class: net/caffeinemc/mods/sodium/client/model/light/flat/FlatLightPipeline (java.lang.ClassNotFoundException: net.caffeinemc.mods.sodium.client.model.light.flat.FlatLightPipeline) [16May2025 05:34:27.437] [main/WARN] [mixin/]: Error loading class: net/caffeinemc/mods/sodium/client/model/light/data/LightDataAccess (java.lang.ClassNotFoundException: net.caffeinemc.mods.sodium.client.model.light.data.LightDataAccess) [16May2025 05:34:27.438] [main/WARN] [mixin/]: Error loading class: net/fabricmc/fabric/impl/client/indigo/renderer/aocalc/AoCalculator (java.lang.ClassNotFoundException: net.fabricmc.fabric.impl.client.indigo.renderer.aocalc.AoCalculator) [16May2025 05:34:27.440] [main/INFO] [Colorful Hearts/]: Skipped applying mixin HUDOverlayHandlerAccessor as mod appleskin is not present. [16May2025 05:34:27.440] [main/INFO] [Colorful Hearts/]: Skipped applying mixin ComfortHealthOverlayMixin as mod farmersdelight is not present. [16May2025 05:34:27.448] [main/WARN] [mixin/]: Error loading class: vectorwing/farmersdelight/common/block/entity/container/CookingPotResultSlot (java.lang.ClassNotFoundException: vectorwing.farmersdelight.common.block.entity.container.CookingPotResultSlot) [16May2025 05:34:27.448] [main/WARN] [mixin/]: @Mixin target vectorwing.farmersdelight.common.block.entity.container.CookingPotResultSlot was not found origins_classes.mixins.json:common.farmersdelight.CookingPotResultSlotMixin [16May2025 05:34:27.449] [main/WARN] [mixin/]: Error loading class: vectorwing/farmersdelight/common/item/SkilletItem (java.lang.ClassNotFoundException: vectorwing.farmersdelight.common.item.SkilletItem) [16May2025 05:34:27.450] [main/WARN] [mixin/]: @Mixin target vectorwing.farmersdelight.common.item.SkilletItem was not found origins_classes.mixins.json:common.farmersdelight.SkilletItemMixin [16May2025 05:34:27.454] [main/WARN] [mixin/]: Error loading class: se/mickelus/tetra/blocks/workbench/WorkbenchTile (java.lang.ClassNotFoundException: se.mickelus.tetra.blocks.workbench.WorkbenchTile) [16May2025 05:34:27.454] [main/WARN] [mixin/]: @Mixin target se.mickelus.tetra.blocks.workbench.WorkbenchTile was not found origins_classes.mixins.json:common.tetra.WorkbenchTileMixin [16May2025 05:34:27.501] [main/WARN] [mixin/]: Error loading class: net/dries007/tfc/common/fluids/MixingFluid (java.lang.ClassNotFoundException: net.dries007.tfc.common.fluids.MixingFluid) [16May2025 05:34:27.501] [main/WARN] [mixin/]: @Mixin target net.dries007.tfc.common.fluids.MixingFluid was not found particular.mixins.json:compat.TFCMixingFluidMixin [16May2025 05:34:27.503] [main/WARN] [mixin/]: Error loading class: net/dries007/tfc/common/fluids/RiverWaterFluid (java.lang.ClassNotFoundException: net.dries007.tfc.common.fluids.RiverWaterFluid) [16May2025 05:34:27.503] [main/WARN] [mixin/]: @Mixin target net.dries007.tfc.common.fluids.RiverWaterFluid was not found particular.mixins.json:compat.TFCWaterMixin [16May2025 05:34:27.551] [main/WARN] [mixin/]: Error loading class: fuzs/easymagic/world/inventory/ModEnchantmentMenu (java.lang.ClassNotFoundException: fuzs.easymagic.world.inventory.ModEnchantmentMenu) [16May2025 05:34:27.551] [main/WARN] [mixin/]: @Mixin target fuzs.easymagic.world.inventory.ModEnchantmentMenu was not found skilltree.mixins.json:easymagic/ModEnchantmentMenuMixin [16May2025 05:34:27.588] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 2 calls to Enchantment#getMaxLevel() in net/minecraft/world/item/CreativeModeTabs [16May2025 05:34:27.595] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 1 calls to Enchantment#getMaxLevel() in net/minecraft/world/entity/npc/VillagerTrades$EnchantBookForEmeralds [16May2025 05:34:27.595] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 1 calls to Enchantment#isTreasureOnly() in net/minecraft/world/entity/npc/VillagerTrades$EnchantBookForEmeralds [16May2025 05:34:27.595] [main/INFO] [net.minecraftforge.coremod.CoreMod.apotheosis/COREMODLOG]: Replaced 1 calls to Enchantment#isTradeable() in net/minecraft/world/entity/npc/VillagerTrades$EnchantBookForEmeralds [16May2025 05:34:27.650] [main/WARN] [mixin/]: Error loading class: vectorwing/farmersdelight/common/block/TomatoVineBlock (java.lang.ClassNotFoundException: vectorwing.farmersdelight.common.block.TomatoVineBlock) [16May2025 05:34:27.661] [main/WARN] [mixin/]: Error loading class: net/raphimc/immediatelyfast/feature/map_atlas_generation/MapAtlasTexture (java.lang.ClassNotFoundException: net.raphimc.immediatelyfast.feature.map_atlas_generation.MapAtlasTexture) [16May2025 05:34:27.675] [main/WARN] [mixin/]: Error loading class: vazkii/quark/addons/oddities/inventory/BackpackMenu (java.lang.ClassNotFoundException: vazkii.quark.addons.oddities.inventory.BackpackMenu) [16May2025 05:34:27.709] [main/WARN] [mixin/]: Error loading class: dev/tr7zw/skinlayers/SkinUtil (java.lang.ClassNotFoundException: dev.tr7zw.skinlayers.SkinUtil) [16May2025 05:34:27.709] [main/WARN] [mixin/]: @Mixin target dev.tr7zw.skinlayers.SkinUtil was not found mixins.epicfight.json:SkinLayer3DMixinSkinUtil [16May2025 05:34:27.711] [main/WARN] [mixin/]: Error loading class: dev/tr7zw/skinlayers/versionless/render/CustomModelPart (java.lang.ClassNotFoundException: dev.tr7zw.skinlayers.versionless.render.CustomModelPart) [16May2025 05:34:27.711] [main/WARN] [mixin/]: @Mixin target dev.tr7zw.skinlayers.versionless.render.CustomModelPart was not found mixins.epicfight.json:SkinLayer3DMixinCustomModelPart [16May2025 05:34:27.712] [main/WARN] [mixin/]: Error loading class: dev/tr7zw/skinlayers/versionless/render/CustomizableCube (java.lang.ClassNotFoundException: dev.tr7zw.skinlayers.versionless.render.CustomizableCube) [16May2025 05:34:27.712] [main/WARN] [mixin/]: @Mixin target dev.tr7zw.skinlayers.versionless.render.CustomizableCube was not found mixins.epicfight.json:SkinLayer3DMixinCustomizableCubeWrapper$SkinLayer3DMixinCustomModelCube [16May2025 05:34:27.714] [main/WARN] [mixin/]: Error loading class: de/teamlapen/vampirism/client/renderer/entity/layers/VampirePlayerHeadLayer (java.lang.ClassNotFoundException: de.teamlapen.vampirism.client.renderer.entity.layers.VampirePlayerHeadLayer) [16May2025 05:34:27.714] [main/WARN] [mixin/]: @Mixin target de.teamlapen.vampirism.client.renderer.entity.layers.VampirePlayerHeadLayer was not found mixins.epicfight.json:VampirismMixinVampirePlayerHeadLayer [16May2025 05:34:27.715] [main/WARN] [mixin/]: Error loading class: de/teamlapen/werewolves/client/render/layer/HumanWerewolfLayer (java.lang.ClassNotFoundException: de.teamlapen.werewolves.client.render.layer.HumanWerewolfLayer) [16May2025 05:34:27.715] [main/WARN] [mixin/]: @Mixin target de.teamlapen.werewolves.client.render.layer.HumanWerewolfLayer was not found mixins.epicfight.json:WerewolvesMixinHumanWerewolfLayer [16May2025 05:34:27.733] [main/WARN] [mixin/]: Error loading class: journeymap/client/ui/fullscreen/Fullscreen (java.lang.ClassNotFoundException: journeymap.client.ui.fullscreen.Fullscreen) [16May2025 05:34:27.733] [main/WARN] [mixin/]: @Mixin target journeymap.client.ui.fullscreen.Fullscreen was not found create.mixins.json:compat.JourneyFullscreenMapMixin [16May2025 05:34:27.789] [main/WARN] [Embeddium/]: Force-disabling mixin 'features.render.world.sky.WorldRendererMixin' as rule 'mixin.features.render.world.sky' (added by mods [oculus]) disables it and children [16May2025 05:34:27.789] [main/WARN] [Embeddium/]: Force-disabling mixin 'features.render.world.sky.ClientWorldMixin' as rule 'mixin.features.render.world.sky' (added by mods [oculus]) disables it and children [16May2025 05:34:27.789] [main/WARN] [Embeddium/]: Force-disabling mixin 'features.render.world.sky.BackgroundRendererMixin' as rule 'mixin.features.render.world.sky' (added by mods [oculus]) disables it and children [16May2025 05:34:27.790] [main/WARN] [Embeddium/]: Force-disabling mixin 'features.render.gui.font.GlyphRendererMixin' as rule 'mixin.features.render.gui.font' (added by mods [oculus]) disables it and children [16May2025 05:34:27.790] [main/WARN] [Embeddium/]: Force-disabling mixin 'features.render.gui.font.FontSetMixin' as rule 'mixin.features.render.gui.font' (added by mods [oculus]) disables it and children [16May2025 05:34:27.791] [main/WARN] [Embeddium/]: Force-disabling mixin 'features.render.entity.shadows.EntityRenderDispatcherMixin' as rule 'mixin.features.render.entity' (added by mods [oculus]) disables it and children [16May2025 05:34:27.791] [main/WARN] [Embeddium/]: Force-disabling mixin 'features.render.entity.remove_streams.ModelPartMixin' as rule 'mixin.features.render.entity' (added by mods [oculus]) disables it and children [16May2025 05:34:27.791] [main/WARN] [Embeddium/]: Force-disabling mixin 'features.render.entity.remove_streams.HierarchicalModelMixin' as rule 'mixin.features.render.entity' (added by mods [oculus]) disables it and children [16May2025 05:34:27.791] [main/WARN] [Embeddium/]: Force-disabling mixin 'features.render.entity.fast_render.ModelPartMixin' as rule 'mixin.features.render.entity' (added by mods [oculus]) disables it and children [16May2025 05:34:27.791] [main/WARN] [Embeddium/]: Force-disabling mixin 'features.render.entity.fast_render.CuboidMixin' as rule 'mixin.features.render.entity' (added by mods [oculus]) disables it and children [16May2025 05:34:27.791] [main/WARN] [Embeddium/]: Force-disabling mixin 'features.render.entity.cull.EntityRendererMixin' as rule 'mixin.features.render.entity' (added by mods [oculus]) disables it and children [16May2025 05:34:27.842] [main/WARN] [mixin/]: Error loading class: yesman/epicfight/client/gui/EntityIndicator (java.lang.ClassNotFoundException: yesman.epicfight.client.gui.EntityIndicator) [16May2025 05:34:27.842] [main/ERROR] [mixin/]: Cannot invoke "org.spongepowered.asm.mixin.transformer.ClassInfo.isMixin()" because "superClass" is null java.lang.NullPointerException: Cannot invoke "org.spongepowered.asm.mixin.transformer.ClassInfo.isMixin()" because "superClass" is null at org.spongepowered.asm.mixin.transformer.MixinInfo$SubType$Standard.validate(MixinInfo.java:581) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinInfo$State.validate(MixinInfo.java:327) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinInfo.validate(MixinInfo.java:913) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinConfig.postInitialise(MixinConfig.java:801) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:567) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:462) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:438) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:290) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.9.jar:10.0.9+10.0.9+main.dcd20f30] at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?] at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:637) ~[?:?] at java.lang.Class.forName(Class.java:545) ~[?:?] at net.minecraftforge.fml.earlydisplay.DisplayWindow.lambda$updateModuleReads$13(DisplayWindow.java:615) ~[fmlearlydisplay-1.20.1-47.4.0.jar:1.0] at java.util.Optional.map(Optional.java:260) ~[?:?] at net.minecraftforge.fml.earlydisplay.DisplayWindow.updateModuleReads(DisplayWindow.java:615) ~[fmlearlydisplay-1.20.1-47.4.0.jar:1.0] at net.minecraftforge.fml.loading.ImmediateWindowHandler.acceptGameLayer(ImmediateWindowHandler.java:71) ~[fmlloader-1.20.1-47.4.0.jar:1.0] at net.minecraftforge.fml.loading.FMLLoader.beforeStart(FMLLoader.java:216) ~[fmlloader-1.20.1-47.4.0.jar:1.0] at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.launchService(CommonLaunchHandler.java:92) ~[fmlloader-1.20.1-47.4.0.jar:?] at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] [16May2025 05:34:27.926] [main/WARN] [mixin/]: Error loading class: yesman/epicfight/config/OptionHandler$BooleanOptionHandler (java.lang.ClassNotFoundException: yesman.epicfight.config.OptionHandler$BooleanOptionHandler) [16May2025 05:34:27.943] [main/WARN] [mixin/]: Error loading class: net/caffeinemc/mods/sodium/client/model/light/data/ArrayLightDataCache (java.lang.ClassNotFoundException: net.caffeinemc.mods.sodium.client.model.light.data.ArrayLightDataCache) [16May2025 05:34:27.945] [main/WARN] [mixin/]: Error loading class: net/caffeinemc/mods/sodium/client/model/light/data/ArrayLightDataCache (java.lang.ClassNotFoundException: net.caffeinemc.mods.sodium.client.model.light.data.ArrayLightDataCache) [16May2025 05:34:27.947] [main/WARN] [mixin/]: Error loading class: net/caffeinemc/mods/sodium/client/model/light/flat/FlatLightPipeline (java.lang.ClassNotFoundException: net.caffeinemc.mods.sodium.client.model.light.flat.FlatLightPipeline) [16May2025 05:34:27.948] [main/WARN] [mixin/]: Error loading class: net/caffeinemc/mods/sodium/client/model/light/flat/FlatLightPipeline (java.lang.ClassNotFoundException: net.caffeinemc.mods.sodium.client.model.light.flat.FlatLightPipeline) [16May2025 05:34:27.950] [main/WARN] [mixin/]: Error loading class: net/caffeinemc/mods/sodium/client/model/light/data/LightDataAccess (java.lang.ClassNotFoundException: net.caffeinemc.mods.sodium.client.model.light.data.LightDataAccess) [16May2025 05:34:27.951] [main/WARN] [mixin/]: Error loading class: net/caffeinemc/mods/sodium/client/model/light/data/LightDataAccess (java.lang.ClassNotFoundException: net.caffeinemc.mods.sodium.client.model.light.data.LightDataAccess) [16May2025 05:34:27.992] [main/WARN] [mixin/]: Error loading class: yesman/epicfight/skill/Skill$Builder (java.lang.ClassNotFoundException: yesman.epicfight.skill.Skill$Builder) [16May2025 05:34:27.993] [main/WARN] [mixin/]: Error loading class: yesman/epicfight/skill/Skill$Builder (java.lang.ClassNotFoundException: yesman.epicfight.skill.Skill$Builder) [16May2025 05:34:27.994] [main/WARN] [mixin/]: Error loading class: yesman/epicfight/skill/Skill$Builder (java.lang.ClassNotFoundException: yesman.epicfight.skill.Skill$Builder) [16May2025 05:34:28.005] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.4.1). [16May2025 05:34:28.354] [main/WARN] [mixin/]: Mixin apply failed mixins.epicfight.json:MixinMinecraft -> net.minecraft.client.Minecraft: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Critical injection failure: @Inject annotation on epicfight_handleKeybinds could not find any targets matching 'handleKeybinds()V' in net.minecraft.client.Minecraft. No refMap loaded. [ -> handler$gfj000$epicfight_handleKeybinds(Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V -> Parse] org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @Inject annotation on epicfight_handleKeybinds could not find any targets matching 'handleKeybinds()V' in net.minecraft.client.Minecraft. No refMap loaded. [ -> handler$gfj000$epicfight_handleKeybinds(Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V -> Parse] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.validateTargets(InjectionInfo.java:656) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findTargets(InjectionInfo.java:587) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.readAnnotation(InjectionInfo.java:330) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:316) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:308) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.CallbackInjectionInfo.<init>(CallbackInjectionInfo.java:46) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at jdk.internal.reflect.GeneratedConstructorAccessor89.newInstance(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo$InjectorEntry.create(InjectionInfo.java:149) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.parse(InjectionInfo.java:708) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1311) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1042) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:393) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:383) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:365) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.9.jar:10.0.9+10.0.9+main.dcd20f30] at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?] at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.10.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?] at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?] at java.lang.Class.privateGetPublicMethods(Class.java:3427) ~[?:?] at java.lang.Class.privateGetPublicMethods(Class.java:3433) ~[?:?] at java.lang.Class.getMethods(Class.java:2019) ~[?:?] at net.minecraftforge.fml.earlydisplay.DisplayWindow.updateModuleReads(DisplayWindow.java:616) ~[fmlearlydisplay-1.20.1-47.4.0.jar:1.0] at net.minecraftforge.fml.loading.ImmediateWindowHandler.acceptGameLayer(ImmediateWindowHandler.java:71) ~[fmlloader-1.20.1-47.4.0.jar:1.0] at net.minecraftforge.fml.loading.FMLLoader.beforeStart(FMLLoader.java:216) ~[fmlloader-1.20.1-47.4.0.jar:1.0] at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.launchService(CommonLaunchHandler.java:92) ~[fmlloader-1.20.1-47.4.0.jar:?] at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] [16May2025 05:34:28.584] [main/FATAL] [mixin/]: Mixin apply failed mixins.epicironcompat.json:MixinRenderItemBase -> yesman.epicfight.client.renderer.patched.item.RenderItemBase: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Invalid descriptor on mixins.epicironcompat.json:MixinRenderItemBase->@Inject::onRenderItemInHandStart(Lnet/minecraft/world/item/ItemStack;Lyesman/epicfight/world/capabilities/entitypatch/LivingEntityPatch;Lnet/minecraft/world/InteractionHand;Lyesman/epicfight/model/armature/HumanoidArmature;[Lyesman/epicfight/api/utils/math/OpenMatrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;IFLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V! Expected (Lnet/minecraft/world/item/ItemStack;Lyesman/epicfight/world/capabilities/entitypatch/LivingEntityPatch;Lnet/minecraft/world/InteractionHand;[Lyesman/epicfight/api/utils/math/OpenMatrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;IFLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V but found (Lnet/minecraft/world/item/ItemStack;Lyesman/epicfight/world/capabilities/entitypatch/LivingEntityPatch;Lnet/minecraft/world/InteractionHand;Lyesman/epicfight/model/armature/HumanoidArmature;[Lyesman/epicfight/api/utils/math/OpenMatrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;IFLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V [INJECT Applicator Phase -> mixins.epicironcompat.json:MixinRenderItemBase -> Apply Injections -> -> Inject -> mixins.epicironcompat.json:MixinRenderItemBase->@Inject::onRenderItemInHandStart(Lnet/minecraft/world/item/ItemStack;Lyesman/epicfight/world/capabilities/entitypatch/LivingEntityPatch;Lnet/minecraft/world/InteractionHand;Lyesman/epicfight/model/armature/HumanoidArmature;[Lyesman/epicfight/api/utils/math/OpenMatrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;IFLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V] org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Invalid descriptor on mixins.epicironcompat.json:MixinRenderItemBase->@Inject::onRenderItemInHandStart(Lnet/minecraft/world/item/ItemStack;Lyesman/epicfight/world/capabilities/entitypatch/LivingEntityPatch;Lnet/minecraft/world/InteractionHand;Lyesman/epicfight/model/armature/HumanoidArmature;[Lyesman/epicfight/api/utils/math/OpenMatrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;IFLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V! Expected (Lnet/minecraft/world/item/ItemStack;Lyesman/epicfight/world/capabilities/entitypatch/LivingEntityPatch;Lnet/minecraft/world/InteractionHand;[Lyesman/epicfight/api/utils/math/OpenMatrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;IFLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V but found (Lnet/minecraft/world/item/ItemStack;Lyesman/epicfight/world/capabilities/entitypatch/LivingEntityPatch;Lnet/minecraft/world/InteractionHand;Lyesman/epicfight/model/armature/HumanoidArmature;[Lyesman/epicfight/api/utils/math/OpenMatrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;IFLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V [INJECT Applicator Phase -> mixins.epicironcompat.json:MixinRenderItemBase -> Apply Injections -> -> Inject -> mixins.epicironcompat.json:MixinRenderItemBase->@Inject::onRenderItemInHandStart(Lnet/minecraft/world/item/ItemStack;Lyesman/epicfight/world/capabilities/entitypatch/LivingEntityPatch;Lnet/minecraft/world/InteractionHand;Lyesman/epicfight/model/armature/HumanoidArmature;[Lyesman/epicfight/api/utils/math/OpenMatrix4f;Lnet/minecraft/client/renderer/MultiBufferSource;Lcom/mojang/blaze3d/vertex/PoseStack;IFLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V] at org.spongepowered.asm.mixin.injection.callback.CallbackInjector.inject(CallbackInjector.java:517) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.callback.CallbackInjector.inject(CallbackInjector.java:447) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.code.Injector.inject(Injector.java:276) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.inject(InjectionInfo.java:445) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1355) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1051) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:383) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:365) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.9.jar:10.0.9+10.0.9+main.dcd20f30] at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?] at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.10.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] at net.minecraft.Util.m_137550_(Util.java:1894) ~[client-1.20.1-20230612.114412-srg.jar%23601!/:?] at net.minecraft.client.main.Main.main(Main.java:80) ~[forge-47.4.0.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.4.0.jar:?] at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.4.0.jar:?] at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.4.0.jar:?] at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]  
    • Replace AzureLib with this build: https://www.curseforge.com/minecraft/mc-mods/azurelib/files/6004977
  • Topics

×
×
  • Create New...

Important Information

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