Jump to content

1.7.10 Adding a delay to setting a block within a Tile Entity


Eractnod

Recommended Posts

My latest project has been to make an Elevator for Minecraft.  Have learned a lot doing so with respect to Tile entities, packet handling, and gui's and I know that I can learn more.  Everything works well but one thing.  The floor movement up and down moves too fast.  I would like to slow it down, so it feels like a real elevator moving up and down.  Attached is my TE that has all the movement code in it.  I am looking for some suggestions on how to place a few second delay between each step of the Y axis movement as the floor and players move up and down.  The method startFloorCall is at the bottom of the code.  The method is called from within the updateEntity() method when floorCall = true.

1.  Tried just a simple counter loop.  No change.

2.  Tried a tick handler server side.  Seemed to work for the floor, but not the players.  Are player movements client side, server side, or both.  If client side, would explain why this did not work.

3.  Tried to add a timer to the updateEntity() in the TE, but the timer would never update when I was within my method.  If I could get this to work, would be best for cpu time.

 

package com.eractnod.elevator.tileentity;

import java.util.List;

import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;

public class TileEntityCreateElevator extends TileEntity implements IInventory{

private ItemStack[] inv;
private String customName;
public String numberOfFloors;
public String numberBetweenFloors;
public String direction;
private boolean floors = false;
public int[] floorX = new int[16];
public int[] floorY = new int[16];
public int[] floorZ = new int[16];
public int[] floorNum = new int[16];
public int currentFloor;
public int calledFloor;
public boolean performCall = false;
public boolean floorCall = false;


public TileEntityCreateElevator(){
	inv = new ItemStack[2];
}
@Override
public int getSizeInventory() {
	return inv.length;
}

@Override
public ItemStack getStackInSlot(int slot) {
	return inv[slot];
}

@Override
public ItemStack decrStackSize(int slot, int amount) {
	ItemStack stack = getStackInSlot(slot);

	if (stack != null) {

		if (stack.stackSize <= amount) {
			setInventorySlotContents(slot, null);
		} 
		else {
			stack = stack.splitStack(amount);

			if (stack.stackSize == 0) {
				setInventorySlotContents(slot, null);
			}
		}
	}

	return stack;
}

@Override
public ItemStack getStackInSlotOnClosing(int slot) {
	ItemStack stack = getStackInSlot(slot);

	if (stack != null) {
		setInventorySlotContents(slot, null);
	}
	return stack;
}

@Override
public void setInventorySlotContents(int slot, ItemStack stack) {

	inv[slot] = stack;

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

	}
}

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

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

@Override
public int getInventoryStackLimit() {
	return 1;

}

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

@Override
public void openInventory() {

}

@Override
public void closeInventory() {
}

@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {

	return true;
}

public void updateEntity(){


		if (performCall){
			System.out.println("yobo");
			startCall(calledFloor, worldObj);
			this.setCurrent(calledFloor);
			this.currentFloor = calledFloor;
			performCall = false;
			worldObj.markBlockForUpdate(floorX[0], floorY[0], floorZ[0]);
		}

		if(!worldObj.isRemote){
			if (floorCall){
				System.out.println("yobo2");
				startFloorCall(calledFloor, worldObj);
				this.setCurrent(calledFloor);
				floorCall = false;
				worldObj.markBlockForUpdate(floorX[0], floorY[0], floorZ[0]);
			}
		}


}

public void setFloors(String a, String b, String c){
	numberOfFloors = a;
	numberBetweenFloors = b;
	direction = c;
}

public ItemStack getFloorItemStack(){
	return inv[0];
}

public String getFloors(){
	return numberOfFloors;
}

public String getBetween(){
	return numberBetweenFloors;
}

public String getDirection(){
	return direction;
}

public void setFloorLocations(int x, int y, int z, int metaCall) {
	System.out.println("x " + x + " y " + y + " z " + z + " meta " + metaCall);
	this.floorX[metaCall] = x;
	this.floorY[metaCall] = y;
	this.floorZ[metaCall] = z;

}

public void setCurrent(int meta){

	this.currentFloor = meta;

}

public int getCurrent(){
	return currentFloor;
}

public void setPerformCall(int calledFloor, boolean performCall, boolean floorCall) {
	this.calledFloor = calledFloor;
	this.performCall = performCall;
	this.floorCall = floorCall;

}
public int getFloorCalled(){
	return this.calledFloor;
}
public boolean getPerformCall(){
	return this.performCall;
}
public boolean getNextFloor(){
	return this.floorCall;
}
 /**
     * Reads a tile entity from NBT.
     */
    public void readFromNBT(NBTTagCompound nbt)
    {
        super.readFromNBT(nbt);
        NBTTagList nbttaglist = nbt.getTagList("Items", 10);
        this.inv = new ItemStack[this.getSizeInventory()];

        if (nbt.hasKey("NumberFloors")){
        	numberOfFloors = nbt.getString("NumberFloors");
        }
        if (nbt.hasKey("NumberBetween")){
        	numberBetweenFloors = nbt.getString("NumberBetween");
        }
        if (nbt.hasKey("Direction")){
        	direction = nbt.getString("Direction");
        }
        if (nbt.hasKey("name"))
        {
            this.customName = nbt.getString("name");
        }

        for (int i = 0; i < nbttaglist.tagCount(); ++i)
        {
            NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.getCompoundTagAt(i);
            int j = nbttagcompound1.getByte("Slot") & 255;

            if (j >= 0 && j < this.inv.length)
            {
                this.inv[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
            }
        }
        
        for (int i = 0; i < floorX.length; i++){
        	this.floorX[i] = nbt.getInteger("floorX" + i);
        	this.floorY[i] = nbt.getInteger("floorY" + i);
        	this.floorZ[i] = nbt.getInteger("floorZ" + i);
        }
        this.currentFloor = nbt.getInteger("current");
        this.calledFloor = nbt.getInteger("calledfloor");
        this.performCall = nbt.getBoolean("performcall");
        this.floorCall = nbt.getBoolean("floorcall");
    }
    
    /**
     * Writes a tile entity to NBT.
     */
    public void writeToNBT(NBTTagCompound nbt)
    {
        super.writeToNBT(nbt);
        NBTTagList nbttaglist = new NBTTagList();

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

        nbt.setTag("Items", nbttaglist);

        if (this.hasCustomInventoryName())
        {
            nbt.setString("name", this.customName);
        }
        if (numberOfFloors != null){
        	nbt.setString("NumberFloors", numberOfFloors);
        }
        if (numberBetweenFloors != null){
        	nbt.setString("NumberBetween", numberBetweenFloors);
        }
        if (direction != null){
        	nbt.setString("Direction", direction);
        }
        for (int i = 0; i < floorX.length; i++){
        	nbt.setInteger("floorX" + i, this.floorX[i]);
        	nbt.setInteger("floorY" + i, this.floorY[i]);
        	nbt.setInteger("floorZ" + i, this.floorZ[i]);
        }
        nbt.setInteger("current", currentFloor);
        nbt.setInteger("calledfloor", calledFloor);
        nbt.setBoolean("performcall", performCall);
        nbt.setBoolean("floorcall", floorCall);
    }

    /**
     * Called when you receive a TileEntityData packet for the location this
     * TileEntity is currently in. On the client, the NetworkManager will always
     * be the remote server. On the server, it will be whomever is responsible for
     * sending the packet.
     *
     * @param net The NetworkManager the packet originated from
     * @param pkt The data packet
     */
// Client Server Sync
    @Override
    public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) {
    NBTTagCompound nbt = pkt.func_148857_g();
    numberOfFloors = nbt.getString("NumberFloors");
    numberBetweenFloors = nbt.getString("NumberBetween");
    direction = nbt.getString("Direction");
    
    for (int i = 0; i < floorX.length; i++){
    	floorX[i] = nbt.getInteger("floorX" + i);
    	floorY[i] = nbt.getInteger("floorY" + i);
    	floorZ[i] = nbt.getInteger("floorZ" + i);
    }
    this.currentFloor = nbt.getInteger("current");
    this.calledFloor = nbt.getInteger("calledfloor");
    this.performCall = nbt.getBoolean("performcall");
    this.floorCall = nbt.getBoolean("floorcall");

    }

    @Override
    public Packet getDescriptionPacket() {
    NBTTagCompound nbt = new NBTTagCompound();
    if (numberOfFloors != null){
    	nbt.setString("NumberFloors", numberOfFloors);
    }
    if (numberBetweenFloors != null){
    	nbt.setString("NumberBetween", numberBetweenFloors);
    }
    if (direction != null){
    	nbt.setString("Direction", direction);
    }
    
    for (int i = 0; i < floorX.length; i++){
    	nbt.setInteger("floorX" + i, floorX[i]);
    	nbt.setInteger("floorY" + i, floorY[i]);
    	nbt.setInteger("floorZ" + i, floorZ[i]);
    }
    nbt.setInteger("current", currentFloor);
    nbt.setInteger("calledfloor", calledFloor);
    nbt.setBoolean("performcall", performCall);
    nbt.setBoolean("floorcall", floorCall);

    return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, this.blockMetadata, nbt);
    }
    
    public Block getFloorBlock(World world){
    	Block floorBlock = Blocks.stone;
    	TileEntityCreateElevator te = (TileEntityCreateElevator) world.getTileEntity(floorX[0], floorY[0], floorZ[0]);
    	ItemStack stack = te.getStackInSlot(0);
    	if (stack != null){
		if (stack.getItem() instanceof ItemBlock){
			Item floorItem = stack.getItem();
			int meta0 = stack.getItemDamage();
			floorBlock = Block.getBlockFromItem(floorItem);
			return floorBlock;
		}
    	}
    	
    	return floorBlock;
    }
    public int getFloorBlockMeta(World world){
    	Block floorBlock = Blocks.stone;
    	TileEntityCreateElevator te = (TileEntityCreateElevator) world.getTileEntity(floorX[0], floorY[0], floorZ[0]);
    	ItemStack stack = te.getStackInSlot(0);
    	if (stack != null){
		if (stack.getItem() instanceof ItemBlock){
			Item floorItem = stack.getItem();
			int meta0 = stack.getItemDamage();
			floorBlock = Block.getBlockFromItem(floorItem);
			return meta0;
		}
    	}
    	
    	return 0;
    }
public void startCall(int meta, World world) {
	Block floorBlock = this.getFloorBlock(world);
	int floorMeta = this.getFloorBlockMeta(world);
	int currentFloor = this.getCurrent();
	int x = this.floorX[currentFloor];
	int y = this.floorY[currentFloor];
	int z = this.floorZ[currentFloor];
	//Current floor below called floor Move UP
	if (currentFloor < meta){
		for (int y2 = y; y2 != floorY[meta]; y2++){
			for (int x11 = -1; x11 <=1; x11++){
				for (int z11 = -1; z11 <=1; z11++){
					world.setBlock(x + x11, y2, z + z11, Blocks.air);
					world.setBlock(x + x11, y2 + 1, z + z11, floorBlock, floorMeta, 2);
				}
			}


		}

	}
	//Current floor above called floor Move DOWN
	if (currentFloor > meta){
		for (int y2 = y; y2 != floorY[meta]; y2--){
			for (int x11 = -1; x11 <=1; x11++){
				for (int z11 = -1; z11 <=1; z11++){
					world.setBlock(x + x11, y2, z + z11, Blocks.air);
					world.setBlock(x + x11, y2 - 1, z + z11, floorBlock, floorMeta, 2);
				}
			}


		}

	}

}

private void startFloorCall(int calledFloor2, World world) {
	int numberFloors = Integer.parseInt(numberOfFloors);
	//EntityPlayer player = this.worldObj.getClosestPlayer(this.floorX[currentFloor], this.floorY[currentFloor], this.floorZ[currentFloor], 10);
	List listPlayer = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(this.floorX[0]-2,this.floorY[0],this.floorZ[0]-2,this.floorX[numberFloors]+2,this.floorY[numberFloors]+2,this.floorZ[numberFloors]+2));
	System.out.println("List " + listPlayer);
	if (!listPlayer.isEmpty()){
		Block floorBlock = this.getFloorBlock(world);
		int floorMeta = this.getFloorBlockMeta(world);
		int currentFloor = this.getCurrent();
		int x = this.floorX[currentFloor];
		int y = this.floorY[currentFloor];
		int z = this.floorZ[currentFloor];
		//Current floor below called floor Move UP
		if (currentFloor < calledFloor2){
			for (int y2 = y; y2 != floorY[calledFloor2]; y2++){
				for (int x11 = -1; x11 <=1; x11++){
					for (int z11 = -1; z11 <=1; z11++){

						/** Need delay here
						 * 
						 * 
						 * 
						 */												
						world.setBlock(x + x11, y2, z + z11, Blocks.air);
						world.setBlock(x + x11, y2 + 1, z + z11, floorBlock, floorMeta, 2);
						for (int i = 0; i < listPlayer.size(); i++){
							EntityPlayer p = (EntityPlayer) listPlayer.get(i);
							p.setPositionAndUpdate(x + x11, y2 + 2, z + z11);
						}
						//player.setPositionAndUpdate(x + x11, y2 + 2, z + z11);

					}

				}

			}
		}
		//Current floor above called floor Move DOWN
		if (currentFloor > calledFloor2){
			for (int y2 = y; y2 != floorY[calledFloor2]; y2--){
				for (int x11 = -1; x11 <=1; x11++){
					for (int z11 = -1; z11 <=1; z11++){

						/** Need delay here
						 * 
						 * 
						 * 
						 */						
						world.setBlock(x + x11, y2, z + z11, Blocks.air);
						world.setBlock(x + x11, y2 - 1, z + z11, floorBlock, floorMeta, 2);
						for (int i = 0; i < listPlayer.size(); i++){
							EntityPlayer p = (EntityPlayer) listPlayer.get(i);
							p.setPositionAndUpdate(x + x11, y2, z + z11);
						}
						//player.setPositionAndUpdate(x + x11, y2, z + z11);

					}

				}

			}
		}
	}
}

}

Link to comment
Share on other sites

have you tried a CD int? you tried a counter loop, I think you had the right idea? or did exactly what I'm going to tell you:

 

int CD_TIME = 45;

int coolDown = CD_TIME;

 

@Override

public void updateEntity()

{

 

if (coolDown == 0)

{

coolDown = CD_TIME;

//put delayed commands in here

}

else coolDown --;

}

 

I think someone asked me why I did that and it's because some of my tile Entities have some large CPU hungry commands that they don't need to run every tick, just every now and then (to make sure things are going ok) one day I'll re-factor to something nicer and more intelligent but I just use my manual counters, since a tile Entity and other entities update every tick (that's what 100 times a second?) so the delay would be every 45 ticks. This is just my really dumb workaround. Maybe someone will come along with a better more efficient solution

Link to comment
Share on other sites

Thank you for the replies.  Between the two answers I was able to get my ServerTickHandler to work to add the delay.  However I have come to the conclusion that the jerky movement would cause too many headaches. So will do without until I can figure out 1/4 or 1/8 block steps.  Would make the movement less choppy.

Now to add Elevator music while you are in the elevator.

 

Tickhandler code

public class ServerTickHandler {

public int timer;

public ServerTickHandler(){
	this.timer = 12000;
}

@SubscribeEvent
public int onServerTick(TickEvent.ServerTickEvent event){
	timer--;
	if (timer == 0){
		timer = 12000;
	}
	return timer;
}


}

 

And what I added to the TE.

 

		ServerTickHandler handler = new ServerTickHandler();
	int tick;

						do{
							tick = handler.onServerTick(null);
						}while (tick != 1);

Link to comment
Share on other sites

Hi

 

Your tile Entity can render anywhere, so you can render it in 1/8 block steps if you want.  I imagine your lift shaft is rendered using blocks, and your elevator using the TileEntitySpecialRenderer, which gives you lots of flexibility?

 

The server doesn't need to do much - just to communicate to the client what the elevator state is (moving, to which floor, etc); the smooth movement needs to happen on the client.

 

On the client, every tick, update the elevator position based on the speed.

For example

 

float currentYpos = lastTickYPos + currentSpeedBlocksPerTick;

 

Then render the elevator at the fractional y position (and update the player position if they are inside the elevator - you will need to figure out how to temporarily ignore server updates of the player position to avoid rubber banding - I have done that before, don't remember off hand since I don't have my code to hand - let us know if you need help with that).

 

-TGG

 

 

 

 

Link to comment
Share on other sites

I was thinking about going that route.  Make the floor into a 9 block entity that mimic's the boat or minecart, then set ridable to true.  That would mean a 3rd re-write of this mod.  (and of coarse I am most likely going to do it as it would mean learning something new), but not at this time.

The first writing was with 2 tile entitys.  One for the elevator shaft and one placed upto 15 times for making the call and floor buttons. Started to be a nightmare syncing all the data between the two tile entities.

The second writing removed the second tile entity and now just places a block with meta data, and this block then calls the gui for call and floor buttons.  Everything is then stored in the one tile entity.  Made it easier to set and save each floor location during the build of the shaft.

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.