Jump to content

how do i detect items in custom GUI slots?


dark2222

Recommended Posts

i am working on an new mod right now and i don't now have to detect the items i put the GUI slots or change them (damaging/enchanting ex)

here are the files i think you will need

container

package com.durabilitytransfer;

import com.durabilitytransfer.slots.basictransferslot1;
import com.durabilitytransfer.slots.basictransferslot2;
import com.durabilitytransfer.slots.basictransferslot3;
import com.durabilitytransfer.titleentitys.TileEntityBasic;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.common.MinecraftForge;

public class ContainerBatic extends Container{
private TileEntityBasic basic;

public ContainerBatic(InventoryPlayer invPlayer, TileEntityBasic basic) {
	this.basic = basic;
	if(basic.canUpdate() != false){
		basic.updateContainingBlockInfo();
	}

	for (int x = 0; x < 9; x++){
		addSlotToContainer(new Slot(invPlayer, x, 8 + 18 * x, 198));
	}
	for (int y = 0; y < 3; y++){
		for(int x = 0; x < 9; x++) {
			addSlotToContainer(new Slot(invPlayer, x + y * 9 + 9, 8 + 18 * x, 140 + y * 18));
		}
	}

	for (int y = 0; y < 1; y++){
		for (int x = 0; x < 1; x++){
			this.addSlotToContainer(new basictransferslot1(basic,  0, 82 + x * 18, 12 + y * 18));
			this.addSlotToContainer(new basictransferslot2(basic,  1, 82 + x * 18, 59 + y * 18));
			this.addSlotToContainer(new basictransferslot3(basic, 2, 8 + x * 18, 120 + y * 18));
		}
	}
}


@Override
public boolean canInteractWith(EntityPlayer entityplayer) {
	return basic.isUseableByPlayer(entityplayer);
}
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int index){
	ItemStack stack = null;
	Slot slot = (Slot) this.inventorySlots.get(index);
	if(slot!=null&&slot.getHasStack()){
		ItemStack slotstack = slot.getStack();
		stack = slotstack.copy();
		if(index<{
			if(!this.mergeItemStack(slotstack,8,this.inventorySlots.size(),false)) return null;
		}else if(!this.getSlot(0).isItemValid(slotstack)||!this.mergeItemStack(slotstack,0,4,false)) return null;
		if(slotstack.stackSize==0){
			slot.putStack((ItemStack) null);
		}else{
			slot.onSlotChanged();
		}
		if(slotstack.stackSize==stack.stackSize) return null;
		slot.onPickupFromSlot(player,slotstack);
	}
	return stack;
}
/**
 * Does the same as mergeItemStack with the same args, except does not
 * actually merge— just returns the number of items that can be merged
 * (usually either stack.stackSize or 0, but can be in between)
 * @param stack
 * @param start
 * @param end
 * @param reverse
 * @return
 */
int dryMerge(ItemStack stack, int start, int end, boolean reverse){
	boolean flag1 = false;
	int i = start;
	if(reverse){
		i = end-1;
	}
	int quantity = stack.stackSize;
	Slot slot;
	ItemStack slotstack;
	if(stack.isStackable()){
		while(stack.stackSize>0&&(!reverse&&i<end||reverse&&i>=start)){
			slot = this.getSlot(i);
			slotstack = slot.getStack();
			if(slotstack!=null&&slotstack.itemID==stack.itemID&&(!stack.getHasSubtypes()||stack.getItemDamage()==slotstack.getItemDamage())&&ItemStack.areItemStackTagsEqual(stack,slotstack)){
				int l = slotstack.stackSize+stack.stackSize;
				if(l<=stack.getMaxStackSize()){
					quantity -= slotstack.stackSize;
				}else if(slotstack.stackSize<stack.getMaxStackSize()){
					quantity -= (stack.getMaxStackSize() - slotstack.stackSize);
				}
			}
			if(reverse) --i;
			else ++i;
		}
	}
	if(stack.stackSize>0){
		if(reverse){
			i = end-1;
		}else{
			i = start;
		}
		while(!reverse&&i<end||reverse&&i>=start){
			slot = (Slot) this.inventorySlots.get(i);
			slotstack = slot.getStack();
			if(slotstack==null){
				quantity = 0;
				break;
			}
			if(reverse){
				--i;
			}else{
				++i;
			}
		}
	}
	return stack.stackSize-quantity;
}

}

 

Tile entity

package com.durabilitytransfer.titleentitys;

import net.minecraft.entity.player.EntityPlayer;
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;

public class TileEntityBasic extends TileEntity implements IInventory{

private ItemStack[] items;

public TileEntityBasic() {
	items = new ItemStack[9];
}

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

@Override
public ItemStack getStackInSlot(int i) {
	return items[i];
}

@Override
public ItemStack decrStackSize(int i, int count) {
	ItemStack itemstack = getStackInSlot(i);

	if(itemstack != null){
		if(itemstack.stackSize <= count){
			setInventorySlotContents(i, null);
		} else {
			itemstack = itemstack.splitStack(count);
			onInventoryChanged();
		}
	}

	return itemstack;
}

@Override
public ItemStack getStackInSlotOnClosing(int i) {
	ItemStack item = getStackInSlot(i);
	setInventorySlotContents(i, null);
	return item;
}

@Override
public void setInventorySlotContents(int i, ItemStack itemstack) {
	items[i] = itemstack;

	if(itemstack != null && itemstack.stackSize > getInventoryStackLimit()) {
		itemstack.stackSize = getInventoryStackLimit();
	}

	onInventoryChanged();

}

@Override
public String getInvName() {
	return "BasicTransfer";
}

@Override
public boolean isInvNameLocalized() {

	return false;
}

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

@Override
public boolean isUseableByPlayer(EntityPlayer entityplayer) {
	return entityplayer.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) <= 64;
}

@Override
public void openChest() {

}

@Override
public void closeChest() {

}

@Override
public boolean isItemValidForSlot(int i, ItemStack itemstack) {
	return itemstack.itemID == Item.swordWood.itemID;
}
@Override
public void writeToNBT(NBTTagCompound compound) {
  super.writeToNBT(compound);

  NBTTagList list = new NBTTagList();

  for(int i = 0; i < getSizeInventory(); i++) {
        ItemStack itemstack = getStackInSlot(i);

        if(itemstack != null) {
          NBTTagCompound item = new NBTTagCompound();

          item.setByte("dtitem", (byte) i);
          itemstack.writeToNBT(item);
          list.appendTag(item);
        }
  }

  compound.setTag("dtitem", list);
}
@Override
public void readFromNBT(NBTTagCompound compound) {
  super.readFromNBT(compound);

  NBTTagList list = compound.getTagList("dtitem");

  for(int i = 0; i < list.tagCount(); i++) {
        NBTTagCompound item = (NBTTagCompound) list.tagAt(i);
        int slot = item.getByte("dtitem");

        if(slot >= 0 && slot < getSizeInventory()) {
          setInventorySlotContents(slot, ItemStack.loadItemStackFromNBT(item));
        }
  }
}
}

i also have 3 custom slot classes for my Block slots that look like this

package com.durabilitytransfer.slots;

import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

public class basictransferslot1 extends Slot{


public basictransferslot1(IInventory par1iInventory, int par2, int par3, int par4) {
	super(par1iInventory, par2, par3, par4);
}

@Override
    public boolean isItemValid(ItemStack par1ItemStack)
    {
        return par1ItemStack.itemID == Item.swordWood.itemID;
    }
    
}

Link to comment
Share on other sites

the itemstack array in the tileentity symboles your Slots.

Use onUpdate() in the tileentity and check your inventory and change the item how much you want.

Thanks for the tip, can i still check what slot the item are in? Have 3 diffrent slots and i need to do diffrent stuff on all slots

 

Sorry if some words are spell wrong i am on ipad in school

Link to comment
Share on other sites

Each index in the array is a different Slot. You are defining which slot is which index when you construct your Slots. You pass it an index variable, that is the index in the array.

So i can tell it what slot by the slot id i gave the specefic slot?

 

Sorry i ask so much just trying to understand as much as i can before getting home for school xD

Link to comment
Share on other sites

In your Inventory (in this case: the TileEntity) you have the

getStackInSlot

and

setInventorySlotContents

methods. These take a slot index. Usually that maps directly to an array of ItemStacks, so

getStackInSlot(0)

will return the first element in the array:

itemStacks[0]

.

Now in your container you have something like

new Slot(id, x, y)

. Now that slot will display the stack which is available via

getStackInSlot(id)

resp.

itemStacks[id]

.

i have tryed a cuble things but i can't get it to run

EDIT-

i can't find any onUpdate

Link to comment
Share on other sites

I don't know how to explain it more clearly. There is ONE index for each slot. It's the index of the ItemStack in your ItemStack array.

i understand that and i tryed to make a code my problem is that my code is not running/executing

EDIT-

wait... am i suppose to do this in the container or tile entity? (right now i tryed in tile entity)

Link to comment
Share on other sites

... am i suppose to do this in the container or tile entity? (right now i tryed in tile entity)

Define "this".

am i suppose to do the detect/check on the tile entity or container?

so far i try'd in tile entity to detect it but nothing worked

so i am trying to make it in the container

Link to comment
Share on other sites

You ask (author) some strange questions lately - it's almost like you are lazy (lol) :)

If you don't understand how TileEntity works in container and when and what is called I suggest opening:

BlockFurncae.class

ContainerFurnace.class

FurnaceRecipes.class

TileEntityFurnace.class

Then go through code and in every method add System.out.println() on beggining and end, also before and after any method that is called by that method (see for what it asks, when, and what is the return).

eg.: in onUpdate() in TileEntity write something like:

public void updateEntity()
    {
        boolean flag = this.furnaceBurnTime > 0;
        boolean flag1 = false;
System.out.println("Starting Updating Entity")
        if (this.furnaceBurnTime > 0)
        {
System.out.println("Furnace is burning...")
            --this.furnaceBurnTime;
        }
else System.out.println("Not burning")

        if (!this.worldObj.isRemote)
        {
System.out.println("Checking if furnace is not burning and if not, and also there is fuel continue")
            if (this.furnaceBurnTime == 0 && this.canSmelt())
            {
                this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]);

 

Same goes to this.furnaceItemStacks[1] - if you add nice System.out.println() to it and put something in it you will figure out how it works.

I am not helping here much (sorry) but belive me, if you want to have ability to code advanced stuff in future this will help very much (takes about few hours to figure out, but then you KNOW the code).

 

And hit about this.furnaceItemStacks[] - when you are adding slots in your Container class this will be an array with size equal to how many slots you add. Let's have look:

//In Container  I have defined my slots like this
public static final int FUEL[] = {0};
public static final int INPUT[] = {1,2,3,4,5,6};
public static final int OUTPUT[] = {7,8,9,10,11,12};
//Now in my TileEntity it's
ArrayOfItemStacks = new ItemStack[13];
//Now ArrayOfItemStacks is a array {0,1,2,3,4,5,6,7,8,9,10,11,12}; where every ID is refering to those in Container.class

Can't describe it more clearly :C

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

You ask (author) some strange questions lately - it's almost like you are lazy (lol) :)

If you don't understand how TileEntity works in container and when and what is called I suggest opening:

BlockFurncae.class

ContainerFurnace.class

FurnaceRecipes.class

TileEntityFurnace.class

Then go through code and in every method add System.out.println() on beggining and end, also before and after any method that is called by that method (see for what it asks, when, and what is the return).

eg.: in onUpdate() in TileEntity write something like:

public void updateEntity()
    {
        boolean flag = this.furnaceBurnTime > 0;
        boolean flag1 = false;
System.out.println("Starting Updating Entity")
        if (this.furnaceBurnTime > 0)
        {
System.out.println("Furnace is burning...")
            --this.furnaceBurnTime;
        }
else System.out.println("Not burning")

        if (!this.worldObj.isRemote)
        {
System.out.println("Checking if furnace is not burning and if not, and also there is fuel continue")
            if (this.furnaceBurnTime == 0 && this.canSmelt())
            {
                this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]);

 

Same goes to this.furnaceItemStacks[1] - if you add nice System.out.println() to it and put something in it you will figure out how it works.

I am not helping here much (sorry) but belive me, if you want to have ability to code advanced stuff in future this will help very much (takes about few hours to figure out, but then you KNOW the code).

 

And hit about this.furnaceItemStacks[] - when you are adding slots in your Container class this will be an array with size equal to how many slots you add. Let's have look:

//In Container  I have defined my slots like this
public static final int FUEL[] = {0};
public static final int INPUT[] = {1,2,3,4,5,6};
public static final int OUTPUT[] = {7,8,9,10,11,12};
//Now in my TileEntity it's
ArrayOfItemStacks = new ItemStack[13];
//Now ArrayOfItemStacks is a array {0,1,2,3,4,5,6,7,8,9,10,11,12}; where every ID is refering to those in Container.class

Can't describe it more clearly :C

will not say that i am lazy bekos i am trying to make it work as i am waiting for response

i just ask so much bekos i can't find any tuts on it + i don't now that much java (learning that as i go more advanced)

and i use that system println trick and right now i am trying to get wooden sword to work but i all times get a error

(about ItemStack[] don't work with int)

 

Link to comment
Share on other sites

Dude... ItemStack is not ant int, it's an OBJECT (java type).

If yo uwant to eg. get specific block you do not write:

ItemStack[1000]

but:

ItemStack[MyMod.Sword]

well as i sad i learn as do it right now and i just learned that it is a object

and btw if i try to do that it want to change the items to a int so i don't think i am doing it right

here is my container is i try to code in

package com.durabilitytransfer;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.event.ForgeSubscribe;

import com.durabilitytransfer.slots.basictransferslot1;
import com.durabilitytransfer.slots.basictransferslot2;
import com.durabilitytransfer.slots.basictransferslot3;
import com.durabilitytransfer.titleentitys.TileEntityBasic;

public class ContainerBatic extends Container{
private TileEntityBasic basic;

public ContainerBatic(InventoryPlayer invPlayer, TileEntityBasic basic) {
	this.basic = basic;
	boolean a = true;
		test(basic);

	for (int x = 0; x < 9; x++){
		addSlotToContainer(new Slot(invPlayer, x, 8 + 18 * x, 198));
	}
	for (int y = 0; y < 3; y++){
		for(int x = 0; x < 9; x++) {
			addSlotToContainer(new Slot(invPlayer, x + y * 9 + 9, 8 + 18 * x, 140 + y * 18));
		}
	}

	for (int y = 0; y < 1; y++){
		for (int x = 0; x < 1; x++){
			this.addSlotToContainer(new basictransferslot1(basic,  0, 82 + x * 18, 12 + y * 18));
			this.addSlotToContainer(new basictransferslot2(basic,  1, 82 + x * 18, 59 + y * 18));
			this.addSlotToContainer(new basictransferslot3(basic, 2, 8 + x * 18, 120 + y * 18));
		}
	}
}
                                                                       
public static void test(TileEntityBasic basic){ <---- this is the code i am working on
	System.out.println("starting1");
	if(basic.getStackInSlot(0) == ItemStack[item.swordWood]){
		System.out.println("test");

	}else{
		System.out.println("broke");

	}
}


@Override
public boolean canInteractWith(EntityPlayer entityplayer) {
	return basic.isUseableByPlayer(entityplayer);
}
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int index){
	ItemStack stack = null;
	Slot slot = (Slot) this.inventorySlots.get(index);
	if(slot!=null&&slot.getHasStack()){
		ItemStack slotstack = slot.getStack();
		stack = slotstack.copy();
		if(index<{
			if(!this.mergeItemStack(slotstack,8,this.inventorySlots.size(),false)) return null;
		}else if(!this.getSlot(0).isItemValid(slotstack)||!this.mergeItemStack(slotstack,0,4,false)) return null;
		if(slotstack.stackSize==0){
			slot.putStack((ItemStack) null);
		}else{
			slot.onSlotChanged();
		}
		if(slotstack.stackSize==stack.stackSize) return null;
		slot.onPickupFromSlot(player,slotstack);
	}
	return stack;
}
/**
 * Does the same as mergeItemStack with the same args, except does not
 * actually merge— just returns the number of items that can be merged
 * (usually either stack.stackSize or 0, but can be in between)
 * @param stack
 * @param start
 * @param end
 * @param reverse
 * @return
 */
int dryMerge(ItemStack stack, int start, int end, boolean reverse){
	boolean flag1 = false;
	int i = start;
	if(reverse){
		i = end-1;
	}
	int quantity = stack.stackSize;
	Slot slot;
	ItemStack slotstack;
	if(stack.isStackable()){
		while(stack.stackSize>0&&(!reverse&&i<end||reverse&&i>=start)){
			slot = this.getSlot(i);
			slotstack = slot.getStack();
			if(slotstack!=null&&slotstack.itemID==stack.itemID&&(!stack.getHasSubtypes()||stack.getItemDamage()==slotstack.getItemDamage())&&ItemStack.areItemStackTagsEqual(stack,slotstack)){
				int l = slotstack.stackSize+stack.stackSize;
				if(l<=stack.getMaxStackSize()){
					quantity -= slotstack.stackSize;
				}else if(slotstack.stackSize<stack.getMaxStackSize()){
					quantity -= (stack.getMaxStackSize() - slotstack.stackSize);
				}
			}
			if(reverse) --i;
			else ++i;
		}
	}
	if(stack.stackSize>0){
		if(reverse){
			i = end-1;
		}else{
			i = start;
		}
		while(!reverse&&i<end||reverse&&i>=start){
			slot = (Slot) this.inventorySlots.get(i);
			slotstack = slot.getStack();
			if(slotstack==null){
				quantity = 0;
				break;
			}
			if(reverse){
				--i;
			}else{
				++i;
			}
		}
	}
	return stack.stackSize-quantity;
}
}

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.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I was also facing the same. Thank you for helping.
    • I have been putting together mods and stuff for me and my cousin to play with and I keep getting this error when I join a game. Please help and thank you. ---- Minecraft Crash Report ---- // Don't be sad, have a hug! <3 Time: 6/13/24 12:56 AM Description: Unexpected error java.lang.IllegalArgumentException: Multiple entries with same key: glint:RenderType[CompositeState[[texture[Optional[minecraft:textures/misc/enchanted_item_glint.png](blur=true, mipmap=false)], glint_transparency, diffuse_lighting[false], shade_model[flat], alpha[0.0], depth_test[==], cull[false], lightmap[false], overlay[false], fog, no_layering, main_target, glint_texturing, write_mask_state[writeColor=true, writeDepth=false], line_width[1.0]], outlineProperty=none], ]=net.minecraft.client.renderer.BufferBuilder@2bfbbc17 and glint:RenderType[CompositeState[[texture[Optional[minecraft:textures/misc/enchanted_item_glint.png](blur=true, mipmap=false)], glint_transparency, diffuse_lighting[false], shade_model[flat], alpha[0.0], depth_test[==], cull[false], lightmap[false], overlay[false], fog, no_layering, main_target, glint_texturing, write_mask_state[writeColor=true, writeDepth=false], line_width[1.0]], outlineProperty=none], ]=net.minecraft.client.renderer.BufferBuilder@aeeb66e     at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:186) ~[guava-21.0.jar:?] {}     at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:102) ~[guava-21.0.jar:?] {}     at com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:88) ~[guava-21.0.jar:?] {}     at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:359) ~[guava-21.0.jar:?] {}     at tschipp.carryon.client.event.RenderEvents.onRenderWorld(RenderEvents.java:334) ~[?:1.15.6.24] {re:classloading}     at net.minecraftforge.eventbus.ASMEventHandler_882_RenderEvents_onRenderWorld_RenderWorldLastEvent.invoke(.dynamic) ~[?:?] {}     at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.eventbus.EventBus$$Lambda$3607/1632506112.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.client.ForgeHooksClient.dispatchRenderLast(ForgeHooksClient.java:201) ~[?:?] {re:classloading}     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.optifine.reflect.Reflector.callVoid(Reflector.java:789) ~[?:?] {re:classloading}     at net.minecraft.client.renderer.GameRenderer.func_228378_a_(GameRenderer.java:1027) ~[?:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,pl:mixin:APP:immersive_aircraft.mixins.json:GameRendererMixin,pl:mixin:APP:flywheel.mixins.json:StoreProjectionMatrixMixin,pl:mixin:APP:forge-mca.mixin.json:client.MixinGameRenderer,pl:mixin:APP:mixins.essential.json:events.Mixin_GuiDrawScreenEvent_Priority,pl:mixin:A}     at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:693) ~[?:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,pl:mixin:APP:immersive_aircraft.mixins.json:GameRendererMixin,pl:mixin:APP:flywheel.mixins.json:StoreProjectionMatrixMixin,pl:mixin:APP:forge-mca.mixin.json:client.MixinGameRenderer,pl:mixin:APP:mixins.essential.json:events.Mixin_GuiDrawScreenEvent_Priority,pl:mixin:A}     at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:977) [?:?] {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:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:mts.mixins.json:common.MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,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: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:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:mts.mixins.json:common.MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,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: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:37) [forge-1.16.5-36.2.42.jar:36.2] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$534/786047074.call(Unknown Source) [forge-1.16.5-36.2.42.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.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:186) ~[guava-21.0.jar:?] {}     at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:102) ~[guava-21.0.jar:?] {}     at com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:88) ~[guava-21.0.jar:?] {}     at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:359) ~[guava-21.0.jar:?] {}     at tschipp.carryon.client.event.RenderEvents.onRenderWorld(RenderEvents.java:334) ~[?:1.15.6.24] {re:classloading}     at net.minecraftforge.eventbus.ASMEventHandler_882_RenderEvents_onRenderWorld_RenderWorldLastEvent.invoke(.dynamic) ~[?:?] {}     at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}     at net.minecraftforge.eventbus.EventBus$$Lambda$3607/1632506112.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.client.ForgeHooksClient.dispatchRenderLast(ForgeHooksClient.java:201) ~[?:?] {re:classloading}     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.optifine.reflect.Reflector.callVoid(Reflector.java:789) ~[?:?] {re:classloading}     at net.minecraft.client.renderer.GameRenderer.func_228378_a_(GameRenderer.java:1027) ~[?:?] {re:mixin,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:fairylights:GameRendererTransformer,pl:mixin:APP:immersive_aircraft.mixins.json:GameRendererMixin,pl:mixin:APP:flywheel.mixins.json:StoreProjectionMatrixMixin,pl:mixin:APP:forge-mca.mixin.json:client.MixinGameRenderer,pl:mixin:APP:mixins.essential.json:events.Mixin_GuiDrawScreenEvent_Priority,pl:mixin:A} -- Affected level -- Details:     All players: 1 total; [ClientPlayerEntity['Gilman100'/265, l='ClientLevel', x=141.50, y=70.00, z=-166.50]]     Chunk stats: Client Chunk Cache: 841, 27     Level dimension: minecraft:overworld     Level spawn location: World: (8,64,8), Chunk: (at 8,4,8 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)     Level time: 0 game time, 0 day time     Server brand: forge     Server type: Integrated singleplayer server Stacktrace:     at net.minecraft.client.world.ClientWorld.func_72914_a(ClientWorld.java:617) ~[?:?] {re:mixin,xf:OptiFine:default,re:classloading,xf:OptiFine:default,pl:mixin:APP:abnormals_core.mixins.json:client.ClientWorldMixin,pl:mixin:APP:architectury.mixins.json:MixinClientLevel,pl:mixin:APP:mixins.essential.json:feature.particles.Mixin_AddParticleSystemToClientWorld,pl:mixin: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:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:mts.mixins.json:common.MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,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: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:abnormals_core.mixins.json:client.MinecraftMixin,pl:mixin:APP:mts.mixins.json:common.MinecraftMixin,pl:mixin:APP:flywheel.mixins.json:ShaderCloseMixin,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: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:37) [forge-1.16.5-36.2.42.jar:36.2] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$534/786047074.call(Unknown Source) [forge-1.16.5-36.2.42.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: 1589460336 bytes (1515 MB) / 4623171584 bytes (4409 MB) up to 6561988608 bytes (6258 MB)     CPUs: 12     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx7040m -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.42.jar object_holder_definalize PLUGINSERVICE          /forge-1.16.5-36.2.42.jar runtime_enum_extender PLUGINSERVICE          /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE          /forge-1.16.5-36.2.42.jar capability_inject_definalize PLUGINSERVICE          /forge-1.16.5-36.2.42.jar runtimedistcleaner PLUGINSERVICE          /mixin-0.8.4.jar mixin TRANSFORMATIONSERVICE          /OptiFine_1.16.5_HD_U_G8%20(1).jar OptiFine TRANSFORMATIONSERVICE          /essential_1-3-2-5_forge_1-16-5.jar essential-loader TRANSFORMATIONSERVICE          /forge-1.16.5-36.2.42.jar fml TRANSFORMATIONSERVICE      FML: 36.2     Forge: net.minecraftforge:36.2.42     FML Language Providers:          [email protected]         minecraft@1         [email protected]     Mod List:          TFTH 1.2.jar                                      |The_Flesh_That_Hates          |plaque                        |1.0.0               |DONE      |Manifest: NOSIGNATURE         BetterAnimationsCollection-v1.2.4-1.16.5-Forge.jar|Better Animations Collection  |betteranimationscollection    |1.2.4               |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         glasscutter-1.1.1-1.16.5.jar                      |Glasscutter                   |glasscutter                   |1.1.1               |DONE      |Manifest: NOSIGNATURE         supermartijn642configlib-1.1.8-forge-mc1.16.jar   |SuperMartijn642's Config Libra|supermartijn642configlib      |1.1.8               |DONE      |Manifest: NOSIGNATURE         Trin Civil Pack-1.16.5-3.22.0.jar                 |Immersive Vehicles (MTS/IV) - |iv_tcp_v3                     |3.20.0              |DONE      |Manifest: NOSIGNATURE         HMM19.3.1MC1.16.5.jar                             |Horror Movie Monsters         |hmm                           |19.3.1              |DONE      |Manifest: NOSIGNATURE         weeping_angels-36.0.1.jar                         |Weeping Angels                |weeping_angels                |36.0.1              |DONE      |Manifest: NOSIGNATURE         jei-1.16.5-7.8.0.1009.jar                         |Just Enough Items             |jei                           |7.8.0.1009          |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         DoggyTalents-1.16.5-2.1.15.jar                    |Doggy Talents 2               |doggytalents                  |2.1.15              |DONE      |Manifest: NOSIGNATURE         abnormals_core-1.16.5-3.3.1.jar                   |Abnormals Core                |abnormals_core                |3.3.1               |DONE      |Manifest: NOSIGNATURE         mcw-windows-2.2.1-mc1.16.5forge.jar               |Macaw's Windows               |mcwwindows                    |2.2.1               |DONE      |Manifest: NOSIGNATURE         caelus-forge-1.16.5-2.1.3.2.jar                   |Caelus API                    |caelus                        |1.16.5-2.1.3.2      |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         KleeSlabs_1.16.5-9.2.1.jar                        |KleeSlabs                     |kleeslabs                     |9.2.1               |DONE      |Manifest: NOSIGNATURE         Waystones_1.16.5-7.6.4.jar                        |Waystones                     |waystones                     |7.6.4               |DONE      |Manifest: NOSIGNATURE         jev-1.16.3-2.0.1.jar                              |Just Enough Vehicles          |jev                           |2.0.1               |DONE      |Manifest: NOSIGNATURE         mcwfurnituresbop-1.16.5-1.3.jar                   |Macaw's Furnitures - BOP      |mcwfurnituresbop              |1.16.5-1.3          |DONE      |Manifest: NOSIGNATURE         Clumps-6.0.0.28.jar                               |Clumps                        |clumps                        |6.0.0.28            |DONE      |Manifest: NOSIGNATURE         journeymap-1.16.5-5.8.5p7.jar                     |Journeymap                    |journeymap                    |5.8.5p7             |DONE      |Manifest: NOSIGNATURE         CTM-MC1.16.1-1.1.2.6.jar                          |ConnectedTexturesMod          |ctm                           |MC1.16.1-1.1.2.6    |DONE      |Manifest: NOSIGNATURE         TravelersBackpack-1.16.5-5.4.51.jar               |Traveler's Backpack           |travelersbackpack             |5.4.51              |DONE      |Manifest: NOSIGNATURE         Artifacts-1.16.5-2.10.5.jar                       |Artifacts                     |artifacts                     |1.16.5-2.10.5       |DONE      |Manifest: NOSIGNATURE         FarmingForBlockheads_1.16.5-7.3.1.jar             |Farming for Blockheads        |farmingforblockheads          |7.3.1               |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         NCOBC-1.2.2.jar                                   |Non Craftable Items Become Cra|dolberhats                    |1.2.2               |DONE      |Manifest: NOSIGNATURE         table_top_craft-1.16-1.2.1.jar                    |Table Top Craft               |table_top_craft               |1.16-1.2.1          |DONE      |Manifest: NOSIGNATURE         mcw-doors-1.1.0forge-mc1.16.5.jar                 |Macaw's Doors                 |mcwdoors                      |1.1.0               |DONE      |Manifest: NOSIGNATURE         Immersive Vehicles-1.16.5-22.15.0.jar             |Immersive Vehicles (formerly M|mts                           |NONE                |DONE      |Manifest: NOSIGNATURE         JEITweaker-1.16.5-1.1.0.49.jar                    |JEI Tweaker                   |jeitweaker                    |1.1.0.49            |DONE      |Manifest: NOSIGNATURE         fusion-1.1.1-forge-mc1.16.jar                     |Fusion                        |fusion                        |1.1.1               |DONE      |Manifest: NOSIGNATURE         carryon-1.16.5-1.15.6.24.jar                      |Carry On                      |carryon                       |1.15.6.24           |DONE      |Manifest: NOSIGNATURE         CraftTweaker-1.16.5-7.1.2.527.jar                 |CraftTweaker                  |crafttweaker                  |7.1.2.527           |DONE      |Manifest: NOSIGNATURE         BotanyPots-1.16.5-7.1.41.jar                      |BotanyPots                    |botanypots                    |7.1.41              |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         forge-1.16.5-36.2.42-universal.jar                |Forge                         |forge                         |36.2.42             |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         Trin Parts Pack-1.16.5-2.23.1.jar                 |Immersive Vehicles (MTS/IV) - |iv_tpp                        |2.22.0              |DONE      |Manifest: NOSIGNATURE         refinedstorage-1.9.18.jar                         |Refined Storage               |refinedstorage                |1.9.18              |DONE      |Manifest: NOSIGNATURE         mcw-paths-1.0.5-1.16.5forge.jar                   |Macaw's Paths and Pavings     |mcwpaths                      |1.0.5               |DONE      |Manifest: NOSIGNATURE         corpse-1.16.5-1.0.6.jar                           |Corpse                        |corpse                        |1.16.5-1.0.6        |DONE      |Manifest: NOSIGNATURE         Scary_Mobs_And_Bosses-mod-1.16.5_1.2.0.jar        |Scary Mobs Mobs and Bosses    |scary_mobs_and_bosses         |1.2.0               |DONE      |Manifest: NOSIGNATURE         chipped-1.16.5-1.2.1-forge.jar                    |Chipped                       |chipped                       |1.16.5-1.2.1-forge  |DONE      |Manifest: NOSIGNATURE         forge-1.16.5-36.2.42-client.jar                   |Minecraft                     |minecraft                     |1.16.5              |DONE      |Manifest: NOSIGNATURE         UndeadExpansion_2.0.4_1.16.5_b.jar                |Undead Expansion              |undead_expansion              |2.0.4               |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         ToolBelt-1.16.5-1.16.3.jar                        |Tool Belt                     |toolbelt                      |1.16.3              |DONE      |Manifest: NOSIGNATURE         BotanyTrees-1.16.5-3.0.12.jar                     |BotanyTrees                   |botanytrees                   |3.0.12              |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         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         fairylights-4.0.6-1.16.5.jar                      |Fairy Lights                  |fairylights                   |4.0.6               |DONE      |Manifest: NOSIGNATURE         RecipesLibrary-1.16.5-2.0.0.jar                   |Recipes Library               |recipes_lib                   |2.0.0               |DONE      |Manifest: NOSIGNATURE         jeiintegration_1.16.5-7.1.0.22.jar                |JEI Integration               |jeiintegration                |7.1.0.22            |DONE      |Manifest: NOSIGNATURE         SelectablePainting-1.16.5-2.0.1.jar               |Selectable Painting           |selectable_painting           |2.0.1               |DONE      |Manifest: NOSIGNATURE         plushies-1.2-1.16.5-forge.jar                     |Plushie Mod                   |plushies                      |1.2                 |DONE      |Manifest: NOSIGNATURE         flywheel-1.16-0.2.5.jar                           |Flywheel                      |flywheel                      |1.16-0.2.5          |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         sisser-1.7.jar                                    |Sisser                        |sisser                        |1.7                 |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         abnormals_delight-1.16.5-1.2.1.jar                |Abnormals Delight             |abnormals_delight             |1.2.1               |DONE      |Manifest: NOSIGNATURE         StorageDrawers-1.16.3-8.5.2.jar                   |Storage Drawers               |storagedrawers                |8.5.2               |DONE      |Manifest: NOSIGNATURE         DiagonalFences-v1.1.1-1.16.5.jar                  |Diagonal Fences               |diagonalfences                |1.1.1               |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         DoubleSlabs-1.16-3.7.3.jar                        |Double Slabs                  |doubleslabs                   |3.7.3               |DONE      |Manifest: NOSIGNATURE         obfuscate-0.6.3-1.16.5.jar                        |Obfuscate                     |obfuscate                     |0.6.3               |DONE      |Manifest: NOSIGNATURE         vehicle-mod-0.45.2-1.16.3.jar                     |MrCrayfish's Vehicle Mod      |vehicle                       |0.45.2              |DONE      |Manifest: NOSIGNATURE         cfm-7.0.0pre22-1.16.3.jar                         |MrCrayfish's Furniture Mod    |cfm                           |7.0.0-pre22         |DONE      |Manifest: NOSIGNATURE         morecfm-1.3.1-1.16.3.jar                          |MrCrayfish's More Furniture Mo|morecfm                       |1.3.1               |DONE      |Manifest: NOSIGNATURE         architectury-1.32.68.jar                          |Architectury                  |architectury                  |1.32.68             |DONE      |Manifest: NOSIGNATURE         minecraft-comes-alive-7.3.23+1.16.5-universal.jar |Minecraft Comes Alive         |mca                           |7.3.23+1.16.5       |DONE      |Manifest: NOSIGNATURE         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         mcw-furniture-3.2.2-mc1.16.5forge.jar             |Macaw's Furniture             |mcwfurnitures                 |3.2.2               |DONE      |Manifest: NOSIGNATURE         apexcore-1.16.5-1.10.0.jar                        |ApexCore                      |apexcore                      |1.10.0              |DONE      |Manifest: NOSIGNATURE         fantasyfurniture-1.16.5-2.0.2.jar                 |Fantasy's Furniture           |fantasyfurniture              |2.0.2               |DONE      |Manifest: NOSIGNATURE         cloth-config-4.17.101-forge.jar                   |Cloth Config v4 API           |cloth-config                  |4.17.101            |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         FallingTree-1.16.5-2.11.7.jar                     |FallingTree                   |fallingtree                   |2.11.7              |DONE      |Manifest: NOSIGNATURE         expandability-2.0.1-forge.jar                     |ExpandAbility                 |expandability                 |2.0.1               |DONE      |Manifest: NOSIGNATURE         geckolib-forge-1.16.5-3.0.106.jar                 |GeckoLib                      |geckolib3                     |3.0.106             |DONE      |Manifest: NOSIGNATURE         mcw-lights-1.0.6b-mc1.16.5forge.jar               |Macaw's Lights and Lamps      |mcwlights                     |1.0.6               |DONE      |Manifest: NOSIGNATURE         Essential (forge_1.16.5).jar                      |Essential                     |essential                     |1.3.2.5+ge4fdbcd438 |DONE      |Manifest: NOSIGNATURE         BetterAdvancements-1.16.5-0.1.1.115.jar           |Better Advancements           |betteradvancements            |0.1.1.115           |DONE      |Manifest: NOSIGNATURE     Crash Report UUID: 5a2a5800-3bd7-4640-9bbc-ef9573fc1d4b     Launched Version: forge-36.2.42     Backend library: LWJGL version 3.2.2 build 10     Backend API: NVIDIA GeForce RTX 2050/PCIe/SSE2 GL version 4.6.0 NVIDIA 546.80, 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, file/Invisible Item Frame Pack_1.16.4-1.0.zip, file/Mizunos 16 Craft JE CIT_1.16.4_beta-1.0.zip, file/Mizunos 16 Craft JE_1.16.4-1.0.zip     Current Language: English (US)     CPU: 12x AMD Ryzen 5 7535HS with Radeon Graphics      OptiFine Version: OptiFine_1.16.5_HD_U_G8     OptiFine Build: 20210515-161946     Render Distance Chunks: 12     Mipmaps: 4     Anisotropic Filtering: 1     Antialiasing: 0     Multitexture: false     Shaders: BSL_v8.2.09.zip     OpenGlVersion: 4.6.0 NVIDIA 546.80     OpenGlRenderer: NVIDIA GeForce RTX 2050/PCIe/SSE2     OpenGlVendor: NVIDIA Corporation     CpuCount: 12
    • I've been trying to give a little transparency to a block and a custom model, but I'm running into the same issue with the transparency of the block Some guides say I use ItemBlockRenderTypes.setRenderLayer in a ClientEvent class but its deprecated, I already tried to set a Properties in Properties.copy(Blocks.FLOWERPOT) But the render in game still doesn't has transparency, only as an Item  
    • My friends and I are modding to survive But recently I want to use cmd to open the server instead of making the single player game public But when I used two methods to start the server, I encountered two problems first A I used forge to install the server files Created using the original server jar The server was installed successfully and the mod was also loaded successfully. But after I replaced the world file with my survival map, I found that the mod items inside disappeared but could be taken from creation again. So I tried to install the server using forge first B I have studied forge for a long time but successfully installed it. But when I put in mods it crashed But mods can be installed on the server   我和我的朋友們正在mod為了生存 但是最近我想用cmd打開伺服器而不是把單人遊戲公開 但是當我使用兩種方法啟動伺服器時,我遇到了兩個問題 首先AI使用forge安裝伺服器檔案使用原始伺服器jar 建立伺服器已成功安裝,mod 也已成功載入。但是當我用我的生存地圖替換世界文件後,我發現裡面的mod物品消失了,但可以再次從創建中取出。所以我嘗試先使用forge安裝伺服器,BI研究了forge很久但成功安裝了它。但是當我安裝 mods 時它崩潰了但是 mods 可以安裝在伺服器上 我和我的朋友正在mod生存 但最近我想使用cmd開啟伺服器而不是單人遊戲公開   但是當我使用了兩種方法開啟伺服器時遇到了兩種問題   第1個A 我使用了forge安裝伺服器文件 在使用原版伺服器jar建立    伺服器安裝成功 mod也順利加載  但是我將我的生存地圖替換世界文件後發現裡面的mod物品消失了但可以再次從創造拿取  所以我嘗試使用forge安裝伺服器   第2個B forge我研究了很久但也成功安裝了 但是當我放入 mods 之後發生了崩潰 但是mods在1A伺服器上是可以安裝的 Ps 我用谷歌翻譯 so    
  • Topics

×
×
  • Create New...

Important Information

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