Jump to content

[1.10.2]TileEntity not Working properly (page 2)


Villfuk02

Recommended Posts

So somebody told me, that i should use IItemHandler instead of IInventory.

I've got something, but when i place itemstack in slot, it goes in there, but it is also left in my cursor and when i remove itemstack it just disappears. I think everything happens twice and doesnt sync perfectly, because when i place less than 32 items in the slot, it just doubles in the slot. When i put 48 items in, in the slot goes 64 and i get 32 back. when i split the stack with rightclicking, in the slot is left just quarter of the items and in my cursor too.

 

TileEntity:

package com.villfuk02.essence.tileentities;

import java.awt.ItemSelectable;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
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.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.ItemStackHandler;

public class TileEntityStoneCrate extends TileEntity implements ICapabilityProvider{

private String customName;

private static ItemStackHandler itemHandler = new ItemStackHandler(81);

@Override
public boolean hasCapability(Capability capability, EnumFacing facing) {
     return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY ? true : super.hasCapability(capability, facing);
}

@Override
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
	if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
	    return (T) itemHandler;
	  }
	  return super.getCapability(capability, facing);
}

public String getCustomName(){
	return this.customName;
}

public void setCustomName(String customName){
	this.customName = customName;
}



public String getName() {
	return this.hasCustomName() ? this.customName : "Stone Storage Crate";
}

public boolean hasCustomName() {
	return this.customName != null && !this.customName.equals("");
}

public int getSizeInventory() {
	return 81;
}


public boolean isUseableByPlayer(EntityPlayer player) {
	return this.worldObj.getTileEntity(this.getPos()) == this && player.getDistanceSq(this.pos.add(0.5, 0.5, 0.5)) <= 64;
}


}

Container:

package com.villfuk02.essence.gui;

import org.apache.logging.log4j.core.net.Facility;

import com.villfuk02.essence.tileentities.TileEntityStoneCrate;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.SlotItemHandler;

public class ContainerStoneCrate extends Container{




private TileEntityStoneCrate te;

public ContainerStoneCrate(IInventory playerInv, TileEntityStoneCrate te) {
	this.te = te;

	//Tile Entity, Slot 0-80, Slot IDs 0-80
	for (int y = 0; y < 9; ++y){
		for (int x = 0; x < 9; ++x){
			this.addSlotToContainer(new SlotItemHandler(te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.UP), x + y * 9, 15 + x * 16, 15 + y * 16));
		}
	}
	//Player Inventory, Slot 9-35, Slot IDs 81-107
	for (int y = 0; y < 3; ++y){
		for (int x = 0; x < 9; ++x){
			this.addSlotToContainer(new Slot(playerInv, x + 9 + y * 9, 8 + x * 18, 174 + y * 18));
		}
	}

	//Player Inventory, Slot 0-8, SLot IDs 108-116
	for (int x = 0; x < 9; ++x){
		this.addSlotToContainer(new Slot(playerInv, x, 8 + x * 18, 232));
	}

}


@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 < 81){
			if(!this.mergeItemStack(current, 81, 117, true))
				return null;
		} else {
			if (!this.mergeItemStack(current, 0, 81, false))
				return null;
		}


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

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


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


}

 

What am i doing wrong?

pls help

 

 

 

Link to comment
Share on other sites

Works perfectly, thanks

I did it like this:

for (int i = 0; i < te.getSizeInventory(); i++){
		ItemStack stack = te.itemHandler.getStackInSlot(i);
		if (stack != null && stack.stackSize != 0)
			te.getWorld().spawnEntityInWorld(new EntityItem(world, pos.getX(), pos.getY(), pos.getZ(), stack));
	}	

 

But i have a problem, it doesn't save to nbt.

When i put items in it and reload the world, the items disappear.

 

Link to comment
Share on other sites

    @Override
    public NBTTagCompound writeToNBT(NBTTagCompound compound) {
        compound.setTag("items", (your itemhander that is instanceof INBTSerializable).serializeNBT());
        return compound;
    }

    @Override
    public void readFromNBT(NBTTagCompound compound) {
        (your itemhander that is instanceof INBTSerializable).deserializeNBT(compound.getCompoundTag("items"));
    }

 

ItemStackHandler is instanceof INBTSerializable

Link to comment
Share on other sites

public class TileEntityStoneCrate extends TileEntity implements ICapabilityProvider{

 

TileEntity already implements ICapabilityProvider

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.

Link to comment
Share on other sites

I have new tileEntity here, and it is simple machine, but when the process is finished, the nbt doesn't update and the items in it reset.

I dont know, how to make it write to nbt and what to do with the resetting items.

 

package com.villfuk02.essence.tileentities;

import org.xml.sax.InputSource;

import com.villfuk02.essence.Essence;
import com.villfuk02.essence.gui.ContainerManualMill;
import com.villfuk02.essence.init.ModItems;

import jline.internal.Log;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
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.SPacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemStackHandler;

public class TileEntityManualMill extends TileEntity implements ITickable {

private static int recipe_count = 3;

public boolean powered = false;

private String customName;
private static ItemStack[] inputs = {new ItemStack(Items.FEATHER),new ItemStack(Items.STRING),new ItemStack(Items.GLOWSTONE_DUST),new ItemStack(Items.PAPER),new ItemStack(Blocks.LEAVES),new ItemStack(Blocks.TALLGRASS),new ItemStack(Items.WHEAT),new ItemStack(Items.MELON),new ItemStack(Blocks.LEAVES2),new ItemStack(Blocks.TALLGRASS),new ItemStack(Items.WHEAT),new ItemStack(Items.MELON)};
private static ItemStack[] outputs = {new ItemStack(ModItems.essence_dust, 1, 0),new ItemStack(ModItems.essence_dust, 1, 1),new ItemStack(ModItems.essence_dust, 1, 1)};
private static Essence[] essence_outputs ={new Essence(40, 0),new Essence(40, 1),new Essence(40, 1)};

private int speed = 0;
private int average_speed = 0;
private int cache_speed = -1;
private int speed_decrement = 3;
private int power_needed = 8000;	
private int progress = 0;
private int rotation = 0;
private int rotation_stage = 0;

private int max_essence = 1000;
private int essence_stored = 0;
private int essence_type = -1;

public ItemStackHandler itemHandler = new ItemStackHandler(getSizeInventory()); 

@Override
public boolean hasCapability(Capability capability, EnumFacing facing) {
     return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY ? true : super.hasCapability(capability, facing);
}

@Override
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
	if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
	    return (T) itemHandler;
	  }
	  return super.getCapability(capability, facing);
}

@Override
public SPacketUpdateTileEntity getUpdatePacket()
{
	BlockPos blockPos=getPos();
	return new SPacketUpdateTileEntity(blockPos,0,getUpdateTag());
}

@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt)
{
	NBTTagCompound nbtTagCompound=pkt.getNbtCompound();
	super.readFromNBT(nbtTagCompound);
	readFromNBT(nbtTagCompound);
}

@Override
public NBTTagCompound getUpdateTag()
{
	NBTTagCompound supertag=super.getUpdateTag();
	writeToNBT(supertag);
	return supertag;
}

@Override
public void handleUpdateTag(NBTTagCompound tag)
{
	super.handleUpdateTag(tag);
	readFromNBT(tag);
}





public int getAvgSpeed(){
	return average_speed;
}

public int getSpeed(){
	return speed;
}	

public boolean getPowered(){
	return powered;
}

public int getEssence(){
	return essence_stored;
}

public int getEssenceType(){
	return essence_type;
}

public double fractionEssence(){
	double fraction = 39.0 *((double)essence_stored / (double)max_essence);
	if (fraction > 0.0)
		fraction++;
	return MathHelper.clamp_double(fraction, 0.0, 40.0);
}

public double fractionProgress(){
	double fraction = ((double)progress / (double)power_needed);
	return MathHelper.clamp_double(fraction, 0.0, 1.0);
}

public double fractionSpeed(){
	double fraction = ((double)average_speed / (double)(30 * speed_decrement));
	return MathHelper.clamp_double(fraction, 0.0, 1.0);
}

public int getRotationStage() {
	return rotation_stage;
}



@Override
public void update(){
	if (essence_stored == 0){
		essence_type = -1;
	}
	if(powered){
		speed += 80;
	}else if(speed > 0){
		speed -= 1 + (int)((double)speed / (double)speed_decrement);
	}
	if (speed < 0)
		speed = 0;
	if (progress >= power_needed){
		finishRecipe();
		progress = 0;
	}
	average_speed = (average_speed * 39 + speed) / 40;
	if(validRecipe()){
		if(average_speed > 0){
			rotation += average_speed;
			progress += average_speed;
		}			
		if (progress <0)
			progress = 0;

		rotation_stage = ((int)((double)rotation / 37.5)) % 4;

		if (rotation > 149)
			rotation -= 150;			

	}else {
		progress = 0;
	}

	if (essence_stored == 0){
		essence_type = -1;
	}

	powered = false;		
	this.markDirty();
}


private boolean validRecipe(){
	ItemStack result = null;
	boolean validi = false;
	boolean valide = false;
	result = getOutput(itemHandler.getStackInSlot(0),itemHandler.getStackInSlot(1),itemHandler.getStackInSlot(2),itemHandler.getStackInSlot(3));
	if (result != null) {
		ItemStack outputStack = itemHandler.getStackInSlot(4);
		if (outputStack == null){
			validi = true;				
		}else if (outputStack.getItem() == result.getItem() && outputStack.getMetadata() == result.getMetadata() && ItemStack.areItemStackTagsEqual(outputStack, result)){
			int combinedSize = outputStack.stackSize + result.stackSize;
			if (combinedSize <= 64 && combinedSize <= outputStack.getMaxStackSize()){
				validi = true;
			}
		}
	}
	if (validi){
		Essence essence = getEssenceOutput(itemHandler.getStackInSlot(0),itemHandler.getStackInSlot(1),itemHandler.getStackInSlot(2),itemHandler.getStackInSlot(3));
		if (essence != null){
			if(essence_type == -1){
				valide = true;
			}else if(essence.getType() == essence_type){
				int combined_amount = essence.getAmount() + essence_stored;
				if (combined_amount <= max_essence){
					valide = true;
				}
			}
		}
	}
	if (!valide){
		validi = false;
	}
	this.markDirty();
	return validi;
}

public void finishRecipe(){
	ItemStack out = getOutput(itemHandler.getStackInSlot(0),itemHandler.getStackInSlot(1),itemHandler.getStackInSlot(2),itemHandler.getStackInSlot(3));

	if (itemHandler.getStackInSlot(4) == null){
		itemHandler.insertItem(4, out, false);
	}else{
		itemHandler.insertItem(4, new ItemStack(itemHandler.getStackInSlot(4).getItem(), itemHandler.getStackInSlot(4).stackSize + out.stackSize, itemHandler.getStackInSlot(4).getMetadata()), false);
	}

	for(int i = 0; i < 4; i++){
		ItemStack stack = itemHandler.getStackInSlot(i);
		stack.stackSize--;
		if (stack.stackSize <= 0){
			stack = null;
		}
		itemHandler.insertItem(i, stack, false);
	}

	essence_stored += getEssenceOutput(itemHandler.getStackInSlot(0),itemHandler.getStackInSlot(1),itemHandler.getStackInSlot(2),itemHandler.getStackInSlot(3)).getAmount();
	essence_type = getEssenceOutput(itemHandler.getStackInSlot(0),itemHandler.getStackInSlot(1),itemHandler.getStackInSlot(2),itemHandler.getStackInSlot(3)).getType();
	//---Something to write to NBT here---
	this.markDirty();
}

public static ItemStack getOutput(ItemStack in1, ItemStack in2, ItemStack in3, ItemStack in4){
	ItemStack result = null;
	ItemStack[] in = {in1, in2, in3, in4};
	if (in1 == null || in2 == null || in3 == null || in4 == null){
		return null;
	}else{
		for(int x = 0; x < recipe_count; x++){
			for (int a = 0; a < 4; a++){
				if (in[a].getItem() == inputs[4*x].getItem()){
					for (int b = 0; b < 4; b++){
						if (in[b].getItem() == inputs[4*x + 1].getItem()){
							for (int c = 0; c < 4; c++){
								if (in[c].getItem() == inputs[4*x + 2].getItem()){
									for (int d = 0; d < 4; d++){
										if (in[d].getItem() == inputs[4*x + 3].getItem()){
											result = outputs[x];
										}				

									}
								}				

							}
						}				

					}
				}				

			}
		}
		if (in1.getItem() == ModItems.essence_dust && in2.getItem() == ModItems.essence_dust && in3.getItem() == ModItems.essence_dust && in4.getItem() == ModItems.essence_dust){
			int data = in1.getMetadata();
			if (in2.getMetadata() == data && in3.getMetadata() == data && in4.getMetadata() == data)
				result = new ItemStack(ModItems.essence_dust, 3, data);
		}
	}

	return result;

}

public static Essence getEssenceOutput(ItemStack in1, ItemStack in2, ItemStack in3, ItemStack in4){
	Essence result = null;
	ItemStack[] in = {in1, in2, in3, in4};
	if (in1 == null || in2 == null || in3 == null || in4 == null){
		return null;
	}else{
		for(int x = 0; x < recipe_count; x++){
			for (int a = 0; a < 4; a++){
				if (in[a].getItem() == inputs[4*x].getItem()){
					for (int b = 0; b < 4; b++){
						if (in[b].getItem() == inputs[4*x + 1].getItem()){
							for (int c = 0; c < 4; c++){
								if (in[c].getItem() == inputs[4*x + 2].getItem()){
									for (int d = 0; d < 4; d++){
										if (in[d].getItem() == inputs[4*x + 3].getItem()){
											result = essence_outputs[x];
										}				

									}
								}				

							}
						}				

					}
				}				

			}
		}
		if (in1.getItem() == ModItems.essence_dust && in2.getItem() == ModItems.essence_dust && in3.getItem() == ModItems.essence_dust && in4.getItem() == ModItems.essence_dust){
			int data = in1.getMetadata();
			if (in2.getMetadata() == data && in3.getMetadata() == data && in4.getMetadata() == data)
				result = new Essence(20, data);
		}
	}

	return result;

}


public String getCustomName(){
	return this.customName;
}

public void setCustomName(String customName){
	this.customName = customName;
}

public ItemStack[] getStacks(){
	ItemStack[] itemStacks = new ItemStack[5];
	for (int i = 0; i < getSizeInventory(); i++)
		itemStacks[i] = itemHandler.getStackInSlot(i);
	return itemStacks;
}


public String getName() {
	return this.hasCustomName() ? this.customName : "Manual Essence Mill";
}

public boolean hasCustomName() {
	return this.customName != null && !this.customName.equals("");
}

public int getSizeInventory() {
	return 5;
}


public boolean isUseableByPlayer(EntityPlayer player) {
	return this.worldObj.getTileEntity(this.getPos()) == this && player.getDistanceSq(this.pos.add(0.5, 0.5, 0.5)) <= 64;
}


public int getField(int id) {
	int value = 0;
	if (id == 0)
		value = progress;
	if (id == 1)
		value = speed;
	if (id == 2)
		value = rotation;
	if (id == 3)
		value = essence_stored;
	if (id == 4)
		value = essence_type;
	return value;
}

public void setField(int id, int value) {
	if (id == 0)
		progress = value;
	if (id == 1)
		speed = value;
	if (id == 2)
		rotation = value;
	if (id == 3)
		essence_stored = value;
	if (id == 4)
		essence_type = value;		
}

public int getFieldCount() {
	return 5;
}


@Override
public NBTTagCompound writeToNBT(NBTTagCompound nbt){
	super.writeToNBT(nbt);

	nbt.setTag("Items", itemHandler.serializeNBT());

	nbt.setInteger("progress", progress);
	nbt.setInteger("speed", speed);
	nbt.setInteger("rotation", rotation);
	nbt.setInteger("essence_stored", essence_stored);
	nbt.setInteger("essence_type", essence_type);

	if (this.hasCustomName()){
		nbt.setString("CustomName",this.getCustomName());
	}
	return nbt;
}

@Override
public void readFromNBT(NBTTagCompound nbt){
	super.readFromNBT(nbt);

	itemHandler.deserializeNBT(nbt.getCompoundTag("Items"));

	progress = nbt.getInteger("progress");
	speed = nbt.getInteger("speed");
	rotation = nbt.getInteger("rotation");
	essence_stored = nbt.getInteger("essence_stored");
	essence_type = nbt.getInteger("essence_type");

	if(nbt.hasKey(customName, ){
		this.setCustomName(nbt.getString("CustomName"));

	}
}




}

 

Thanks for any response

Link to comment
Share on other sites

Ok, so where's the problem?

Why does it just reset when i reload the world?

And the items are doing totally wierd things. When i update one slot, it just resets to how it was before the processing.

 

Try it yourself:

BlockManualMill:

package com.villfuk02.essence.blocks;

import java.util.Random;

import com.villfuk02.essence.client.Reference;
import com.villfuk02.essence.gui.GuiHandler;
import com.villfuk02.essence.init.ModBlocks;
import com.villfuk02.essence.tileentities.TileEntityComparingChest;
import com.villfuk02.essence.tileentities.TileEntityManualMill;

import net.minecraft.block.BlockContainer;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

public class BlockManualMill extends BlockContainer{

public BlockManualMill(String unlocalizedName, String registryName) {
	super(Material.IRON);
	this.setUnlocalizedName(unlocalizedName);
	this.setRegistryName(new ResourceLocation(Reference.MOD_ID, registryName));
	this.setHardness(3.0f);
	this.setResistance(40.0f);
	this.setHarvestLevel("pickaxe", 0);
	this.setSoundType(SoundType.METAL);
}

@Override
public void breakBlock(World world, BlockPos pos, IBlockState state) {
	TileEntityComparingChest te = (TileEntityComparingChest)world.getTileEntity(pos);
	InventoryHelper.spawnItemStack(world, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(Item.getItemFromBlock(ModBlocks.manual_mill), 1, 0, te.writeToNBT(new NBTTagCompound())));
	super.breakBlock(world, pos, state);
}

@Override
public MapColor getMapColor(IBlockState state) {
	return MapColor.STONE;
}

@Override
public TileEntity createNewTileEntity(World worldIn, int meta) {
	return new TileEntityManualMill();
}

@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
	if (worldIn.isRemote){
		return true;
	}
	playerIn.openGui(Reference.MOD_ID, GuiHandler.MANUAL_MILL_GUI, worldIn, pos.getX(), pos.getY(), pos.getZ());
	return true;
}



@Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) {
	if (stack.hasDisplayName()){
		((TileEntityManualMill)world.getTileEntity(pos)).setCustomName(stack.getDisplayName());
	}
}

@Override
public boolean isFullCube(IBlockState state) {
	return false;
}

@Override 
public boolean isNormalCube(IBlockState state){
	return false;
}

}

GuiManualMill:

package com.villfuk02.essence.gui;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.villfuk02.essence.client.Reference;
import com.villfuk02.essence.tileentities.TileEntityManualMill;

import io.netty.util.concurrent.ProgressiveFuture;
import jline.internal.Log;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

@SideOnly(Side.CLIENT)
public class GuiManualMill extends GuiContainer{

private static final ResourceLocation texture = new ResourceLocation(Reference.MOD_ID + ":" + "textures/gui/container/manual_mill_gui.png");
private TileEntityManualMill entity;
private InventoryPlayer player;

public GuiManualMill(InventoryPlayer player, TileEntityManualMill entity) {
	super(new ContainerManualMill(player, entity));

	xSize = 176;
	ySize = 207;

	this.entity = entity;
	this.player = player;
}

final int progress_bar_xpos = 78;
final int progress_bar_ypos = 38;
final int progress_bar_icon_u = 176;
final int progress_bar_icon_v = 0;
final int progress_bar_width = 20;
final int progress_bar_height = 58;

final int gear_xpos = 80;
final int gear_ypos = 58;
final int gear_icon_u = 0;
final int gear_icon_v = 210;
final int gear_width = 16;
final int gear_height = 16;

final int speed_xpos = 8;
final int speed_ypos = 74;
final int speed_icon_u = 0;
final int speed_icon_v = 230;
final int speed_width = 40;
final int speed_height = 15;

final int essence_xpos = 117;
final int essence_ypos = 73;
final int essence_icon_u = 70;
final int essence_icon_v = 210;
final int essence_width = 16;
final int essence_height = 40;

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

	 this.buttonList.add(new GuiButton( 1, this.guiLeft + 8, this.guiTop + 60, 40, 12, "Mill"));
}

@Override
protected void actionPerformed(GuiButton button){
	if(button.id == 1){
		entity.powered = true;
	}
}


@Override
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
	Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
	GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
	drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, xSize, ySize);
	double progress = entity.fractionProgress();
	this.drawTexturedModalRect(this.guiLeft + progress_bar_xpos, this.guiTop + progress_bar_ypos, progress_bar_icon_u, progress_bar_icon_v, progress_bar_width, (int)(progress * (double)progress_bar_height));
	int rotate = entity.getRotationStage();
	this.drawTexturedModalRect(this.guiLeft + gear_xpos, this.guiTop + gear_ypos, gear_icon_u + rotate * 16, gear_icon_v, gear_width, gear_height);
	double speed = entity.fractionSpeed();
	this.drawTexturedModalRect(this.guiLeft + speed_xpos, this.guiTop + speed_ypos, speed_icon_u,speed_icon_v, (int)(speed * (double)speed_width), speed_height);
	double essence = entity.fractionEssence();
	int type = entity.getEssenceType();
	this.drawTexturedModalRect(this.guiLeft + essence_xpos, this.guiTop + essence_ypos + essence_height - (int)essence, essence_icon_u + type * essence_width, essence_icon_v + essence_height - (int)essence, essence_width, (int)essence);
}

@Override
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY){
	super.drawGuiContainerForegroundLayer(mouseX, mouseY);
	String s = this.entity.getName();
	this.fontRendererObj.drawString(s, 88 - this.fontRendererObj.getStringWidth(s) / 2, 6, 4210752);
	this.fontRendererObj.drawString(this.player.getDisplayName().getUnformattedText(), 8, 115, 4210752);

	List<String> text = new ArrayList<String>();
	if(isInRect(guiLeft + progress_bar_xpos, guiTop + progress_bar_ypos, progress_bar_width, progress_bar_height, mouseX, mouseY)){
		text.add("Progress: ");
		int percentage = (int)(entity.fractionProgress() * 100.0);
		text.add(percentage + "%");
	}
	if(isInRect(guiLeft + speed_xpos, guiTop + speed_ypos, speed_width, speed_height, mouseX, mouseY)){
		text.add("Speed: ");
		text.add(entity.getAvgSpeed() + " RPM");
	} 

	if(isInRect(guiLeft + essence_xpos, guiTop + essence_ypos, essence_width, essence_height, mouseX, mouseY)){
		text.add("Stored essence:");
		text.add(entity.getEssence() + "u");
		switch (entity.getEssenceType()){
		case 0:
			text.add("White essence");
			break;
		case 1:
			text.add("Green essence");
			break;
		case 2:
			text.add("Orange essence");
			break;
		case 3:
			text.add("Blue essence");
			break;
		case 4:
			text.add("Yellow essence");
			break;
		case 5:
			text.add("Cyan essence");
			break;
		case 6:
			text.add("Gray essence");
			break;
		case 7:
			text.add("Light gray essence");
			break;
		default:
			break;
		}
	}

	if(!text.isEmpty()){
		drawHoveringText(text, mouseX - guiLeft, mouseY - guiTop, fontRendererObj);
	}
}

public static boolean isInRect(int x, int y, int xSize, int ySize,int mouseX, int mouseY){
	return((mouseX >= x && mouseX <= x + xSize)&&(mouseY >= y && mouseY <= y + ySize));
}

}

ContainerManualMill:

package com.villfuk02.essence.gui;

import com.villfuk02.essence.tileentities.TileEntityManualMill;

import jline.internal.Log;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IContainerListener;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.SlotItemHandler;

public class ContainerManualMill extends Container{

private TileEntityManualMill te;

private int [] cachedFields;

private final int hotbar = 9;
private final int inventory_rows = 3;
private final int inventory_columns = 9;
private final int inventory = inventory_rows * inventory_columns;	
private final int player_slots = hotbar + inventory;

public final int input_slots = 4;
public final int output_slots = 1;
public final int machine_slots = input_slots + output_slots;

private final int first_player_index = 0;
private final int first_machine_index = first_player_index;

public ContainerManualMill(InventoryPlayer player, TileEntityManualMill te){
	this.te = te;

	//Hotbar
	for(int x = 0; x < hotbar; x++){
		addSlotToContainer(new Slot(player, x, 8 + 18 * x, 183));
	}
	//Inventory
	for(int y = 0; y < inventory_rows; y++){
		for(int x = 0; x < inventory_columns; x++){
			addSlotToContainer(new Slot(player, hotbar + x + y * inventory_columns, 8 + 18 * x, 125 + y * 18));
		}
	}
	//Machine
	for (int x = 0; x < input_slots; x++){
		addSlotToContainer(new SlotItemHandler(te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.UP), first_machine_index + x, 44 + 24 * x, 19));
	}
	addSlotToContainer(new SlotItemHandler(te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.UP), first_machine_index + input_slots, 80, 97));


}


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

@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 < 15){
			if(!this.mergeItemStack(current, 36, 41, true))
				return null;
		} else {
			if (!this.mergeItemStack(current, 0, 36, false))
				return null;
		}


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

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

@Override
public void detectAndSendChanges(){
	super.detectAndSendChanges();
	boolean haveFieldsChanged = false;
	boolean fieldChanged[] = new boolean[this.te.getFieldCount()];
	if(cachedFields == null){
		cachedFields = new int[this.te.getFieldCount()];
		haveFieldsChanged = true;
	}
	for(int i = 0; i < cachedFields.length; i++){
		if(haveFieldsChanged || cachedFields[i] != this.te.getField(i)){
			cachedFields[i] = this.te.getField(i);
			haveFieldsChanged = true;
		}
	}

	for(int i = 0; i < this.listeners.size(); i++){
		IContainerListener iListener = (IContainerListener)this.listeners.get(i);
		for(int fieldID = 0; fieldID < this.te.getFieldCount(); ++fieldID){
			if(fieldChanged[fieldID]){
				Log.info("field " + fieldID + " changed to " + cachedFields[fieldID]);
				iListener.sendProgressBarUpdate(this, fieldID, cachedFields[fieldID]);
			}
		}
	}		

}

@SideOnly(Side.CLIENT)
@Override
public void updateProgressBar(int id, int data){
	this.te.setField(id, data);
}


}

TileEntityManualMill:

package com.villfuk02.essence.tileentities;

import org.xml.sax.InputSource;

import com.villfuk02.essence.Essence;
import com.villfuk02.essence.gui.ContainerManualMill;
import com.villfuk02.essence.init.ModItems;

import jline.internal.Log;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
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.SPacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemStackHandler;

public class TileEntityManualMill extends TileEntity implements ITickable {

private static int recipe_count = 3;

public boolean powered = false;

private String customName;
private static ItemStack[] inputs = {new ItemStack(Items.FEATHER),new ItemStack(Items.STRING),new ItemStack(Items.GLOWSTONE_DUST),new ItemStack(Items.PAPER),new ItemStack(Blocks.LEAVES),new ItemStack(Blocks.TALLGRASS),new ItemStack(Items.WHEAT),new ItemStack(Items.MELON),new ItemStack(Blocks.LEAVES2),new ItemStack(Blocks.TALLGRASS),new ItemStack(Items.WHEAT),new ItemStack(Items.MELON)};
private static ItemStack[] outputs = {new ItemStack(ModItems.essence_dust, 1, 0),new ItemStack(ModItems.essence_dust, 1, 1),new ItemStack(ModItems.essence_dust, 1, 1)};
private static Essence[] essence_outputs ={new Essence(40, 0),new Essence(40, 1),new Essence(40, 1)};

private int speed = 0;
private int average_speed = 0;
private int cache_speed = -1;
private int speed_decrement = 3;
private int power_needed = 8000;	
private int progress = 0;
private int rotation = 0;
private int rotation_stage = 0;

private int max_essence = 1000;
private int essence_stored = 0;
private int essence_type = -1;

public ItemStackHandler itemHandler = new ItemStackHandler(getSizeInventory()){
	@Override
	protected void onContentsChanged(int slot){

		markDirty();
		Log.info("marked");
	}
};

@Override
public boolean hasCapability(Capability capability, EnumFacing facing) {
     return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY ? true : super.hasCapability(capability, facing);
}

@Override
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
	if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
	    return (T) itemHandler;
	  }
	  return super.getCapability(capability, facing);
}

@Override
public SPacketUpdateTileEntity getUpdatePacket()
{
	BlockPos blockPos=getPos();
	return new SPacketUpdateTileEntity(blockPos,0,getUpdateTag());
}

@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt)
{
	NBTTagCompound nbtTagCompound=pkt.getNbtCompound();
	super.readFromNBT(nbtTagCompound);
	readFromNBT(nbtTagCompound);
}

@Override
public NBTTagCompound getUpdateTag()
{
	NBTTagCompound supertag=super.getUpdateTag();
	writeToNBT(supertag);
	return supertag;
}

@Override
public void handleUpdateTag(NBTTagCompound tag)
{
	super.handleUpdateTag(tag);
	readFromNBT(tag);
}



public int getAvgSpeed(){
	return average_speed;
}

public int getSpeed(){
	return speed;
}	

public boolean getPowered(){
	return powered;
}

public int getEssence(){
	return essence_stored;
}

public int getEssenceType(){
	return essence_type;
}

public double fractionEssence(){
	double fraction = 39.0 *((double)essence_stored / (double)max_essence);
	if (fraction > 0.0)
		fraction++;
	return MathHelper.clamp_double(fraction, 0.0, 40.0);
}

public double fractionProgress(){
	double fraction = ((double)progress / (double)power_needed);
	return MathHelper.clamp_double(fraction, 0.0, 1.0);
}

public double fractionSpeed(){
	double fraction = ((double)average_speed / (double)(30 * speed_decrement));
	return MathHelper.clamp_double(fraction, 0.0, 1.0);
}

public int getRotationStage() {
	return rotation_stage;
}



@Override
public void update(){
	if (essence_stored == 0){
		essence_type = -1;
	}
	if(powered){
		speed += 80;
	}else if(speed > 0){
		speed -= 1 + (int)((double)speed / (double)speed_decrement);
	}
	if (speed < 0)
		speed = 0;
	if (progress >= power_needed){
		finishRecipe();
		progress = 0;
	}
	average_speed = (average_speed * 39 + speed) / 40;
	if(validRecipe()){
		if(average_speed > 0){
			rotation += average_speed;
			progress += average_speed;
		}			
		if (progress <0)
			progress = 0;

		rotation_stage = ((int)((double)rotation / 37.5)) % 4;

		if (rotation > 149)
			rotation -= 150;			

	}else {
		progress = 0;
	}

	if (essence_stored == 0){
		essence_type = -1;
	}

	powered = false;
}


private boolean validRecipe(){
	ItemStack result = null;
	boolean validi = false;
	boolean valide = false;
	result = getOutput(itemHandler.getStackInSlot(0),itemHandler.getStackInSlot(1),itemHandler.getStackInSlot(2),itemHandler.getStackInSlot(3));
	if (result != null) {
		ItemStack outputStack = itemHandler.getStackInSlot(4);
		if (outputStack == null){
			validi = true;				
		}else if (outputStack.getItem() == result.getItem() && outputStack.getMetadata() == result.getMetadata() && ItemStack.areItemStackTagsEqual(outputStack, result)){
			int combinedSize = outputStack.stackSize + result.stackSize;
			if (combinedSize <= 64 && combinedSize <= outputStack.getMaxStackSize()){
				validi = true;
			}
		}
	}
	if (validi){
		Essence essence = getEssenceOutput(itemHandler.getStackInSlot(0),itemHandler.getStackInSlot(1),itemHandler.getStackInSlot(2),itemHandler.getStackInSlot(3));
		if (essence != null){
			if(essence_type == -1){
				valide = true;
			}else if(essence.getType() == essence_type){
				int combined_amount = essence.getAmount() + essence_stored;
				if (combined_amount <= max_essence){
					valide = true;
				}
			}
		}
	}
	if (!valide){
		validi = false;
	}
	return validi;
}

public void finishRecipe(){
	ItemStack out = getOutput(itemHandler.getStackInSlot(0),itemHandler.getStackInSlot(1),itemHandler.getStackInSlot(2),itemHandler.getStackInSlot(3));
	itemHandler.insertItem(4, out, false);

	for(int i = 0; i < 4; i++){
		itemHandler.extractItem(i, 1, false);
	}

	essence_stored += getEssenceOutput(itemHandler.getStackInSlot(0),itemHandler.getStackInSlot(1),itemHandler.getStackInSlot(2),itemHandler.getStackInSlot(3)).getAmount();
	essence_type = getEssenceOutput(itemHandler.getStackInSlot(0),itemHandler.getStackInSlot(1),itemHandler.getStackInSlot(2),itemHandler.getStackInSlot(3)).getType();
	//---Something to write to NBT here---
	markDirty();
	Log.info("marked");
}

public static ItemStack getOutput(ItemStack in1, ItemStack in2, ItemStack in3, ItemStack in4){
	ItemStack result = null;
	ItemStack[] in = {in1, in2, in3, in4};
	if (in1 == null || in2 == null || in3 == null || in4 == null){
		return null;
	}else{
		for(int x = 0; x < recipe_count; x++){
			for (int a = 0; a < 4; a++){
				if (in[a].getItem() == inputs[4*x].getItem()){
					for (int b = 0; b < 4; b++){
						if (in[b].getItem() == inputs[4*x + 1].getItem()){
							for (int c = 0; c < 4; c++){
								if (in[c].getItem() == inputs[4*x + 2].getItem()){
									for (int d = 0; d < 4; d++){
										if (in[d].getItem() == inputs[4*x + 3].getItem()){
											result = outputs[x];
										}				

									}
								}				

							}
						}				

					}
				}				

			}
		}
		if (in1.getItem() == ModItems.essence_dust && in2.getItem() == ModItems.essence_dust && in3.getItem() == ModItems.essence_dust && in4.getItem() == ModItems.essence_dust){
			int data = in1.getMetadata();
			if (in2.getMetadata() == data && in3.getMetadata() == data && in4.getMetadata() == data)
				result = new ItemStack(ModItems.essence_dust, 3, data);
		}
	}

	return result;

}

public static Essence getEssenceOutput(ItemStack in1, ItemStack in2, ItemStack in3, ItemStack in4){
	Essence result = null;
	ItemStack[] in = {in1, in2, in3, in4};
	if (in1 == null || in2 == null || in3 == null || in4 == null){
		return null;
	}else{
		for(int x = 0; x < recipe_count; x++){
			for (int a = 0; a < 4; a++){
				if (in[a].getItem() == inputs[4*x].getItem()){
					for (int b = 0; b < 4; b++){
						if (in[b].getItem() == inputs[4*x + 1].getItem()){
							for (int c = 0; c < 4; c++){
								if (in[c].getItem() == inputs[4*x + 2].getItem()){
									for (int d = 0; d < 4; d++){
										if (in[d].getItem() == inputs[4*x + 3].getItem()){
											result = essence_outputs[x];
										}				

									}
								}				

							}
						}				

					}
				}				

			}
		}
		if (in1.getItem() == ModItems.essence_dust && in2.getItem() == ModItems.essence_dust && in3.getItem() == ModItems.essence_dust && in4.getItem() == ModItems.essence_dust){
			int data = in1.getMetadata();
			if (in2.getMetadata() == data && in3.getMetadata() == data && in4.getMetadata() == data)
				result = new Essence(20, data);
		}
	}

	return result;

}


public String getCustomName(){
	return this.customName;
}

public void setCustomName(String customName){
	this.customName = customName;
}

public ItemStack[] getStacks(){
	ItemStack[] itemStacks = new ItemStack[5];
	for (int i = 0; i < getSizeInventory(); i++)
		itemStacks[i] = itemHandler.getStackInSlot(i);
	return itemStacks;
}


public String getName() {
	return this.hasCustomName() ? this.customName : "Manual Essence Mill";
}

public boolean hasCustomName() {
	return this.customName != null && !this.customName.equals("");
}

public int getSizeInventory() {
	return 5;
}


public boolean isUseableByPlayer(EntityPlayer player) {
	return this.worldObj.getTileEntity(this.getPos()) == this && player.getDistanceSq(this.pos.add(0.5, 0.5, 0.5)) <= 64;
}


public int getField(int id) {
	int value = 0;
	if (id == 0)
		value = progress;
	if (id == 1)
		value = speed;
	if (id == 2)
		value = rotation;
	if (id == 3)
		value = essence_stored;
	if (id == 4)
		value = essence_type;
	return value;
}

public void setField(int id, int value) {
	if (id == 0)
		progress = value;
	if (id == 1)
		speed = value;
	if (id == 2)
		rotation = value;
	if (id == 3)
		essence_stored = value;
	if (id == 4)
		essence_type = value;		
}

public int getFieldCount() {
	return 5;
}


@Override
public NBTTagCompound writeToNBT(NBTTagCompound nbt){
	super.writeToNBT(nbt);

	nbt.setTag("Items", itemHandler.serializeNBT());

	nbt.setInteger("progress", progress);
	nbt.setInteger("speed", speed);
	nbt.setInteger("rotation", rotation);
	nbt.setInteger("essence_stored", essence_stored);
	nbt.setInteger("essence_type", essence_type);

	if (this.hasCustomName()){
		nbt.setString("CustomName",this.getCustomName());
	}
	return nbt;
}

@Override
public void readFromNBT(NBTTagCompound nbt){
	super.readFromNBT(nbt);

	itemHandler.deserializeNBT(nbt.getCompoundTag("Items"));

	progress = nbt.getInteger("progress");
	speed = nbt.getInteger("speed");
	rotation = nbt.getInteger("rotation");
	essence_stored = nbt.getInteger("essence_stored");
	essence_type = nbt.getInteger("essence_type");

	if(nbt.hasKey(customName, ){
		this.setCustomName(nbt.getString("CustomName"));

	}
}




}

 

And also, when the input slots have one last item in them and you process them, the world crashes.

 

Link to comment
Share on other sites

Join the conversation

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

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

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hi, I'm trying to get into Mixin. My test code accesses the private attribute fps in the Minecraft class. In the development environment (IntelliJ), it outputs the FPS, as I expected it would. But when I try it in the normal Minecraft, it crashes, and I'm not sure why. The Mixin Code: @Mixin(Minecraft.class) public interface MinecraftMixin { @Accessor("fps") int getFps(); } How I call the mixin code: @SubscribeEvent public void onTick(ClientTickEvent event) { if (Minecraft.getInstance().player == null) { return; } if (Minecraft.getInstance().player.isCrouching()) { int test = ((MinecraftMixin)Minecraft.getInstance()).getFps(); LOGGER.info(String.valueOf(test)); } } Crashlog: https://paste.ee/p/PtO7B
    • ---- Minecraft Crash Report ---- // You should try our sister game, Minceraft! Time: 5/25/24 6:47 PM Description: Unexpected error java.lang.NullPointerException: Unexpected error     at com.ferreusveritas.dynamictrees.systems.fruit.Fruit.getItemStack(Fruit.java:181) ~[?:1.16.5-0.10.5] {re:classloading}     at com.ferreusveritas.dynamictrees.blocks.FruitBlock.getPickBlock(FruitBlock.java:182) ~[?:1.16.5-0.10.5] {re:classloading}     at mcp.mobius.waila.api.impl.DataAccessor.set(DataAccessor.java:61) ~[?:2.8.3] {re:classloading}     at mcp.mobius.waila.api.impl.DataAccessor.set(DataAccessor.java:41) ~[?:2.8.3] {re:classloading}     at mcp.mobius.waila.overlay.WailaTickHandler.tickClient(WailaTickHandler.java:80) ~[?:2.8.3] {re:classloading}     at mcp.mobius.waila.WailaClient.onClientTick(WailaClient.java:92) ~[?:2.8.3] {re:classloading}     at net.minecraftforge.eventbus.ASMEventHandler_1252_WailaClient_onClientTick_ClientTickEvent.invoke(.dynamic) ~[?:?] {}     at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.eventbus.EventBus$$Lambda$2980/912034375.invoke(Unknown Source) ~[?:?] {}     at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.fml.hooks.BasicEventHooks.onPostClientTick(BasicEventHooks.java:110) ~[?:?] {re:classloading}     at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1544) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:modernfix-forge.mixins.json:perf.skip_first_datapack_reload.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.Mixin_RunEssentialTasks,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixInternalByteBufAccess,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixPrematureByteBufFree,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:APP:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,pl:mixin:APP:assets/botania/botania.mixins.json:AccessorMinecraft,pl:mixin:APP:create.mixins.json:WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:features.options.MixinMinecraftClient,pl:mixin:APP:embeddium.mixins.json:features.gui.fast_fps_pie.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:954) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:modernfix-forge.mixins.json:perf.skip_first_datapack_reload.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.Mixin_RunEssentialTasks,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixInternalByteBufAccess,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixPrematureByteBufFree,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:APP:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,pl:mixin:APP:assets/botania/botania.mixins.json:AccessorMinecraft,pl:mixin:APP:create.mixins.json:WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:features.options.MixinMinecraftClient,pl:mixin:APP:embeddium.mixins.json:features.gui.fast_fps_pie.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:modernfix-forge.mixins.json:perf.skip_first_datapack_reload.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.Mixin_RunEssentialTasks,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixInternalByteBufAccess,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixPrematureByteBufFree,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:APP:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,pl:mixin:APP:assets/botania/botania.mixins.json:AccessorMinecraft,pl:mixin:APP:create.mixins.json:WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:features.options.MixinMinecraftClient,pl:mixin:APP:embeddium.mixins.json:features.gui.fast_fps_pie.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:184) [?:?] {re:classloading,pl:runtimedistcleaner:A}     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}     at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) [forge-1.16.5-36.2.34.jar:36.2] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$534/107444607.call(Unknown Source) [forge-1.16.5-36.2.34.jar:36.2] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {re:classloading}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {re:classloading} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at com.ferreusveritas.dynamictrees.systems.fruit.Fruit.getItemStack(Fruit.java:181) ~[?:1.16.5-0.10.5] {re:classloading}     at com.ferreusveritas.dynamictrees.blocks.FruitBlock.getPickBlock(FruitBlock.java:182) ~[?:1.16.5-0.10.5] {re:classloading}     at mcp.mobius.waila.api.impl.DataAccessor.set(DataAccessor.java:61) ~[?:2.8.3] {re:classloading}     at mcp.mobius.waila.api.impl.DataAccessor.set(DataAccessor.java:41) ~[?:2.8.3] {re:classloading}     at mcp.mobius.waila.overlay.WailaTickHandler.tickClient(WailaTickHandler.java:80) ~[?:2.8.3] {re:classloading}     at mcp.mobius.waila.WailaClient.onClientTick(WailaClient.java:92) ~[?:2.8.3] {re:classloading}     at net.minecraftforge.eventbus.ASMEventHandler_1252_WailaClient_onClientTick_ClientTickEvent.invoke(.dynamic) ~[?:?] {}     at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.eventbus.EventBus$$Lambda$2980/912034375.invoke(Unknown Source) ~[?:?] {}     at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.fml.hooks.BasicEventHooks.onPostClientTick(BasicEventHooks.java:110) ~[?:?] {re:classloading} -- Affected level -- Details:     All players: 1 total; [ClientPlayerEntity['jessimessi02'/4997, l='ClientLevel', x=-111.42, y=70.00, z=-173.47]]     Chunk stats: Client Chunk Cache: 1024, 310     Level dimension: minecraft:overworld     Level spawn location: World: (-64,66,166), Chunk: (at 0,4,6 in -4,10; contains blocks -64,0,160 to -49,255,175), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)     Level time: 1431425 game time, 2197472 day time     Server brand: forge     Server type: Non-integrated multiplayer server Stacktrace:     at net.minecraft.client.world.ClientWorld.func_72914_a(ClientWorld.java:447) ~[?:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:architectury.mixins.json:MixinClientLevel,pl:mixin:APP:mixins.essential.json:feature.particles.Mixin_AddParticleSystemToClientWorld,pl:mixin:APP:abnormals_core.mixins.json:client.ClientWorldMixin,pl:mixin:APP:create.mixins.json:BreakProgressMixin,pl:mixin:APP:embeddium.mixins.json:features.chunk_rendering.MixinClientWorld,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2031) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:modernfix-forge.mixins.json:perf.skip_first_datapack_reload.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.Mixin_RunEssentialTasks,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixInternalByteBufAccess,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixPrematureByteBufFree,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:APP:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,pl:mixin:APP:assets/botania/botania.mixins.json:AccessorMinecraft,pl:mixin:APP:create.mixins.json:WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:features.options.MixinMinecraftClient,pl:mixin:APP:embeddium.mixins.json:features.gui.fast_fps_pie.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:628) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:modernfix-forge.mixins.json:perf.skip_first_datapack_reload.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.Mixin_RunEssentialTasks,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixInternalByteBufAccess,pl:mixin:APP:mixins.essential.json:compatibility.forge.Mixin_FixPrematureByteBufFree,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:APP:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,pl:mixin:APP:assets/botania/botania.mixins.json:AccessorMinecraft,pl:mixin:APP:create.mixins.json:WindowResizeMixin,pl:mixin:APP:embeddium.mixins.json:features.options.MixinMinecraftClient,pl:mixin:APP:embeddium.mixins.json:features.gui.fast_fps_pie.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:184) [?:?] {re:classloading,pl:runtimedistcleaner:A}     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}     at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) [forge-1.16.5-36.2.34.jar:36.2] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$534/107444607.call(Unknown Source) [forge-1.16.5-36.2.34.jar:36.2] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {re:classloading}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {re:classloading} -- System Details -- Details:     Minecraft Version: 1.16.5     Minecraft Version ID: 1.16.5     Operating System: Windows 10 (amd64) version 10.0     Java Version: 1.8.0_51, Oracle Corporation     Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation     Memory: 1877658168 bytes (1790 MB) / 4976541696 bytes (4746 MB) up to 10171187200 bytes (9700 MB)     CPUs: 12     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx10912m -Xms256m     ModLauncher: 8.1.3+8.1.3+main-8.1.x.c94d18ec     ModLauncher launch target: fmlclient     ModLauncher naming: srg     ModLauncher services:          /mixin-0.8.4.jar mixin PLUGINSERVICE          /eventbus-4.0.0.jar eventbus PLUGINSERVICE          /forge-1.16.5-36.2.34.jar object_holder_definalize PLUGINSERVICE          /forge-1.16.5-36.2.34.jar runtime_enum_extender PLUGINSERVICE          /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE          /forge-1.16.5-36.2.34.jar capability_inject_definalize PLUGINSERVICE          /forge-1.16.5-36.2.34.jar runtimedistcleaner PLUGINSERVICE          /mixin-0.8.4.jar mixin TRANSFORMATIONSERVICE          /essential_1-3-2-4_forge_1-16-5.jar essential-loader TRANSFORMATIONSERVICE          /forge-1.16.5-36.2.34.jar fml TRANSFORMATIONSERVICE      FML: 36.2     Forge: net.minecraftforge:36.2.34     FML Language Providers:          [email protected]         minecraft@1         [email protected]     Mod List:          supermartijn642configlib-1.1.8-forge-mc1.16.jar   |SuperMartijn642's Config Libra|supermartijn642configlib      |1.1.8               |DONE      |Manifest: NOSIGNATURE         aiotbotania-1.16.5-1.8.4.jar                      |AIOT Botania                  |aiotbotania                   |1.8.4               |DONE      |Manifest: NOSIGNATURE         nether-s-exoticism-1.16.5-1.1.10.jar              |Nether's Exoticism            |nethers_exoticism             |1.1.10              |DONE      |Manifest: NOSIGNATURE         HealthOverlay-1.16.5-3.0.1.jar                    |Health Overlay                |healthoverlay                 |3.0.1               |DONE      |Manifest: NOSIGNATURE         DoggyTalents-1.16.5-2.1.15.jar                    |Doggy Talents 2               |doggytalents                  |2.1.15              |DONE      |Manifest: NOSIGNATURE         mcw-windows-2.2.1-mc1.16.5forge.jar               |Macaw's Windows               |mcwwindows                    |2.2.1               |DONE      |Manifest: NOSIGNATURE         stalwart-dungeons-1.16.5-1.1.7.jar                |Stalwart Dungeons             |stalwart_dungeons             |1.1.7               |DONE      |Manifest: NOSIGNATURE         immersive_aircraft-0.5.2+1.16.5-forge.jar         |Immersive Aircraft            |immersive_aircraft            |0.5.2+1.16.5        |DONE      |Manifest: NOSIGNATURE         modnametooltip_1.16.2-1.15.0.jar                  |Mod Name Tooltip              |modnametooltip                |1.15.0              |DONE      |Manifest: NOSIGNATURE         ChickenDropFeathers-1.0-forge-1.16.5-36.0.0.jar   |ChickenDropFeathers           |chickendropfeathersmod        |1.0                 |DONE      |Manifest: NOSIGNATURE         findme-1.16.3-2.2.1.0.jar                         |Find Me                       |findme                        |2.2.1               |DONE      |Manifest: NOSIGNATURE         CTM-MC1.16.1-1.1.2.6.jar                          |ConnectedTexturesMod          |ctm                           |MC1.16.1-1.1.2.6    |DONE      |Manifest: NOSIGNATURE         CookingForBlockheads_1.16.5-9.3.4.jar             |Cooking for Blockheads        |cookingforblockheads          |9.3.4               |DONE      |Manifest: NOSIGNATURE         Controlling-7.0.0.31.jar                          |Controlling                   |controlling                   |7.0.0.31            |DONE      |Manifest: NOSIGNATURE         Prism-1.16.5-1.0.1.jar                            |Prism                         |prism                         |1.0.1               |DONE      |Manifest: NOSIGNATURE         modernfix-forge-5.17.0+mc1.16.5.jar               |ModernFix                     |modernfix                     |5.17.0+mc1.16.5     |DONE      |Manifest: NOSIGNATURE         citadel-1.8.1-1.16.5.jar                          |Citadel                       |citadel                       |1.8.1               |DONE      |Manifest: NOSIGNATURE         alexsmobs-1.12.1.jar                              |Alex's Mobs                   |alexsmobs                     |1.12.1              |DONE      |Manifest: NOSIGNATURE         farmersdelightintegrations-1.16.5-1.2.jar         |Farmer's Delight Compats      |farmersdelightintegrations    |1.16.5-1.2          |DONE      |Manifest: NOSIGNATURE         ultimate_unicorn_mod-1.16.5-1.6.3.jar             |Wings, Horns, and Hooves, the |ultimate_unicorn_mod          |1.6.3               |DONE      |Manifest: NOSIGNATURE         MaxHealthFix-Forge-1.16.5-1.0.5.jar               |MaxHealthFix                  |maxhealthfix                  |1.0.5               |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         prehistoric_delight_2.2.0_forge_1.16.5.jar        |Prehistoric Delight           |pre_delight                   |2.2.0               |DONE      |Manifest: NOSIGNATURE         Bookshelf-Forge-1.16.5-10.4.33.jar                |Bookshelf                     |bookshelf                     |10.4.33             |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         Tips-1.16.5-4.0.18.jar                            |Tips                          |tips                          |4.0.18              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         endercrop-1.16.5-1.6.0-beta.jar                   |Ender Crop                    |endercrop                     |1.16.5-1.6.0-beta   |DONE      |Manifest: NOSIGNATURE         sophisticatedbackpacks-1.16.5-3.15.20.755.jar     |Sophisticated Backpacks       |sophisticatedbackpacks        |1.16.5-3.15.20.755  |DONE      |Manifest: NOSIGNATURE         ChanceCubes-1.16.5-5.0.2.469.jar                  |Chance Cubes                  |chancecubes                   |1.16.5-5.0.2.469    |DONE      |Manifest: NOSIGNATURE         mcw-doors-1.1.0forge-mc1.16.5.jar                 |Macaw's Doors                 |mcwdoors                      |1.1.0               |DONE      |Manifest: NOSIGNATURE         Morpheus-1.16.5-4.2.70.jar                        |Morpheus                      |morpheus                      |4.2.70              |DONE      |Manifest: NOSIGNATURE         PickUpNotifier-v1.2-1.16.3.jar                    |Pick Up Notifier              |pickupnotifier                |1.2                 |DONE      |Manifest: d3:cc:6f:1b:30:87:fa:d9:8f:91:15:20:27:63:95:aa:d5:cb:1b:5b:e6:36:cc:57:20:a9:b3:d4:d5:1a:5d:b8         SnowRealMagic-1.16.5-2.10.0.jar                   |Snow! Real Magic!             |snowrealmagic                 |2.10.0              |DONE      |Manifest: NOSIGNATURE         immersive-armors-1.5.1+1.16.5-forge.jar           |Immersive Armors              |immersive_armors              |1.5.1+1.16.5        |DONE      |Manifest: NOSIGNATURE         Alexis_64_Stairs_0.6-1.16.5.jar                   |Alexis 64 Stairs              |alexis_64_stairs              |0.6                 |DONE      |Manifest: NOSIGNATURE         JustEnoughResources-1.16.5-0.12.1.128.jar         |Just Enough Resources         |jeresources                   |0.12.1.128          |DONE      |Manifest: NOSIGNATURE         Alexis_64_Food_0.9.8-1.16.5.jar                   |Alexis 64 food                |alexis_food                   |0.9.8               |DONE      |Manifest: NOSIGNATURE         Paraglider-1.16.5-1.3.2.14.jar                    |Paraglider                    |paraglider                    |1.3.2.14            |DONE      |Manifest: NOSIGNATURE         Forge-1.16.5-DragonMounts3-Preview 24w07a.jar     |Dragon Mounts                 |dragonmounts                  |Preview 24w07a      |DONE      |Manifest: NOSIGNATURE         absentbydesign-1.16.5-1.5.2.jar                   |Absent By Design Mod          |absentbydesign                |1.16.5-1.5.2        |DONE      |Manifest: 1f:47:ac:b1:61:82:96:b8:47:19:16:d2:61:81:11:60:3a:06:4b:61:31:56:7d:44:31:1e:0c:6f:22:5b:4c:ed         supplementaries-1.16.5-0.18.5.jar                 |Supplementaries               |supplementaries               |0.18.3              |DONE      |Manifest: NOSIGNATURE         embeddium-0.3.18+mc1.16.5.jar                     |Embeddium                     |embeddium                     |0.3.18+mc1.16.5     |DONE      |Manifest: NOSIGNATURE         durabilitytooltip-1.1.5-forge-mc1.16.jar          |Durability Tooltip            |durabilitytooltip             |1.1.5               |DONE      |Manifest: NOSIGNATURE         mcw-bridges-3.0.0-mc1.16.5forge.jar               |Macaw's Bridges               |mcwbridges                    |3.0.0               |DONE      |Manifest: NOSIGNATURE         FarmersDelight-1.16.5-0.6.0.jar                   |Farmer's Delight              |farmersdelight                |1.16.5-0.6.0        |DONE      |Manifest: NOSIGNATURE         fd_cookbook-2.0.jar                               |Farmers Delight Cookbook      |fd_cookbook                   |2.0                 |DONE      |Manifest: NOSIGNATURE         ends_delight-1.16.5-1.8.jar                       |End's Delight                 |ends_delight                  |1.16.5-1.8          |DONE      |Manifest: NOSIGNATURE         torchmaster-2.3.8.jar                             |Torchmaster                   |torchmaster                   |2.3.8               |DONE      |Manifest: NOSIGNATURE         BiomesOPlenty-1.16.5-13.1.0.477-universal.jar     |Biomes O' Plenty              |biomesoplenty                 |1.16.5-13.1.0.477   |DONE      |Manifest: NOSIGNATURE         mcw-trapdoors-1.1.3-mc1.16.5forge.jar             |Macaw's Trapdoors             |mcwtrpdoors                   |1.1.3               |DONE      |Manifest: NOSIGNATURE         mcw-fences-1.1.1-mc1.16.5forge.jar                |Macaw's Fences and Walls      |mcwfences                     |1.1.1               |DONE      |Manifest: NOSIGNATURE         supermartijn642corelib-1.1.17a-forge-mc1.16.jar   |SuperMartijn642's Core Lib    |supermartijn642corelib        |1.1.17a             |DONE      |Manifest: NOSIGNATURE         Botania-1.16.5-420.3.jar                          |Botania                       |botania                       |1.16.5-420.3        |DONE      |Manifest: NOSIGNATURE         Highlighter-1.16.5-1.1.1.jar                      |Highlighter                   |highlighter                   |1.1.1               |DONE      |Manifest: NOSIGNATURE         Bonfires-1.16.5-1.2.12-f119e16.jar                |Bonfires                      |bonfires                      |1.16.5-1.2.12-f119e1|DONE      |Manifest: NOSIGNATURE         frosted-friends-1.16.5-1.0.6.jar                  |Frosted Friends               |frosted_friends               |1.0.6               |DONE      |Manifest: NOSIGNATURE         curios-forge-1.16.5-4.1.0.0.jar                   |Curios API                    |curios                        |1.16.5-4.1.0.0      |DONE      |Manifest: NOSIGNATURE         Patchouli-1.16.4-53.3.jar                         |Patchouli                     |patchouli                     |1.16.4-53.3         |DONE      |Manifest: NOSIGNATURE         corail_woodcutter-1.16-2.0.2.jar                  |Corail Woodcutter             |corail_woodcutter             |2.0.2               |DONE      |Manifest: NOSIGNATURE         collective-1.16.5-5.49.jar                        |Collective                    |collective                    |5.49                |DONE      |Manifest: NOSIGNATURE         camera-1.16.5-1.0.14.jar                          |Camera Mod                    |camera                        |1.16.5-1.0.14       |DONE      |Manifest: NOSIGNATURE         Searchables-forge-1.16.5-1.0.7.jar                |Searchables                   |searchables                   |1.0.7               |DONE      |Manifest: NOSIGNATURE         elevatorid-1.16.5-1.7.13.jar                      |Elevator Mod                  |elevatorid                    |1.16.5-1.7.13       |DONE      |Manifest: NOSIGNATURE         tombstone-1.16.5-6.8.16.jar                       |Corail Tombstone              |tombstone                     |6.8.16              |DONE      |Manifest: NOSIGNATURE         constructionwand-1.16.5-2.6.jar                   |Construction Wand             |constructionwand              |1.16.5-2.6          |DONE      |Manifest: NOSIGNATURE         mcw-roofs-2.3.0-mc1.16.5forge.jar                 |Macaw's Roofs                 |mcwroofs                      |2.3.0               |DONE      |Manifest: NOSIGNATURE         architectury-1.32.68.jar                          |Architectury                  |architectury                  |1.32.68             |DONE      |Manifest: NOSIGNATURE         AI-Improvements-1.16.5-0.5.0.jar                  |AI-Improvements               |aiimprovements                |0.4.0               |DONE      |Manifest: NOSIGNATURE         mcw-furniture-3.2.2-mc1.16.5forge.jar             |Macaw's Furniture             |mcwfurnitures                 |3.2.2               |DONE      |Manifest: NOSIGNATURE         depth-1.0.2-1.16.5.jar                            |Depth                         |depth                         |1.0.1               |DONE      |Manifest: NOSIGNATURE         wings-2.1.0-1.16.5.jar                            |Wings                         |wings                         |2.1.0               |DONE      |Manifest: NOSIGNATURE         FastLeafDecay-v25.2.jar                           |FastLeafDecay                 |fastleafdecay                 |v25.2               |DONE      |Manifest: NOSIGNATURE         DynamicTrees-1.16.5-0.10.5.jar                    |Dynamic Trees                 |dynamictrees                  |1.16.5-0.10.5       |DONE      |Manifest: NOSIGNATURE         geckolib-forge-1.16.5-3.0.106.jar                 |GeckoLib                      |geckolib3                     |3.0.106             |DONE      |Manifest: NOSIGNATURE         DarkPaintings-1.16.5-6.0.11.jar                   |DarkPaintings                 |darkpaintings                 |6.0.11              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         TradingPost-v1.0.2-1.16.5.jar                     |Trading Post                  |tradingpost                   |1.0.2               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         Essential (forge_1.16.5).jar                      |Essential                     |essential                     |1.3.2.4+g6b55293e12 |DONE      |Manifest: NOSIGNATURE         Kiwi-1.16.5-3.6.1.jar                             |Kiwi                          |kiwi                          |3.6.1               |DONE      |Manifest: NOSIGNATURE         doubledoors_1.16.5-3.3.jar                        |Double Doors                  |doubledoors                   |3.3                 |DONE      |Manifest: NOSIGNATURE         DynamicTreesBOP-1.16.5-2.0.9.jar                  |Dynamic Trees for Biomes o' Pl|dtbop                         |1.16.5-2.0.9        |DONE      |Manifest: NOSIGNATURE         handoveryouritems_1.16.5-2.0.jar                  |Hand Over Your Items          |handoveryouritems             |2.0                 |DONE      |Manifest: NOSIGNATURE         Cucumber-1.16.5-4.1.12.jar                        |Cucumber Library              |cucumber                      |4.1.12              |DONE      |Manifest: NOSIGNATURE         betteranimalmodels-1.16.5-5.6.0-forge.jar         |Cyber's Better Animal Models  |betteranimalmodels            |1.16.5-5.6.0        |DONE      |Manifest: NOSIGNATURE         ftb-library-forge-1605.3.4-build.90.jar           |FTB Library                   |ftblibrary                    |1605.3.4-build.90   |DONE      |Manifest: NOSIGNATURE         ftb-teams-forge-1605.2.3-build.40.jar             |FTB Teams                     |ftbteams                      |1605.2.3-build.40   |DONE      |Manifest: NOSIGNATURE         pamhc2trees-1.16.3-1.0.2.jar                      |Pam's HarvestCraft 2 Fruit Tre|pamhc2trees                   |1.0.1               |DONE      |Manifest: NOSIGNATURE         minecraft-comes-alive-7.0.8-forge.jar             |Minecraft Comes Alive         |mca                           |7.0.8               |DONE      |Manifest: NOSIGNATURE         DynamicTreesPHC2-1.16.5-1.0.1.jar                 |Dynamic Trees for PHC2        |dtphc2                        |1.16.5-1.0.1        |DONE      |Manifest: NOSIGNATURE         additionallanterns-1.1.1-forge-mc1.16.jar         |Additional Lanterns           |additionallanterns            |1.1.1               |DONE      |Manifest: NOSIGNATURE         jei-1.16.5-7.8.0.1011.jar                         |Just Enough Items             |jei                           |7.8.0.1011          |DONE      |Manifest: NOSIGNATURE         item-filters-forge-1605.2.5-build.9.jar           |Item Filters                  |itemfilters                   |1605.2.5-build.9    |DONE      |Manifest: NOSIGNATURE         VisualWorkbench-v1.1.0-1.16.5.jar                 |Visual Workbench              |visualworkbench               |1.1.0               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         abnormals_core-1.16.5-3.3.1.jar                   |Abnormals Core                |abnormals_core                |3.3.1               |DONE      |Manifest: NOSIGNATURE         goblintraders-1.7.3-1.16.5.jar                    |Goblin Traders                |goblintraders                 |1.7.3               |DONE      |Manifest: NOSIGNATURE         Waystones_1.16.5-7.6.4.jar                        |Waystones                     |waystones                     |7.6.4               |DONE      |Manifest: NOSIGNATURE         Clumps-6.0.0.28.jar                               |Clumps                        |clumps                        |6.0.0.28            |DONE      |Manifest: NOSIGNATURE         shutupexperimentalsettings-1.0.3.jar              |Shutup Experimental Settings! |shutupexperimentalsettings    |1.0.3               |DONE      |Manifest: NOSIGNATURE         journeymap-1.16.5-5.8.5p7.jar                     |Journeymap                    |journeymap                    |5.8.5p7             |DONE      |Manifest: NOSIGNATURE         Organics-1.16.5-0.1.9.jar                         |Organics                      |organics                      |0.1.9               |DONE      |Manifest: NOSIGNATURE         comforts-forge-1.16.5-4.0.1.5.jar                 |Comforts                      |comforts                      |1.16.5-4.0.1.5      |DONE      |Manifest: NOSIGNATURE         TravelersBackpack-1.16.5-5.4.51.jar               |Traveler's Backpack           |travelersbackpack             |5.4.51              |DONE      |Manifest: NOSIGNATURE         NaturesCompass-1.16.5-1.9.1-forge.jar             |Nature's Compass              |naturescompass                |1.16.5-1.9.1-forge  |DONE      |Manifest: NOSIGNATURE         Artifacts-1.16.5-2.10.5.jar                       |Artifacts                     |artifacts                     |1.16.5-2.10.5       |DONE      |Manifest: NOSIGNATURE         SereneSeasons-1.16.5-4.0.1.130-universal.jar      |Serene Seasons                |sereneseasons                 |1.16.5-4.0.1.130    |DONE      |Manifest: NOSIGNATURE         configured-1.5.4-1.16.5.jar                       |Configured                    |configured                    |1.5.4               |DONE      |Manifest: NOSIGNATURE         seeds-1.16.5-1.1.3.jar                            |Seeds                         |seeds                         |1.1.3               |DONE      |Manifest: NOSIGNATURE         create-confectionery1.16.5_v1.0.2.jar             |Create Confectionery          |create_confectionery          |1.0.2               |DONE      |Manifest: NOSIGNATURE         lazydfu-0.1.3.jar                                 |LazyDFU                       |lazydfu                       |0.1.3               |DONE      |Manifest: NOSIGNATURE         ExplorersCompass-1.16.5-1.1.2-forge.jar           |Explorer's Compass            |explorerscompass              |1.16.5-1.1.2-forge  |DONE      |Manifest: NOSIGNATURE         additional_lights-1.16.4-2.1.3.jar                |Additional Lights             |additional_lights             |2.1.3               |DONE      |Manifest: NOSIGNATURE         inventorypets-1.16.5-2.1.1.jar                    |Inventory Pets                |inventorypets                 |2.1.1               |DONE      |Manifest: NOSIGNATURE         fusion-1.1.1-forge-mc1.16.jar                     |Fusion                        |fusion                        |1.1.1               |DONE      |Manifest: NOSIGNATURE         Blocklings 7.0.0_b4.1 - 1.16.5.jar                |Blocklings                    |blocklings                    |7.0.0.4             |DONE      |Manifest: NOSIGNATURE         M.D. Gaming Consoles Mod 1.16.5 (1.0.3b).jar      |M.D. Gaming Consoles          |modern_decorative_video_gc    |1.0.3b              |DONE      |Manifest: NOSIGNATURE         ars_nouveau-1.16.5-1.25.10.jar                    |Ars Nouveau                   |ars_nouveau                   |1.25.10             |DONE      |Manifest: NOSIGNATURE         watut-forge-1.16.5-1.0.14.jar                     |What Are They Up To           |watut                         |1.16.5-1.0.14       |DONE      |Manifest: NOSIGNATURE         wandering-bag-1.16.5-1.0.4.jar                    |Wandering Bag                 |wandering_bag                 |1.0.4               |DONE      |Manifest: NOSIGNATURE         skinlayers3d-forge-1.6.4-mc1.16.5.jar             |3d-Skin-Layers                |skinlayers3d                  |1.6.4               |DONE      |Manifest: NOSIGNATURE         forge-1.16.5-36.2.34-universal.jar                |Forge                         |forge                         |36.2.34             |DONE      |Manifest: 22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90         Bountiful-1.16.4-3.3.1.jar                        |Bountiful                     |bountiful                     |1.16.4-3.3.1        |DONE      |Manifest: NOSIGNATURE         sereneseasonsphc2crops-1.16.5-1.0.1.jar           |Serene Seasons - Pam's Harvest|sereneseasonsphc2crops        |1.16.5-1.0.1        |DONE      |Manifest: NOSIGNATURE         Prehistoric_Fauna-2.2.5.jar                       |Prehistoric Fauna             |prehistoricfauna              |2.2.5               |DONE      |Manifest: NOSIGNATURE         mcw-paths-1.0.5-1.16.5forge.jar                   |Macaw's Paths and Pavings     |mcwpaths                      |1.0.5               |DONE      |Manifest: NOSIGNATURE         selene-1.16.5-1.9.0.jar                           |Selene                        |selene                        |1.16.5-1.0          |DONE      |Manifest: NOSIGNATURE         MysticalAgriculture-1.16.5-4.2.6.jar              |Mystical Agriculture          |mysticalagriculture           |4.2.6               |DONE      |Manifest: NOSIGNATURE         useless-sword-1.16.5-V1.3.7.jar                   |Useless Sword                 |useless_sword                 |1.3.7               |DONE      |Manifest: NOSIGNATURE         forge-1.16.5-36.2.34-client.jar                   |Minecraft                     |minecraft                     |1.16.5              |DONE      |Manifest: NOSIGNATURE         EnchantmentDescriptions-1.16.5-7.1.27.jar         |EnchantmentDescriptions       |enchdesc                      |7.1.27              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         swingthroughgrass-1.16.4-1.5.3.jar                |SwingThroughGrass             |swingthroughgrass             |1.16.4-1.5.3        |DONE      |Manifest: NOSIGNATURE         MouseTweaks-2.14-mc1.16.2.jar                     |Mouse Tweaks                  |mousetweaks                   |2.14                |DONE      |Manifest: NOSIGNATURE         DontStubYourToe-1.16.2-1.1.0.jar                  |Don't stub your toe!          |dsyt                          |1.16.2-1.1.0        |DONE      |Manifest: NOSIGNATURE         ToolBelt-1.16.5-1.16.3.jar                        |Tool Belt                     |toolbelt                      |1.16.3              |DONE      |Manifest: NOSIGNATURE         ftb-quests-forge-1605.3.7-build.165.jar           |FTB Quests                    |ftbquests                     |1605.3.7-build.165  |DONE      |Manifest: NOSIGNATURE         Alex's Delight 1.1.3 - Forge 1.16.5.jar           |Alex's Delight                |amfd                          |1.1.3               |DONE      |Manifest: NOSIGNATURE         Jade-1.16.4-2.8.3.jar                             |Jade                          |jade                          |2.8.3               |DONE      |Manifest: NOSIGNATURE         pamhc2crops-1.16.3-1.0.2.jar                      |Pam's HarvestCraft 2 Crops    |pamhc2crops                   |version             |DONE      |Manifest: NOSIGNATURE         NaturalDecorMod_1.16.5_V1.2.2.jar                 |Natural Decor Mod             |naturaldecormod               |1.2.2               |DONE      |Manifest: NOSIGNATURE         ceilingtorch-1.16.5-v1.18.jar                     |Ceiling Torch                 |ceilingtorch                  |v1.18               |DONE      |Manifest: NOSIGNATURE         jeiintegration_1.16.5-7.1.0.22.jar                |JEI Integration               |jeiintegration                |7.1.0.22            |DONE      |Manifest: NOSIGNATURE         Iceberg-1.16.5-1.0.45.jar                         |Iceberg                       |iceberg                       |1.0.45              |DONE      |Manifest: NOSIGNATURE         fuze-relics-1.16.5-1.0.4.jar                      |Fuze Relics                   |fuze_relics                   |1.0.4               |DONE      |Manifest: NOSIGNATURE         flywheel-1.16-0.2.5.jar                           |Flywheel                      |flywheel                      |1.16-0.2.5          |DONE      |Manifest: NOSIGNATURE         create-mc1.16.5_v0.3.2g.jar                       |Create                        |create                        |v0.3.2g             |DONE      |Manifest: NOSIGNATURE         createdeco-1.1.2-1.16.5.jar                       |Create Deco                   |createdeco                    |1.1.2-1.16.5        |DONE      |Manifest: NOSIGNATURE         farmersrespite-1.16.5-1.1.jar                     |Farmer's Respite              |farmersrespite                |1.16.5-1.1          |DONE      |Manifest: NOSIGNATURE         LegendaryTooltips-1.16.5-1.3.1.jar                |Legendary Tooltips            |legendarytooltips             |1.3.1               |DONE      |Manifest: NOSIGNATURE         pamhc2foodcore-1.16.3-1.0.2.jar                   |Pam's HarvestCraft 2 Food Core|pamhc2foodcore                |version             |DONE      |Manifest: NOSIGNATURE         Decoration_Delight_1.16.5-1.0.2.jar               |Decoration Delight            |decoration_delight            |1.0.0               |DONE      |Manifest: NOSIGNATURE         Croptopia-1.16.5-FORGE-2.0.5.jar                  |Croptopia                     |croptopia                     |2.0.5               |DONE      |Manifest: NOSIGNATURE         polymorph-forge-1.16.5-0.41.jar                   |Polymorph                     |polymorph                     |1.16.5-0.41         |DONE      |Manifest: NOSIGNATURE         AutoRegLib-1.6-49.jar                             |AutoRegLib                    |autoreglib                    |1.6-49              |DONE      |Manifest: NOSIGNATURE         Quark-r2.4-322.jar                                |Quark                         |quark                         |r2.4-322            |DONE      |Manifest: NOSIGNATURE         DynamicTreesQuark-1.16.5-2.1.3.jar                |Dynamic Trees for Quark       |dtquark                       |1.16.5-2.1.3        |DONE      |Manifest: NOSIGNATURE         ars_elemental-1.16.5-0.1.6.4.jar                  |Ars Elemental - Elemental Spel|ars_elemental                 |1.16.5-0.1.6.4      |DONE      |Manifest: NOSIGNATURE         DoubleSlabs-1.16-3.7.3.jar                        |Double Slabs                  |doubleslabs                   |3.7.3               |DONE      |Manifest: NOSIGNATURE         InventoryHud_[1.16.2-1.16.5].forge-3.4.1.jar      |Inventory HUD+(Forge edition) |inventoryhud                  |3.4.1               |DONE      |Manifest: NOSIGNATURE         coroutil-forge-1.16.5-1.3.6.jar                   |CoroUtil                      |coroutil                      |1.16.5-1.3.6        |DONE      |Manifest: NOSIGNATURE         nethers_delight-2.1.jar                           |Nethers Delight               |nethers_delight               |2.1                 |DONE      |Manifest: NOSIGNATURE         appleskin-forge-mc1.16.x-2.5.1.jar                |AppleSkin                     |appleskin                     |2.5.1+mc1.16.4      |DONE      |Manifest: NOSIGNATURE         lootr-1.16.5-0.2.19.51.jar                        |Lootr                         |lootr                         |0.2.19.51           |DONE      |Manifest: NOSIGNATURE         ferritecore-2.1.1-forge.jar                       |Ferrite Core                  |ferritecore                   |2.1.1               |DONE      |Manifest: 41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a         connectedglass-1.1.11-forge-mc1.16.jar            |Connected Glass               |connectedglass                |1.1.11              |DONE      |Manifest: NOSIGNATURE         Chisel-MC1.16.5-2.0.1-alpha.4.jar                 |Chisel                        |chisel                        |MC1.16.5-2.0.1-alpha|DONE      |Manifest: NOSIGNATURE         SoL-Carrot-1.16.5-1.10.1.jar                      |Spice of Life: Carrot Edition |solcarrot                     |1.16.5-1.10.1       |DONE      |Manifest: NOSIGNATURE         largemeals-1.16.5-2.2.jar                         |Large Meals                   |largemeals                    |1.16.5-2.2          |DONE      |Manifest: NOSIGNATURE         PuzzlesLib-v1.0.15-1.16.5-Forge.jar               |Puzzles Lib                   |puzzleslib                    |1.0.15              |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         Aquaculture-1.16.5-2.1.23.jar                     |Aquaculture 2                 |aquaculture                   |1.16.5-2.1.23       |DONE      |Manifest: NOSIGNATURE         slimy-stuff-1.16.5-1.0.6.jar                      |Slimy Stuff                   |slimy_stuff                   |1.0.6               |DONE      |Manifest: NOSIGNATURE         ears-forge-1.16-1.4.5.jar                         |Ears                          |ears                          |1.4.5               |DONE      |Manifest: NOSIGNATURE         expandability-2.0.1-forge.jar                     |ExpandAbility                 |expandability                 |2.0.1               |DONE      |Manifest: NOSIGNATURE         chiselsandbits-1.0.63.jar                         |Chisels & bits                |chiselsandbits                |1.0.63              |DONE      |Manifest: NOSIGNATURE         exlinefurniture-1.16.5-2.0.jar                    |Exline's Furniture            |exlinefurniture               |1.16.5-2.0          |DONE      |Manifest: NOSIGNATURE         xptome-1.16.5-v2.1.5.jar                          |XP Tome                       |xpbook                        |v2.1.5              |DONE      |Manifest: NOSIGNATURE     Crash Report UUID: 0256b190-6fef-4001-9b7a-b5b451369daa     Kiwi Modules:               Patchouli open book context: n/a     Launched Version: forge-36.2.34     Backend library: LWJGL version 3.2.2 build 10     Backend API: NVIDIA GeForce GTX 1650/PCIe/SSE2 GL version 4.6.0 NVIDIA 546.66, NVIDIA Corporation     GL Caps: Using framebuffer using OpenGL 3.0     Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'     Type: Client (map_client.txt)     Graphics mode: fancy     Resource Packs: vanilla, mod_resources, quark:emote_resources (incompatible)     Current Language: English (US)     CPU: 12x Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz
    • Greetings! If you clicked on this I can only assume you have at the very least a slight interest in using Minecraft as a vehicle for creating stories, roleplaying, and worldbuilding, which is amazing to hear, thank you for your interest and I will do my best to explain this as much as I can here but I would like to start by advising you to join our discord, even if you have the slightest interest you can leave whenever you want and I can explain this whole thing a whole lot better. Our goal is to foster a creative and unified community and thrive on a minecraft server that was made for creating everything from nations to individual cultures. This recruitment post is for a newly formed nation "The Kingdom of the fallen sun" but fear not if you have ambitions to create your own nation/group simply join our discord and we will help you get set up. Our nation is all about making the experience as positive as possible for everyone! If you've never heard of something like this before that's perfect, come on down and we will get you started on your journey! If your a veteran of this type of thing we also welcome you and promise you will find the experience with us enjoyable.  I would love to explain more about our lore and what we have going on here but it wouldn't fit here, so if this at all interests you join our discord and contact us!  We would love to have you and are happy to answer all questions and promise to ensure you will enjoy your time with us. https://discord.gg/W8thN3CZWA
    • The only thing that worked is changing the internet, but, usaly i use my house´s one
    • It doesn't work... i tried both things, even at the same time
  • Topics

×
×
  • Create New...

Important Information

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