Jump to content

[1.7.10][SOLVED] Custom Furnace disappearing when items added to the inventory


Jao247

Recommended Posts

Okay so i forgot to actually register the Active version of the crusher on the Game Registry... it is now working as intended... all i need to do now is figure out the battery thing(Stores fuel in the crusher to be used so that coal isnt automatically burned)... if anyone knows how to do so can you send me a PM

 

 

So i am working on a mod... it is not going to be released as it is intended as me testing features for a mod later... its more to just see how to make certain mod items

 

So this is some problems i have with my custom furnace... the idea for it is to make dust out of the ore you give it... and as the title states I place Items into the inventory... upon closing the inventory it properly stores the item in the correct slot... however if there are both Fuel and a "crush able" Item the inventory closes involuntarily and when i attempt to open the inventory again it deletes the block... here are the files related to the block:

 

Block_Crusher.java

package com.jao247.mod_ruins.block;

import com.jao247.mod_ruins.RuinsOfWorld;
import com.jao247.mod_ruins.init.ModBlocks;
import com.jao247.mod_ruins.tileEntity.TileEntityCrusher;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
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;

import java.util.Random;

public class Block_Crusher extends BlockContainerRW
{
private final Random random = new Random();
private final boolean isActive;
private static boolean M;
@SideOnly(Side.CLIENT)
private IIcon N;
@SideOnly(Side.CLIENT)
private IIcon O;
@SideOnly(Side.CLIENT)
private IIcon P;

public Block_Crusher(boolean active)
{
	super(Material.iron);
	this.isActive = active;
	this.setHardness(2.0F);
	this.setResistance(10.0F);
}

public Item getItemDropped(int par1, Random par2, int par3)
{
	return Item.getItemFromBlock(ModBlocks.crusher);
}

public void onBlockAdded(World world, int par1, int par2, int par3)
{
	super.onBlockAdded(world, par1, par2, par3);
	this.testNeighbours(world, par1, par2, par3);
}

public void testNeighbours(World world, int x, int y, int z)
{
	if (!world.isRemote)
	{
		Block block = world.getBlock(x, y, z - 1);
		Block block1 = world.getBlock(x, y, z + 1);
		Block block2 = world.getBlock(x - 1, y, z);
		Block block3 = world.getBlock(x + 1, y, z);
		byte b0 = 3;

		if (block.func_149730_j() && !block1.func_149730_j())
			b0 = 3;

		if (block1.func_149730_j() && !block.func_149730_j())
			b0 = 2;

		if (block2.func_149730_j() && !block3.func_149730_j())
			b0 = 5;

		if (block3.func_149730_j() && !block2.func_149730_j())
			b0 = 4;

		world.setBlockMetadataWithNotify(x, y, z, b0, 2);
	}
}

@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta)
{
	return side == 1 ? this.N : (side == 0 ? this.blockIcon : this.O);
}

@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister icon)
{
	int tex = this.getUnlocalizedName().indexOf(".") + 1;

	this.blockIcon = icon.registerIcon(this.getUnlocalizedName().substring(tex) + "_bottom");
	this.O = icon.registerIcon(this.getUnlocalizedName().substring(tex) + "_side");
	this.N = icon.registerIcon(this.getUnlocalizedName().substring(tex) + "_top");
}

public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float minX, float minY, float minZ)
{
	if (world.isRemote)
	{
		return true;
	} else
	{
		TileEntityCrusher tileEntityCrusher = (TileEntityCrusher) world.getTileEntity(x, y, z);

		if (tileEntityCrusher != null)
		{
			player.openGui(RuinsOfWorld.instance, 1, world, x, y, z);
		}

		return true;
	}
}

public static void updateBlockState(boolean bool, World world, int x, int y, int z)
{
	int l = world.getBlockMetadata(x, y, z);
	TileEntity tileEntity = world.getTileEntity(x, y, z);
	M = true;

	if (bool)
	{
		world.setBlock(x, y, z, ModBlocks.crusherActive);
	} else
	{
		world.setBlock(x, y, z, ModBlocks.crusher);
	}

	M = false;
	world.setBlockMetadataWithNotify(x, y, z, l, 2);

	if (tileEntity != null)
	{
		tileEntity.validate();
		world.setTileEntity(x, y, z, tileEntity);
	}
}

public TileEntity createNewTileEntity(World world, int par1)
{
	return new TileEntityCrusher();
}

public void onBlockPlaced(World world, int x, int y, int z, EntityLivingBase entity, ItemStack iStack)
{
	int l = MathHelper.floor_double((double) (entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;

	if (l == 0)
	{
		world.setBlockMetadataWithNotify(x, y, z, 2, 2);
	}
	if (l == 1)
	{
		world.setBlockMetadataWithNotify(x, y, z, 5, 2);
	}
	if (l == 2)
	{
		world.setBlockMetadataWithNotify(x, y, z, 3, 2);
	}
	if (l == 3)
	{
		world.setBlockMetadataWithNotify(x, y, z, 4, 2);
	}

	if (iStack.hasDisplayName())
	{
		((TileEntityCrusher) world.getTileEntity(x, y, z)).getName(iStack.getDisplayName());
	}
}

public void breakBlock(World world, int x, int y, int z, Block block, int par6)
{
	if (!M)
	{
		TileEntityCrusher tileEntityCrusher = (TileEntityCrusher) world.getTileEntity(x, y, z);

		if (tileEntityCrusher != null)
		{
			for (int i1 = 0; i1 < tileEntityCrusher.getSizeInventory(); ++i1)
			{
				ItemStack iStack = tileEntityCrusher.getStackInSlot(i1);

				if (iStack != null)
				{
					float f = this.random.nextFloat() * 0.8F + 0.1F;
					float f1 = this.random.nextFloat() * 0.8F + 0.1F;
					float f2 = this.random.nextFloat() * 0.8F + 0.1F;

					while (iStack.stackSize > 0)
					{
						int j1 = this.random.nextInt(21) + 10;

						if (j1 > iStack.stackSize)
							j1 = iStack.stackSize;

						iStack.stackSize -= j1;
						EntityItem entityItem = new EntityItem(world, (double) ((float) x + f), (double) ((float) y + f1), (double) ((float) z + f2));

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

						float f3 = 0.05F;
						entityItem.motionX = (double) ((float) this.random.nextGaussian() * f3);
						entityItem.motionY = (double) ((float) this.random.nextGaussian() * f3 + 0.2F);
						entityItem.motionZ = (double) ((float) this.random.nextGaussian() * f3);
						world.spawnEntityInWorld(entityItem);
					}
				}
			}

			world.func_147453_f(x, y, z, block);
		}
	}

	super.breakBlock(world, x, y, z, block, par6);
}

@SideOnly(Side.CLIENT)
public void randomDisplayTick(World world, int x, int y, int z, Random random)
{
	//display smoke on sides...
}

@SideOnly(Side.CLIENT)
public Item getItem(World world, int x, int y, int z)
{
	return Item.getItemFromBlock(ModBlocks.crusher);
}
}

 

TileEntityCrusher.java

package com.jao247.mod_ruins.tileEntity;

import com.jao247.mod_ruins.block.Block_Crusher;
import com.jao247.mod_ruins.crafting.CrusherRecipes;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;

public class TileEntityCrusher extends TileEntity implements ISidedInventory
{
private static final int[] slotsTop = new int[]{0};
private static final int[] slotsBottom = new int[]{2, 1};
private static final int[] slotsSide = new int[]{1};

private ItemStack[] crusherItemStacks = new ItemStack[3];

public int crusherCrushTime;
public int crusherCurCrushTime;
public int crusherWorkedTime;
private String name;

public void getName(String displayName)
{
}

public int getSizeInventory()
{
	return this.crusherItemStacks.length;
}

public ItemStack getStackInSlot(int slot)
{
	return this.crusherItemStacks[slot];
}

@Override
public ItemStack decrStackSize(int par1, int par2)
{
	if (this.crusherItemStacks[par1] != null)
	{
		ItemStack iStack;

		if (this.crusherItemStacks[par1].stackSize <= par2)
		{
			iStack = this.crusherItemStacks[par1];
			this.crusherItemStacks[par1] = null;
			return iStack;
		} else
		{
			iStack = this.crusherItemStacks[par1].splitStack(par2);

			if (this.crusherItemStacks[par1].stackSize == 0)
			{
				this.crusherItemStacks[par1] = null;
			}

			return iStack;
		}
	} else
		return null;
}

@Override
public ItemStack getStackInSlotOnClosing(int par1)
{
	if (this.crusherItemStacks[par1] != null)
	{
		ItemStack iStack = this.crusherItemStacks[par1];
		this.crusherItemStacks[par1] = null;
		return iStack;
	} else
		return null;
}

@Override
public void setInventorySlotContents(int par1, ItemStack par2)
{
	this.crusherItemStacks[par1] = par2;
	if (par2 != null && par2.stackSize > this.getInventoryStackLimit())
		par2.stackSize = this.getInventoryStackLimit();
}

@Override
public String getInventoryName()
{
	return this.hasCustomInventoryName() ? this.name : "Crusher";
}

@Override
public boolean hasCustomInventoryName()
{
	return this.name != null && this.name.length() > 0;
}

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

public void readFromNBT(NBTTagCompound par1)
{
	super.readFromNBT(par1);
	NBTTagList nbtTagList = par1.getTagList("Items", 10);
	this.crusherItemStacks = new ItemStack[this.getSizeInventory()];

	for (int i = 0; i < nbtTagList.tagCount(); ++i)
	{
		NBTTagCompound nbtTagCompound = nbtTagList.getCompoundTagAt(i);
		byte b0 = nbtTagCompound.getByte("Slot");

		if (b0 >= 0 && b0 < this.crusherItemStacks.length)
		{
			this.crusherItemStacks[b0] = ItemStack.loadItemStackFromNBT(nbtTagCompound);
		}
	}

	this.crusherCrushTime = par1.getShort("CrushTime");
	this.crusherWorkedTime = par1.getShort("WorkedTime");
	this.crusherCurCrushTime = getItemCrushTime(this.crusherItemStacks[1]);

	if (par1.hasKey("CustomName", )
	{
		this.name = par1.getString("CustomName");
	}
}

public void writeToNBT(NBTTagCompound par1)
{
	super.writeToNBT(par1);
	par1.setShort("CrushTime", (short) this.crusherCrushTime);
	par1.setShort("WorkedTime", (short) this.crusherWorkedTime);
	NBTTagList nbtTagList = new NBTTagList();

	for (int i = 0; i < this.crusherItemStacks.length; ++i)
	{
		if (this.crusherItemStacks[i] != null)
		{
			NBTTagCompound nbtTagCompound = new NBTTagCompound();
			nbtTagCompound.setByte("Slot", (byte) i);
			this.crusherItemStacks[i].writeToNBT(nbtTagCompound);
			nbtTagList.appendTag(nbtTagCompound);
		}
	}

	par1.setTag("Items", nbtTagList);

	if (this.hasCustomInventoryName())
	{
		par1.setString("CustomName", this.name);
	}
}

public int getWorkedProgressScaled(int par1)
{
	return this.crusherWorkedTime * par1 / 400;
}

public int getCrushTimeRemainingScaled(int par1)
{
	if (this.crusherCurCrushTime == 0)
	{
		this.crusherCurCrushTime = 400;
	}

	return this.crusherCrushTime * par1 / this.crusherCurCrushTime;
}

public boolean isActive()
{
	return this.crusherCrushTime > 0;
}

public void updateEntity()
{
	boolean flag = this.crusherCrushTime > 0;
	boolean flag1 = false;

	if (this.crusherCrushTime > 0)
	{
		--this.crusherCrushTime;
	}

	if (!this.worldObj.isRemote)
	{
		if (this.crusherCrushTime != 0 || this.crusherItemStacks[1] != null && this.crusherItemStacks[0] != null)
		{
			if (this.crusherCrushTime == 0 && this.canCrush())
			{
				this.crusherCurCrushTime = this.crusherCrushTime = getItemCrushTime(this.crusherItemStacks[1]);

				if (this.crusherCrushTime > 0)
				{
					flag1 = true;

					if (this.crusherItemStacks[1] != null)
					{
						--this.crusherItemStacks[1].stackSize;
						if (this.crusherItemStacks[1].stackSize == 0)
						{
							this.crusherItemStacks[1] = crusherItemStacks[1].getItem().getContainerItem(crusherItemStacks[1]);
						}
					}
				}
			}

			if (this.isActive() && this.canCrush())
			{
				++this.crusherWorkedTime;

				if (this.crusherWorkedTime == 400)
				{
					this.crusherWorkedTime = 0;
					this.crushItem();
					flag1 = true;
				}
			} else
			{
				this.crusherWorkedTime = 0;
			}
		}

		if (flag != this.crusherCrushTime > 0)
		{
			flag1 = true;
			Block_Crusher.updateBlockState(this.crusherCrushTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
		}
	}

	if (flag1)
		this.markDirty();

}

private boolean canCrush()
{
	if (this.crusherItemStacks[0] == null)
		return false;
	else
	{
		ItemStack iStack = CrusherRecipes.crushing().getCrushResult(this.crusherItemStacks[0]);
		if (iStack == null) return false;
		if (this.crusherItemStacks[2] == null) return true;
		if (!this.crusherItemStacks[2].isItemEqual(iStack)) return false;
		int result = crusherItemStacks[2].stackSize + iStack.stackSize;
		return result <= getInventoryStackLimit() && result <= this.crusherItemStacks[2].getMaxStackSize();
	}
}

public void crushItem()
{
	if (this.canCrush())
	{
		ItemStack iStack = CrusherRecipes.crushing().getCrushResult(this.crusherItemStacks[0]);

		if (this.crusherItemStacks[2] == null)
			this.crusherItemStacks[2] = iStack.copy();
		else if (this.crusherItemStacks[2].getItem() == iStack.getItem())
			this.crusherItemStacks[2].stackSize += iStack.stackSize;

		--this.crusherItemStacks[0].stackSize;

		if (this.crusherItemStacks[0].stackSize <= 0)
			this.crusherItemStacks[0] = null;
	}
}

public static int getItemCrushTime(ItemStack iStack)
{
	if (iStack == null)
	{
		return 0;
	} else
	{
		Item item = iStack.getItem();
		if (item instanceof ItemBlock && Block.getBlockFromItem(item) != Blocks.air) ;
		{
			Block block = Block.getBlockFromItem(item);
			//add specific blocks to crusher fuel line
		}

		//add blocks/Items to crusher fuel line
		if (item == Items.coal) return 1600;
		return GameRegistry.getFuelValue(iStack);
	}
}

public static boolean isItemFuel(ItemStack iStack)
{
	return getItemCrushTime(iStack) > 0;
}

@Override
public boolean isUseableByPlayer(EntityPlayer par1)
{
	return this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D) <= 64.0D;
}

@Override
public void openInventory()
{
}

@Override
public void closeInventory()
{
}

@Override
public boolean isItemValidForSlot(int slot, ItemStack iStack)
{
	return slot == 2 ? false : (slot == 1 ? isItemFuel(iStack) : true);
}

@Override
public int[] getAccessibleSlotsFromSide(int side)
{
	return side == 0 ? slotsBottom : (side == 1 ? slotsTop : slotsSide);
}

@Override
public boolean canInsertItem(int slot, ItemStack iStack, int par3)
{
	return this.isItemValidForSlot(slot, iStack);
}

@Override
public boolean canExtractItem(int slot, ItemStack iStack, int par3)
{
	return par3 != 0 || slot != 1;
}
}

 

ContainerCrusher.java

package com.jao247.mod_ruins.inventory;

import com.jao247.mod_ruins.crafting.CrusherRecipes;
import com.jao247.mod_ruins.tileEntity.TileEntityCrusher;
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.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;

public class ContainerCrusher extends ContainerRW
{
private TileEntityCrusher tileCrusher;
private int lastWorkTime;
private int lastCrushTime;
private int lastItemCrushTime;

public ContainerCrusher(InventoryPlayer iPlayer, TileEntityCrusher tileEntityCrusher)
{
	this.tileCrusher = tileEntityCrusher;
	this.addSlotToContainer(new Slot(tileEntityCrusher, 0, 56, 35));
	this.addSlotToContainer(new Slot(tileEntityCrusher, 1, 5, 5));
	this.addSlotToContainer(new SlotPower(iPlayer.player, tileEntityCrusher, 2, 120, 35));
	int i;

	for (i = 0; i < 3; ++i)
	{
		for (int j = 0; j < 9; ++j)
		{
			this.addSlotToContainer(new Slot(iPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
		}
	}

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

public void addCraftingToCrafters(ICrafting iCrafting)
{
	super.addCraftingToCrafters(iCrafting);
	iCrafting.sendProgressBarUpdate(this, 0, this.tileCrusher.crusherWorkedTime);
	iCrafting.sendProgressBarUpdate(this, 1, this.tileCrusher.crusherCrushTime);
	iCrafting.sendProgressBarUpdate(this, 2, this.tileCrusher.crusherCurCrushTime);
}

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

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

		if (this.lastWorkTime != this.tileCrusher.crusherWorkedTime)
		{
			iCrafting.sendProgressBarUpdate(this, 0, this.tileCrusher.crusherWorkedTime);
		}
		if (this.lastCrushTime != this.tileCrusher.crusherCrushTime)
		{
			iCrafting.sendProgressBarUpdate(this, 1, this.tileCrusher.crusherCrushTime);
		}
		if (this.lastItemCrushTime != this.tileCrusher.crusherCurCrushTime)
		{
			iCrafting.sendProgressBarUpdate(this, 2, this.tileCrusher.crusherCurCrushTime);
		}
	}

	this.lastWorkTime = this.tileCrusher.crusherWorkedTime;
	this.lastCrushTime = this.tileCrusher.crusherCrushTime;
	this.lastItemCrushTime = this.tileCrusher.crusherCurCrushTime;
}

@SideOnly(Side.CLIENT)
public void updateProgressBar(int par1, int par2)
{
	if (par1 == 0)
		this.tileCrusher.crusherWorkedTime = par2;
	if (par1 == 1)
		this.tileCrusher.crusherCrushTime = par2;
	if (par1 == 2)
		this.tileCrusher.crusherCurCrushTime = par2;
}

@Override
public boolean canInteractWith(EntityPlayer par1)
{
	return this.tileCrusher.isUseableByPlayer(par1);
}

public ItemStack transferStackInSlot(EntityPlayer e, int parSlot)
{
	ItemStack iStack = null;
	Slot slot = (Slot) this.inventorySlots.get(parSlot);

	if (slot != null && slot.getHasStack())
	{
		ItemStack iStack1 = slot.getStack();
		iStack = iStack1.copy();

		if (parSlot == 2)
		{
			if (!this.mergeItemStack(iStack1, 3, 39, true))
			{
				return null;
			}

			slot.onSlotChange(iStack1, iStack);
		} else if (parSlot != 1 && parSlot != 0)
		{
			if (CrusherRecipes.crushing().getCrushResult(iStack1) != null)
			{
				if (!this.mergeItemStack(iStack1, 0, 1, false))
					return null;
			} else if (TileEntityCrusher.isItemFuel(iStack1))
			{
				if (!this.mergeItemStack(iStack1, 1, 2, false))
					return null;
			} else if (parSlot >= 3 && parSlot < 30)
			{
				if (!this.mergeItemStack(iStack1, 30, 39, false))
					return null;
			} else if (parSlot >= 30 && parSlot < 39 && !this.mergeItemStack(iStack1, 3, 30, false))
				return null;
		} else if (!this.mergeItemStack(iStack1, 3, 39, false))
			return null;

		if (iStack1.stackSize == 0)
			slot.putStack((ItemStack) null);
		else
			slot.onSlotChanged();

		if (iStack1.stackSize == iStack.stackSize)
			return null;

		slot.onPickupFromSlot(e, iStack1);
	}
	return iStack;
}
}

 

GuiCrusher.java

package com.jao247.mod_ruins.client.gui.inventory;

import com.jao247.mod_ruins.inventory.ContainerCrusher;
import com.jao247.mod_ruins.reference.Texture;
import com.jao247.mod_ruins.tileEntity.TileEntityCrusher;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;

public class GuiCrusher extends GuiContainerRW
{
private static final ResourceLocation crusherGuiTextures = new ResourceLocation(Texture.MOD_TEX_REF.substring(Texture.MOD_TEX_REF.indexOf(".") + 1) + "textures/gui/container/crusher.png");
private TileEntityCrusher tileCrusher;

public GuiCrusher(InventoryPlayer iPlayer, TileEntityCrusher tileCrusher)
{
	super(new ContainerCrusher(iPlayer, tileCrusher));
	this.tileCrusher = tileCrusher;
}

protected void drawGuiContainerForegroundLayer(int par1, int par2)
{
	String s = this.tileCrusher.hasCustomInventoryName() ? this.tileCrusher.getInventoryName() : I18n.format(this.tileCrusher.getInventoryName(), new Object[0]);
	this.fontRendererObj.drawString(s, this.xSize / 2 - this.fontRendererObj.getStringWidth(s) / 2, 6, 4210752);
	this.fontRendererObj.drawString(I18n.format("container.inventory", new Object[0]), 8, this.ySize - 96 + 2, 4210752);
}

protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
{
	GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
	this.mc.getTextureManager().bindTexture(crusherGuiTextures);
	int k = (this.width - this.xSize) / 2;
	int l = (this.height - this.ySize) / 2;
	this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);

	if (this.tileCrusher.isActive())
	{
		int i1 = this.tileCrusher.getCrushTimeRemainingScaled(13);
		this.drawTexturedModalRect(k + 56, l + 36 + 12 - i1, 176, 12 - i1, 14, i1 + 1);
		i1 = this.tileCrusher.getWorkedProgressScaled(24);
		this.drawTexturedModalRect(k + 79, l + 34, 176, 14, i1 + 1, 16);
	}
}
}

 

CrusherRecipes.java

package com.jao247.mod_ruins.crafting;

import com.jao247.mod_ruins.init.ModBlocks;
import com.jao247.mod_ruins.init.ModItems;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class CrusherRecipes
{
private static final CrusherRecipes crushingBase = new CrusherRecipes();
private Map crushingList = new HashMap();
private Map experienceList = new HashMap();

public static CrusherRecipes crushing()
{
	return crushingBase;
}

private CrusherRecipes()
{
	this.crushBlock(Blocks.iron_ore, new ItemStack(ModItems.dustIron,2), 0.7F);
	this.crushBlock(Blocks.gold_ore, new ItemStack(ModItems.dustGold,2), 0.7F);
	this.crushBlock(ModBlocks.oreCopper, new ItemStack(ModItems.dustCopper,2), 0.7F);
	this.crushBlock(ModBlocks.oreTin, new ItemStack(ModItems.dustTin,2), 0.7F);
	this.crushBlock(ModBlocks.oreCadium, new ItemStack(ModItems.dustCadium,2), 0.7F);
}

public void crushBlock(Block block, ItemStack output, float exp)
{
	this.crushItem(Item.getItemFromBlock(block), output, exp);
}

public void crushItem(Item item, ItemStack output, float exp)
{
	this.crushItemStack(new ItemStack(item, 1, 32767), output, exp);
}

public void crushItemStack(ItemStack input, ItemStack output, float exp)
{
	this.crushingList.put(input,output);
	this.experienceList.put(input,output);
}

public ItemStack getCrushResult(ItemStack iStack)
{
	Iterator iterator = this.crushingList.entrySet().iterator();
	Map.Entry entry;

	do
	{
		if(!iterator.hasNext())
			return null;
		entry= (Map.Entry)iterator.next();
	}
	while(!this.canSmelt(iStack,(ItemStack)entry.getKey()));

	return (ItemStack)entry.getValue();
}

public boolean canSmelt(ItemStack input, ItemStack output)
{
	return output.getItem() == input.getItem() && (output.getItemDamage() == 32767 || output.getItemDamage() == input.getItemDamage());
}

public Map getCrushingList(){return this.crushingList;}

public float getCrushExp(ItemStack iStack)
{
	float ret = iStack.getItem().getSmeltingExperience(iStack);
	if(ret != -1) return ret;

	Iterator iterator = this.experienceList.entrySet().iterator();
	Map.Entry entry;

	do
	{
		if(!iterator.hasNext())
		{
			return 0.0F;
		}
		entry = (Map.Entry)iterator.next();
	}
	while (!this.canSmelt(iStack, (ItemStack)entry.getKey()));

	return ((Float)entry.getValue()).floatValue();
}
}

 

Registered as follows:

public static final Block crusher = new Block_Crusher(false).setBlockName("crusher").setCreativeTab(CreativeTabRW.RW_TAB);
public static final Block crusherActive = new Block_Crusher(true);

        //init method
GameRegistry.registerBlock(crusher, "Crusher");

 

A long with this trouble if anyone knows how to set it up that the furnace stores the Fuel and automatically burns the fuel until the "Battery" is full

 

I based all the code off of the Vanilla furnace code, incl. the recipe class..

 

If i am missing any information then let me know... fairly knew to posting here and i didnt see anyone else with a trouble with something like this

 

I appreciate any help you can give, Thanks  :D

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Descargo un mod y luego, en archivo jar, lo mando a la carpeta "mods" en minecraft, pero al entrar a minecraft forge no me aparecen los mods por ningun lado, si pongo un mod incompatible me sale un error pero no me aparecen los demas mods, ¿Que puedo hacer?  
    • Descargo un mod y luego, en archivo jar, lo mando a la carpeta "mods" en minecraft, pero al entrar a minecraft forge no me aparecen los mods por ningun lado, si pongo un mod incompatible me sale un error pero no me aparecen los demas mods, ¿Que puedo hacer?  
    • Please read the FAQ for how to post logs, pasting them inline is very hard to read. What happened after you removed JEI? A log from that run might help as well.
    • I am setting up a modded server using Aternos and I have gotten this error:   [06Oct2024 18:53:53.588] [main/ERROR] [net.minecraftforge.fml.loading.RuntimeDistCleaner/DISTXFORM]: Attempted to load class com/minecolonies/core/compatibility/jei/GenericRecipeCategory for invalid dist DEDICATED_SERVER I removed JEI from the server to see if that would fix anything. All I know is that Minecolonies is the main problem, I have seen similar errors though I still am unsure.   I am not wanting to remove Minecolonies as it will be a major part of the server I am setting up.   FULL LOG:   [06Oct2024 18:53:37.486] [main/INFO] [Arclight/]: ___ ___ __ /\ / | ________/ (_)__ / / / / / /| |/ __/ __/ / / _ / _ \/__/ / ___ / / / /_/ / / / / // / / /_/ |/_/ \__/_/_/\_ /_//_/ / /__/ \/ Version 顿顽 (Trials) / arclight-1.20.1-1.0.6-SNAPSHOT-b2cde4a Build Date 2024-08-11 16:15:13 [06Oct2024 18:53:37.535] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, arclightserver, --fml.forgeVersion, 47.2.20, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412, nogui] [06Oct2024 18:53:37.537] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.12 by Eclipse Adoptium; OS Linux arch amd64 version 5.15.0-112-generic [06Oct2024 18:53:39.238] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: ImmediateWindowProvider not loading because launch target is arclightserver [06Oct2024 18:53:39.272] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/server/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2399!/ Service=ModLauncher Env=SERVER [06Oct2024 18:53:40.002] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /server/libraries/net/minecraftforge/fmlcore/1.20.1-47.2.20/fmlcore-1.20.1-47.2.20.jar is missing mods.toml file [06Oct2024 18:53:40.002] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /server/libraries/net/minecraftforge/javafmllanguage/1.20.1-47.2.20/javafmllanguage-1.20.1-47.2.20.jar is missing mods.toml file [06Oct2024 18:53:40.003] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /server/libraries/net/minecraftforge/lowcodelanguage/1.20.1-47.2.20/lowcodelanguage-1.20.1-47.2.20.jar is missing mods.toml file [06Oct2024 18:53:40.003] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /server/libraries/net/minecraftforge/mclanguage/1.20.1-47.2.20/mclanguage-1.20.1-47.2.20.jar is missing mods.toml file [06Oct2024 18:53:40.502] [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: [06Oct2024 18:53:40.504] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: aeroblender. Using Mod File: /server/mods/aeroblender-1.20.1-1.0.1-neoforge.jar [06Oct2024 18:53:40.504] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: expandability. Using Mod File: /server/mods/expandability-9.0.4.jar [06Oct2024 18:53:40.504] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: curios. Using Mod File: /server/mods/curios-forge-5.10.0+1.20.1.jar [06Oct2024 18:53:40.504] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 15 dependencies adding them to mods collection [06Oct2024 18:53:48.289] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [06Oct2024 18:53:49.330] [main/INFO] [mixin/]: Successfully loaded Mixin Connector [io.izzel.arclight.common.mod.ArclightConnector] [06Oct2024 18:53:49.359] [main/INFO] [Arclight/]: Arclight core mixin added. [06Oct2024 18:53:49.362] [main/INFO] [Arclight/]: Arclight optimization mixin added. [06Oct2024 18:53:49.367] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'arclightserver' with arguments [nogui] [06Oct2024 18:53:49.491] [main/INFO] [ModernFix/]: Loaded configuration file for ModernFix 5.19.4+mc1.20.1: 84 options available, 0 override(s) found [06Oct2024 18:53:49.492] [main/INFO] [ModernFix/]: Applying Nashorn fix [06Oct2024 18:53:49.544] [main/INFO] [ModernFix/]: Applied Forge config corruption patch [06Oct2024 18:53:49.646] [main/WARN] [mixin/]: Reference map 'expanded_ecosphere-forge-refmap.json' for wwoo.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:49.669] [main/WARN] [mixin/]: Reference map 'nitrogen_internals.refmap.json' for nitrogen_internals.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:49.845] [main/WARN] [mixin/]: Reference map 'AxesAreWeapons-forge-refmap.json' for axesareweapons.forge.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:49.957] [main/INFO] [Puzzles Lib/]: Loading 209 mods: - additionalbanners 14.0.4 - additionalstructures 4.2.2 - aeroblender 1.20.1-1.0.1-neoforge - aether 0.0NONE |-- cumulus_menus 0.0NONE |-- mixinextras 0.2.0-beta.9 \-- nitrogen_internals 0.0NONE - aether_protect_your_moa 1.20.1-1.0.0-neoforge - aether_villages 1.0.7 - aethersdelight 0.1.1-1.20.1 - alexsdelight 1.5 - alexsmobs 1.22.9 - amendments 1.20-1.2.11 - appleskin 2.5.1+mc1.20.1 - aquamirae 6.API15 - architectury 9.2.14 - arclight 1.20.1-1.0.6-SNAPSHOT-b2cde4a - armorstatues 8.0.6 |-- puzzlesaccessapi 8.0.7 \-- puzzlesapi 8.1.4 - artifacts 9.5.13 - axesareweapons 1.7.3 - backported_wolves 1.0.3-1.20.1 - bagus_lib 1.20.1-5.3.0 - balm 7.3.9 \-- kuma_api 20.1.8 - beekeeperhut 2.0.1 - bettercombat 1.8.6+1.20.1 - 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 - 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 - bettertridents 8.0.1 - betterwitchhuts 1.20-Forge-3.0.3 - betterwithminecolonies 1.20-1.19.19 - bfendcities 1.0 - biome_backlog 1.3.0 - blockrunner 8.0.4 - blockui 1.20.1-1.0.186-beta - blueprint 7.1.0 - boatload 5.0.1 - bookshelf 20.2.13 - born_in_chaos_v1 1.0.0 - brutalbosses 1.20.1-7.1 - buzzier_bees 6.0.0 - bygonenether 1.3.2 - caelus 3.2.0+1.20.1 - cataclysm 2.05 - cataclysmiccombat 1.3.5 - caveore 1.20.1-3.7 - cavesanddepths 1.2.7 - charmofundying 6.5.0+1.20.1 \-- spectrelib 0.13.15+1.20.1 - charms 2.0.1-1.20.1 - chefsdelight 1.0.3-forge-1.20.1 - citadel 2.6.0 - clayworks 3.0.1 - cloth_config 11.1.136 - clumps 12.0.0.4 - cobweb 1.0.0 - collective 7.84 - comforts 6.4.0+1.20.1 - connectivity 1.20.1-5.6 - corgilib 4.0.3.2 - cosmeticarmorreworked 1.20.1-v1a - cristellib 1.1.5 - crittersandcompanions 1.20.1-2.1.7 - ctov 3.4.9b - cupboard 1.20.1-2.7 - curios 5.10.0+1.20.1 - curiosquarkobp 1.2.5 - curious_armor_stands 1.20-5.1.0 - curiouslanterns 1.20.1-1.3.3 - deep_aether 1.20.1-1.0.4 - deeperdarker 1.3.2 - domum_ornamentum 1.20.1-1.0.282-snapshot - dragonfight 1.20.1-4.6 - dragonmounts 1.2.3-beta - dynamiclights 1.20.1.2 - earthmobsmod 1.20.1-10.5.0 - easyanvils 8.0.2 - echochest 8.0.0 - elytraslot 6.4.4+1.20.1 \-- mixinsquared 0.1.2-beta.6 - enchantwithmob 1.20.1-11.13.1 - endrem 5.3.3-R-1.20.1 - ends_delight 2.4 - everycomp 1.20-2.6.80 - expandability 9.0.4 - expanded_ecosphere 3.2.4 - explorify 1.6.2 - farmersdelight 1.20.1-1.2.4 - ferritecore 6.0.1 - flowerymooblooms 2.0.2 - followersteleporttoo 2.6 - forge 47.2.20 - formations 1.0.2+a - formationsnether 1.0.5 - formationsoverworld 1.0.4 - friendsandfoes 3.0.3 - geckolib 4.4.9 - geode_plus 1.2.5 - guardvillagers 1.20.1-1.6.7 - hoporp 1.3.7 - hopour 1.1.4 - horsecombatcontrols 1.20.1-1.0.2 - hunters_return 1.20.1-11.5.0 - iceandfire 1.19.2-2.1.13+build.beta-2 - illagerinvasion 8.0.6 - immersive_armors 1.6.1+1.20.1 - immersive_weathering 1.20.1-2.0.3 - irons_spellbooks 1.20.1-3.4.0.2 - iter_rpg 0.7.3 - leaky 1.20.1-2.1 - lionfishapi 1.9 - lithostitched 1.3.0 - lolmha 2.0.0 - 1.20.1 - lootintegrationaddonyung 1.18-1.20.1-1.1 - lootintegrations 1.20.1-3.7 - luminoustag 1.0.0 - luminousworld 1.4.42 - magistuarmory 9.16 - mavapi 1.1.4 - mavm 1.2.6 - mcwbridges 3.0.0 - mcwdoors 1.1.1 - mcwfences 1.1.2 - mcwfurnitures 3.3.0 - mcwlights 1.1.0 - mcwpaintings 1.0.5 - mcwpaths 1.0.5 - mcwroofs 2.3.1 - mcwtrpdoors 1.1.3 - mcwwindows 2.3.0 - minecolonies 1.20.1-1.1.683-snapshot - minecolonies_compatibility 2.43 - minecolonies_tweaks 2.36 - minecraft 1.20.1 - modernfix 5.19.4+mc1.20.1 - moonlight 1.20-2.13.3 - moreadvancementsmod 1.3.0-1.20.1 - moremobvariants 1.3.0.1 - mowziesdelight 1.0.3.1-1.20.1 - mowziesmobs 1.6.4 - mr_ctov_domesticatedinnovationcompat 2.0 - mr_ctov_farmersdelightcompat 2.1 - mr_ctov_friendsandfoescompat 2.0 - mr_ctov_ironsspellsnspellbookscompat 1.2 - multipiston 1.20-1.2.43-RELEASE - nameless_trinkets 1.20.1-1.7.8 - netherdepthsupgrade 3.1.5-1.20 - nethersdelight 1.20.1-4.0 - obscure_api 15 - onlyhammersandexcavators 1.20.1-0.3 - openpartiesandclaims 0.23.2 - personality 4.0.0 - pet_cemetery 2.0.0 - phantasm 0.4.1 - philipsruins 4.6 - playeranimator 1.0.2-rc1+1.20 - polymorph 0.49.5+1.20.1 - proplacer 8.0.2 - puzzleslib 8.1.24 - quark 4.0-460 - quarkoddities 1.20.1 - radiantgear 2.1.5+1.20.1 - resource_ghouls 1.8.0 - sawmill 1.20-1.4.3 - sereneseasons 9.0.0.46 - simple_weapons 1.4.4 - simplecorinthium 1.2.2 - smoothchunk 1.20.1-3.6 - sophisticatedbackpacks 3.20.11.1115 - sophisticatedcore 0.6.33.711 - soul_fire_d 4.0.4 - spelunkers_charm 3.6.0 - stoneworks 8.0.0 - strongersnowballs 13.0.2 - structureessentials 1.20.1-3.4 - structurize 1.20.1-1.0.760-snapshot - supplementaries 1.20-2.8.17 - swordblockingmechanics 8.0.1 - t_and_t 0.0NONE - terrablender 3.0.1.7 - the_fletching_table_mod 1.3 - totw_additions 1.3.1 - totw_modded 1.0.5 - towntalk 1.1.0 - treechop 0.19.0 - twilightdelight 2.0.12 \-- l2library 2.4.16 - twilightforest 4.3.2508 - upgrade_aquatic 6.0.1 - valhelsia_core 1.1.2 - valhelsia_structures 1.20.1-1.1.2 - villagernames 8.1 - w2w2 1.0 - waystones 14.1.5 - woodworks 3.0.1 - wwoo_forge 2.0.0 - xaerominimap 24.5.0 - xaeroworldmap 1.39.0 - yungsapi 1.20-Forge-4.0.6 - yungsbridges 1.20-Forge-4.0.3 - zeta 1.0-24 [06Oct2024 18:53:49.973] [main/WARN] [mixin/]: Reference map 'Aquamirae.refmap.json' for aquamirae.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:49.980] [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 [06Oct2024 18:53:50.064] [main/WARN] [mixin/]: Reference map 'cobweb.refmap.json' for cobweb.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:50.066] [main/WARN] [mixin/]: Reference map 'cobweb.refmap.json' for cobweb.forge.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:50.287] [main/WARN] [mixin/]: Reference map 'netherdepthsupgrade.refmap.json' for netherdepthsupgrade.mixins.json could not be read. If this is a development environment you can ignore this message [06Oct2024 18:53:53.145] [main/WARN] [mixin/]: Error loading class: com/legacy/lost_aether/entity/AerwhaleKingEntity (java.lang.ClassNotFoundException: com.legacy.lost_aether.entity.AerwhaleKingEntity) [06Oct2024 18:53:53.588] [main/ERROR] [net.minecraftforge.fml.loading.RuntimeDistCleaner/DISTXFORM]: Attempted to load class com/minecolonies/core/compatibility/jei/GenericRecipeCategory for invalid dist DEDICATED_SERVER [06Oct2024 18:53:53.589] [main/WARN] [mixin/]: Error loading class: com/minecolonies/core/compatibility/jei/GenericRecipeCategory (java.lang.RuntimeException: Attempted to load class com/minecolonies/core/compatibility/jei/GenericRecipeCategory for invalid dist DEDICATED_SERVER) [06Oct2024 18:53:53.589] [main/WARN] [mixin/]: @Mixin target com.minecolonies.core.compatibility.jei.GenericRecipeCategory was not found minecolonies_compatibility.mixin.common.json:minecolonies.GenericRecipeCategoryMixin [06Oct2024 18:53:53.640] [main/WARN] [mixin/]: Error loading class: com/legacy/blue_skies/blocks/natural/BrewberryBushBlock (java.lang.ClassNotFoundException: com.legacy.blue_skies.blocks.natural.BrewberryBushBlock) [06Oct2024 18:53:53.640] [main/WARN] [mixin/]: @Mixin target com.legacy.blue_skies.blocks.natural.BrewberryBushBlock was not found minecolonies_compatibility.mixin.common.json:blue_skies.BrewberryBushBlockAccessor [06Oct2024 18:53:53.645] [main/WARN] [mixin/]: Error loading class: com/cobblemon/mod/common/block/BerryBlock (java.lang.ClassNotFoundException: com.cobblemon.mod.common.block.BerryBlock) [06Oct2024 18:53:53.645] [main/WARN] [mixin/]: @Mixin target com.cobblemon.mod.common.block.BerryBlock was not found minecolonies_compatibility.mixin.common.json:cobblemon.BerryBlockAccessor [06Oct2024 18:53:53.654] [main/WARN] [mixin/]: Error loading class: com/lothrazar/cyclic/block/apple/AppleCropBlock (java.lang.ClassNotFoundException: com.lothrazar.cyclic.block.apple.AppleCropBlock) [06Oct2024 18:53:53.654] [main/WARN] [mixin/]: @Mixin target com.lothrazar.cyclic.block.apple.AppleCropBlock was not found minecolonies_compatibility.mixin.common.json:cyclic.AppleCropBlockAccessor [06Oct2024 18:53:53.659] [main/WARN] [mixin/]: Error loading class: com/mrbysco/oreberriesreplanted/block/OreBerryBushBlock (java.lang.ClassNotFoundException: com.mrbysco.oreberriesreplanted.block.OreBerryBushBlock) [06Oct2024 18:53:53.659] [main/WARN] [mixin/]: @Mixin target com.mrbysco.oreberriesreplanted.block.OreBerryBushBlock was not found minecolonies_compatibility.mixin.common.json:oreberries.OreBerryBushBlockAccessor [06Oct2024 18:53:53.664] [main/WARN] [mixin/]: Error loading class: reliquary/items/HandgunItem (java.lang.ClassNotFoundException: reliquary.items.HandgunItem) [06Oct2024 18:53:53.664] [main/WARN] [mixin/]: @Mixin target reliquary.items.HandgunItem was not found minecolonies_compatibility.mixin.common.json:reliquary.HandgunItemAccessor [06Oct2024 18:53:53.669] [main/WARN] [mixin/]: Error loading class: reliquary/entities/shot/NeutralShotEntity (java.lang.ClassNotFoundException: reliquary.entities.shot.NeutralShotEntity) [06Oct2024 18:53:53.669] [main/WARN] [mixin/]: @Mixin target reliquary.entities.shot.NeutralShotEntity was not found minecolonies_compatibility.mixin.common.json:reliquary.NeutralShotEntityMixin [06Oct2024 18:53:53.674] [main/WARN] [mixin/]: Error loading class: com/lothrazar/storagenetwork/block/main/NetworkModule (java.lang.ClassNotFoundException: com.lothrazar.storagenetwork.block.main.NetworkModule) [06Oct2024 18:53:53.674] [main/WARN] [mixin/]: @Mixin target com.lothrazar.storagenetwork.block.main.NetworkModule was not found minecolonies_compatibility.mixin.common.json:storagenetwork.NetworkModuleAccessor [06Oct2024 18:53:53.678] [main/WARN] [mixin/]: Error loading class: com/lothrazar/storagenetwork/util/UtilConnections (java.lang.ClassNotFoundException: com.lothrazar.storagenetwork.util.UtilConnections) [06Oct2024 18:53:53.678] [main/WARN] [mixin/]: @Mixin target com.lothrazar.storagenetwork.util.UtilConnections was not found minecolonies_compatibility.mixin.common.json:storagenetwork.UtilConnectionsMixin [06Oct2024 18:53:53.683] [main/WARN] [mixin/]: Error loading class: cofh/lib/common/block/CropBlockCoFH (java.lang.ClassNotFoundException: cofh.lib.common.block.CropBlockCoFH) [06Oct2024 18:53:53.683] [main/WARN] [mixin/]: @Mixin target cofh.lib.common.block.CropBlockCoFH was not found minecolonies_compatibility.mixin.common.json:thermal.CropBlockCoFHAccessor [06Oct2024 18:53:54.080] [main/INFO] [com.cupboard.Cupboard/]: Loaded config for: structureessentials.json [06Oct2024 18:53:54.236] [main/WARN] [mixin/]: Error loading class: net/minecraft/client/model/geom/builders/LayerDefinition (java.lang.ClassNotFoundException: net.minecraft.client.model.geom.builders.LayerDefinition) [06Oct2024 18:53:54.236] [main/WARN] [mixin/]: @Mixin target net.minecraft.client.model.geom.builders.LayerDefinition was not found aether_protect_your_moa.mixins.json:client.accessor.LayerDefinitionAccessor [06Oct2024 18:53:54.351] [main/WARN] [mixin/]: Error loading class: net/minecraft/client/renderer/entity/PhantomRenderer (java.lang.ClassNotFoundException: net.minecraft.client.renderer.entity.PhantomRenderer) [06Oct2024 18:53:54.351] [main/WARN] [mixin/]: @Mixin target net.minecraft.client.renderer.entity.PhantomRenderer was not found mixins.deeperdarker.json:PhantomRendererMixin [06Oct2024 18:53:55.165] [main/WARN] [mixin/]: Error loading class: noobanidus/mods/lootr/config/ConfigManager (java.lang.ClassNotFoundException: noobanidus.mods.lootr.config.ConfigManager) [06Oct2024 18:53:57.039] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.4.0). [06Oct2024 18:53:57.861] [main/INFO] [net.minecraft.server.Bootstrap/]: ModernFix reached bootstrap stage (24.02 s after launch) [06Oct2024 18:53:57.999] [main/WARN] [mixin/]: @Final field delegatesByName:Ljava/util/Map; in modernfix-forge.mixins.json:perf.forge_registry_alloc.ForgeRegistryMixin should be final [06Oct2024 18:53:58.000] [main/WARN] [mixin/]: @Final field delegatesByValue:Ljava/util/Map; in modernfix-forge.mixins.json:perf.forge_registry_alloc.ForgeRegistryMixin should be final [06Oct2024 18:53:58.647] [main/WARN] [mixin/]: @Redirect conflict. Skipping mixins.arclight.core.json:world.entity.EntityMixin->@Redirect::arclight$setOnFireFromLava$bukkitEvent(Lnet/minecraft/world/entity/Entity;I)V with priority 500, already redirected by soul_fire_d.mixins.json:EntityMixin->@Redirect::redirectSetSecondsOnFire(Lnet/minecraft/world/entity/Entity;I)V with priority 1000  
  • Topics

×
×
  • Create New...

Important Information

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