Jump to content

[1.7.10][SOLVED] GUI + Player Inventory Interaction


Arkoonius

Recommended Posts

Hello all. I would like some help with my GUI. Tutorials I see are mostly just plain code for copy/pasting and I have no idea whether if my issue is specific or not to do that. I want the player to be able to open up a GUI and click on buttons or icons to craft items. This crafting consists of checking the players inventory if it contains the necessary components, destroying them if everything exists, and directly adding the result item to the players inventory. As an example. The player clicks on the "Iron Sword" button on the GUI. The GUI checks the player's inventory that it contains a stick and 2 iron ingots. If the checks return true, a stick and 2 iron ingots are removed from the player's inventory, and the player is given an iron sword as a result.

 

The issues I'm having isn't within the drawing of the GUI, but the actual changes in the player's inventory. In order for what I want to work, I have to do things server-side as well, else everything doesn't work and gets out of sync. I have no idea how to do this, and I'm sure packet handling is required. Could any please explain, in detail, what I have to do? I would normal say "please point me in the right direction," but giving a simple link to another's tutorial, as I've experienced in the past.

 

This GUI is opened by right clicking on a specific block, but it will have no inventory of sorts (e.g. a chest) or even slots (e.g. villager trading). Just simple buttons, textures, and texts.

Link to comment
Share on other sites

The GUI checks the player's inventory that it contains a stick and 2 iron ingots

You are approaching this from wrong direction. Gui is on client side and remember that client can let the gui know exactly what it wants (hacking). So you really need to do that on server side and I would do this like this way:

 

- Player presses gui button -> onActionPerformed() get called. It sends request to server (can be your own packet or same way as item enchant is done so look for that. That request contains the name of requested item/block to craft.

 

- Server gets this requests and gets player from server side container (EntityPlayerMP#opencontainer)

- Server "scans" player inventory with for-loop and checks every slot of players inventory looking for items/blocks needed for requested crafting. Server knows needed items by getting it's recipe from GameRegistry (or was it somewhere else). It can find recipe by getting correct item for recipe with Item.getItemByName(requested item name)

- If the correct items have been found, server subtracts itemstacks on player inventory as needed.

- Now server sets requested item to slot, it can be slot in gui or in player inventory. If its in player inventory server finds first free slot with for-loop and is trying to find slot that is null. When its found then it can be set, and for cases that there is no free space left in player inventory, server can spawn item next to your block so player can pick it up.

Link to comment
Share on other sites

Just like you would do it on client side. You can set itemstacks and check player inventory on server-side same way as on client side, you just need to use server-side player (EntityPlayerMP).

The first thing you need to do is to let server know which button was pressed and this is where the packet is needed. So you need packet and handlers. There is great tutorial at http://www.minecraftforge.net/forum/index.php/topic,20135.0.html

 

When the packet is received by server, you can get EntityPlayerMP from MessageContext#getServerHandler().playerEntity and server-side container from player EntityPlayerMP#openContainer which is the container you have returned in your IGuiHandler#getServerGuiElement when player opened the gui.

Link to comment
Share on other sites

Just like you would do it on client side. You can set itemstacks and check player inventory on server-side same way as on client side, you just need to use server-side player (EntityPlayerMP).

The first thing you need to do is to let server know which button was pressed and this is where the packet is needed. So you need packet and handlers. There is great tutorial at http://www.minecraftforge.net/forum/index.php/topic,20135.0.html

 

When the packet is received by server, you can get EntityPlayerMP from MessageContext#getServerHandler().playerEntity and server-side container from player EntityPlayerMP#openContainer which is the container you have returned in your IGuiHandler#getServerGuiElement when player opened the gui.

 

Alright. So on button press send a packet to the server and when that is received I can make use of EntityPlayerMP. I can make sense to that, but I'm confused about after that as I have yet to work with containers. From what I understand by reading on the wiki (and please correct me if I'm interpreting this incorrectly), a Container allows interaction between player and TileEntity inventories via GUIs, and TileEntities are simply blocks that can hold extra data beyond just plain metadata (inventory and such). So what I'm thinking what needs to be done is connect the player's inventory with the TileEntity and that TileEntity with the container. Then from there I can mess around with the inventory as needed. But then again, isn't that all serverside? Unless this method has some auto-syncing in the background, I'm seeing this to cause sync issues between server and client player inventories.

Link to comment
Share on other sites

Here's how I think of Guis on a high level, which might help.

 

Most Guis have 2 parts: something that extends GuiContainer and something that extends Container. The GuiContainer is on the client side, so it should handle all of the drawing. The Container is on the server side, so it should handle all of the logic. These two components are "registered" using the getClientGuiElement/getServerGuiElement methods.

 

When you're instantiating your GuiContainer and Container, you should pass the tile entity to both of them, and also the player inventory if needed.

 

So it's more accurate to say that you "connect" the Container to both the player inventory and the tile entity. However, you don't connect the tile entity to the player inventory, since the Container acts like a "mediator" between the two. (For example, the Container can "take" something from the player's inventory and "put it into" the tile entity's inventory.)

 

Since the GuiContainer also has the reference to the player inventory and tile entity, it automatically knows whenever the player inventory or tile entity changes. (The client/server things are done under the hood, so it's sufficient to just say that it magically works.)

Link to comment
Share on other sites

Thanks for the help you two. I've managed to make some form of progress. Upon opening up the player's inventory, I'm able to give the player an item. Sorta... every time I bring up the GUI the game crashes and I'm left with a TickingMemoryException and NullPointerException within the console. Wiki and forge source documentation is unhelpful due to them being barren in terms of comments and relevant argument names. Though I DO have the item in my inventory when I start the game back up.

 

So how exactly do I properly make changes to the player's inventory within the Container?

Link to comment
Share on other sites

If you use Eclipse, you can set a breakpoint on the line of code where it crashes (look in your error log/stack trace for the exact line). Then you can run Minecraft in debug mode, and it'll pause right before executing that line. When it pauses, you can check the values of all variables by hovering over them.

 

I'm not 100% sure, but your null pointer probably isn't relevant to the actual problem. (It's more likely that you actually solved your problem, but a small mistake somewhere causes a null pointer which crashes the game.)

Link to comment
Share on other sites

Well, let's first ask this question: am I doing anything wrong in the first place?

 

Here's the relevant code:

[spoiler=TestGui.java]

public class TestGui extends GuiContainer
{

int bgWidth = 256;
int bgHeight = 145;

//calc positions to place gui in middle of screen
int guiXPos = 0;
int guiYPos = 0;

int buttonWidth = 40;
int buttonHeight = 20;

GuiButton btnBalls;

boolean mousedOver = false;

//for drawing buttons and other GUI elements, keep everything in one image file and work with it
//as if you would with a sprite sheet (see drawTexturedModalRect comment)

public TestGui(InventoryPlayer inv) 
{
	super(new TestGuiContainer(inv));
}

@Override
public void initGui()
{
	guiXPos = (width - bgWidth) / 2;
	guiYPos = (height - bgHeight) / 2;

	buttonList.clear();
	//add button                           id      xPos        yPos      width height text
	buttonList.add(btnBalls = new GuiButton(0, guiXPos + 10, guiYPos + 70, 40, 20, "Things"));

	super.initGui();
}

@Override
public void actionPerformed(GuiButton button)
{
	switch (button.id)
	{
	case 0:
		button.displayString = "Butts";
	}

	super.actionPerformed(button);
}

@Override
public void keyTyped(char what, int keyCode)
{
	switch (keyCode)
	{
	case Keyboard.KEY_E:
		mc.displayGuiScreen(null);
	}

	super.keyTyped(what, keyCode);
}

@Override
public void mouseClicked(int x, int y, int mouseButton)
{
	if (mouseOver(x, y, guiXPos + 10, guiYPos + 50, buttonHeight, buttonWidth))
	{
		mousedOver = true;
	}
	else mousedOver = false;

	super.mouseClicked(x, y, mouseButton);
}

public boolean mouseOver(int mouseX, int mouseY, int posX, int posY, int height, int width)
{
	if ((mouseX >= posX) & (mouseY >= posY))
	{
		if ((mouseX <= (posX + width)) & (mouseY <= (posY + height)))
		{
			return true;
		}
	}

	return false;
}

@Override
protected void drawGuiContainerBackgroundLayer(float arg0, int arg1, int arg2) 
{
	guiXPos = (width - bgWidth) / 2;
	guiYPos = (height - bgHeight) / 2;

	GL11.glColor4f(1.f, 1.f, 1.f, 1.f); //RGBA
	drawDefaultBackground();
	mc.renderEngine.bindTexture(new ResourceLocation("runeblock", "textures/gui/CraftingGuiBackground.png")); //bind GUI texture
	//drawing GUI background
	drawTexturedModalRect(guiXPos, guiYPos, 0, 0, bgWidth, bgHeight); //0s are starting position with texture to draw (think sprite sheets)

	if (!mousedOver) drawTexturedModalRect(guiXPos + 10, guiYPos + 50, 0, bgHeight, buttonWidth, buttonHeight);
	else drawTexturedModalRect(guiXPos + 10, guiYPos + 50, 0, bgHeight + buttonHeight, buttonWidth, buttonHeight);
}

@Override
protected void drawGuiContainerForegroundLayer(int arg1, int arg2)
{
	fontRendererObj.drawString("Things", guiXPos + 10, guiYPos + 10, 0x000000); //last arg is hex for color
}

}

 

 

[spoiler=TestGuiContainer.java]

public class TestGuiContainer extends Container
{
InventoryPlayer playerInv;

public TestGuiContainer(InventoryPlayer inv)
{
	inv.mainInventory[3] = new ItemStack(RBItems.runiteOre, 1);
}


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

 

 

Perhaps not relevant, but I'll include these as well.

[spoiler=GuiHandler.java]

public class GuiHandler implements IGuiHandler
{

@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) 
{
	switch (ID)
	{
	case 0: return new TestGui(player.inventory);
	}

	return null;
}

@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) 
{
	switch (ID)
	{
	case 0: return new TestGuiContainer(player.inventory);
	}

	return null;
}

}

 

 

And this is how I'm opening the GUI

[spoiler=GoldBar.java]

public class GoldBar extends Item
{
public GoldBar()
{
	setMaxStackSize(1);
	setCreativeTab(runeBlock.lib.ModInfo.runeBlockTab);
	setUnlocalizedName("goldBar");
	setTextureName("runeblock:GoldBar");
}

@Override
public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z,
            int par7, float par8, float par9, float par10)
{
	player.openGui(RuneBlock.instance, 0, world, x, y, z);
	return false;
}	

}

 

Link to comment
Share on other sites

Here's the log starting from me joining the game.

 

[18:44:14] [server thread/INFO]: Player680 joined the game
[18:44:14] [server thread/INFO]: [runeBlock.network.ServerPacket:sendPacketToClient:46]: sending packet to client
[18:44:14] [Client thread/INFO]: [Client thread] Client side modded connection established
[18:44:14] [Client thread/INFO]: [runeBlock.network.ClientPacketHandler:onClientPacket:23]: packet received
[18:44:14] [server thread/INFO]: Saving and pausing game...
[18:44:14] [server thread/INFO]: Saving chunks for level 'New World'/Overworld
[18:44:14] [server thread/INFO]: Saving chunks for level 'New World'/Nether
[18:44:14] [server thread/INFO]: Saving chunks for level 'New World'/The End
[18:44:17] [server thread/ERROR]: Encountered an unexpected exception
net.minecraft.util.ReportedException: Ticking memory connection
at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:181) ~[NetworkSystem.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:659) ~[MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:547) ~[MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:111) ~[integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [MinecraftServer$2.class:?]
Caused by: java.lang.NullPointerException
at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:620) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(SourceFile:60) ~[C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(SourceFile:9) ~[C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:212) ~[NetworkManager.class:?]
at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:165) ~[NetworkSystem.class:?]
... 5 more
[18:44:17] [server thread/ERROR]: This crash report has been saved to: C:\Users\Owner\Desktop\my mc mods\RuneBlock\eclipse\.\crash-reports\crash-2015-01-08_18.44.17-server.txt
[18:44:17] [server thread/INFO]: Stopping server
[18:44:17] [server thread/INFO]: Saving players
[18:44:17] [server thread/INFO]: Saving worlds
[18:44:17] [server thread/INFO]: Saving chunks for level 'New World'/Overworld
[18:44:17] [Client thread/INFO]: [net.minecraft.client.Minecraft:displayCrashReport:349]: ---- Minecraft Crash Report ----
// You're mean.

Time: 1/8/15 6:44 PM
Description: Ticking memory connection

java.lang.NullPointerException: Ticking memory connection
at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:620)
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(SourceFile:60)
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(SourceFile:9)
at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:212)
at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:165)
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:659)
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:547)
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:111)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:620)
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(SourceFile:60)
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(SourceFile:9)
at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:212)

-- Ticking connection --
Details:
Connection: net.minecraft.network.NetworkManager@203ab1e1
Stacktrace:
at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:165)
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:659)
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:547)
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:111)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.7.0_51, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 862425928 bytes (822 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.05 FML v7.10.85.1230 Minecraft Forge 10.13.2.1230 4 mods loaded, 4 mods active
mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
FML{7.10.85.1230} [Forge Mod Loader] (forgeBin-1.7.10-10.13.2.1230.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forge{10.13.2.1230} [Minecraft Forge] (forgeBin-1.7.10-10.13.2.1230.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Ark_RuneBlock{v0.1} [RuneBlock] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Player Count: 1 / 8; [EntityPlayerMP['Player680'/183, l='New World', x=286.37, y=4.00, z=-1259.41]]
Type: Integrated Server (map_client.txt)
Is Modded: Definitely; Client brand changed to 'fml,forge'
[18:44:17] [Client thread/INFO]: [net.minecraft.client.Minecraft:displayCrashReport:354]: #@!@# Game crashed! Crash report saved to: #@!@# .\crash-reports\crash-2015-01-08_18.44.17-server.txt
[18:44:17] [Client thread/INFO]: Waiting for the server to terminate/save.
[18:44:17] [server thread/INFO]: Saving chunks for level 'New World'/Nether
[18:44:17] [server thread/INFO]: Saving chunks for level 'New World'/The End
[18:44:17] [server thread/INFO]: Unloading dimension 0
[18:44:17] [server thread/INFO]: Unloading dimension -1
[18:44:17] [server thread/INFO]: Unloading dimension 1
[18:44:17] [server thread/INFO]: Applying holder lookups
[18:44:17] [server thread/INFO]: Holder lookups applied
[18:44:17] [server thread/INFO]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded.
[18:44:17] [Client thread/INFO]: Server terminated.
AL lib: (EE) alc_cleanup: 1 device not closed

 

I tried debugging, but it doesn't crash during debug if I put a breakpoint on the the Container being instantiated and then stepping through the code line by line. Going into debug mode and having the code run it's course without any breakpoints still crashes the game, however.

Link to comment
Share on other sites

If you step through all the breakpoints, it should crash. You probably just didn't step through enough. If there's a breakpoint on a line, the program pauses before executing that line.

 

I would look here:

Caused by: java.lang.NullPointerException
at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:620) ~[NetHandlerPlayServer.class:?]

 

Go into the NetHandlerPlayServer class, and put breakpoints around line 620, on every line inside the

processPlayerBlockPlacement()

method.

Link to comment
Share on other sites

Alright. I figured out the issue and the GUI opens/closes without crashing as well as giving the player an item when opened.

 

Final thing: buttons. Making changes to the GUI client side when a button is pressed is easy enough, but how to detect a button press server side? Need to make a button press detectable by the container so that, upon button press, the container can handle giving the player an item. Packets are needed I'm sure, so I got started on that. Once I was nearly done for testing, I realized I had no idea how to "connect" the server side packet and the container.

Link to comment
Share on other sites

On the server when you receive the packet it gives you the player so you can get the container from player.openContainer.

 

Remember to use null checks

Could you elaborate more on those? I've never done this and trying to learn how to, so I'm going to need it more spelled out than the average guy.

 

Well. It doesn't seem I actually need access to the container. As soon as the packet is received (previously sent by clicking a button), I can just add items to the EntityPlayerMP's inventory no problem. EDIT:: Thought this was working, but the inventory gets unsync'd. Figured as much to begin with.

 

I asked about getting access to the container because I figured I would put whatever logic there to handle adding/removing items and just call the functions to do so from the container itself.

Link to comment
Share on other sites

Alright. I figured out the issue and the GUI opens/closes without crashing as well as giving the player an item when opened.

 

Final thing: buttons. Making changes to the GUI client side when a button is pressed is easy enough, but how to detect a button press server side? Need to make a button press detectable by the container so that, upon button press, the container can handle giving the player an item. Packets are needed I'm sure, so I got started on that. Once I was nearly done for testing, I realized I had no idea how to "connect" the server side packet and the container.

 

-> Server gets packet (that has pressed button ID for example)

-> Packet has MessageContext ctx, so ctx.getServerHandler().playerEntity gives you server-side player (EntityPlayerMP)

-> playerEntity.openContainer gives you container you have defined in your IGuiHandler (getClientGuiElement you returned GuiContainer for client-side and getServerGuiElement Container for server-side)

-> You can set ItemStack to player inventory by getting player's inventory either from Container (if you have passed InventoryPlayer as an argument when constructing Container for server in IGuiHandler, that would be easiest because InventoryPlayer has good methods for handling player's inventory) or from EntityPlayerMP#getInventory() (which returns inventory as ItemStack array).

Link to comment
Share on other sites

Alright. I figured out the issue and the GUI opens/closes without crashing as well as giving the player an item when opened.

 

Final thing: buttons. Making changes to the GUI client side when a button is pressed is easy enough, but how to detect a button press server side? Need to make a button press detectable by the container so that, upon button press, the container can handle giving the player an item. Packets are needed I'm sure, so I got started on that. Once I was nearly done for testing, I realized I had no idea how to "connect" the server side packet and the container.

 

-> Server gets packet (that has pressed button ID for example)

-> Packet has MessageContext ctx, so ctx.getServerHandler().playerEntity gives you server-side player (EntityPlayerMP)

-> playerEntity.openContainer gives you container you have defined in your IGuiHandler (getClientGuiElement you returned GuiContainer for client-side and getServerGuiElement Container for server-side)

-> You can set ItemStack to player inventory by getting player's inventory either from Container (if you have passed InventoryPlayer as an argument when constructing Container for server in IGuiHandler, that would be easiest because InventoryPlayer has good methods for handling player's inventory) or from EntityPlayerMP#getInventory() (which returns inventory as ItemStack array).

 

I am passing InventoryPlayer into the constructor, but I can't access it via player.openContainer.

public InventoryPlayer playerInv;

public TestGuiContainer(InventoryPlayer inv)
{
playerInv = inv;
}

Link to comment
Share on other sites

You should pass it into the constructor of your Container, not GuiContainer(which is on the client-side).

So in IGuiHandler#getServerGuiElement when you return new Container for server, you'll pass InventoryPlayer (I think you can get it from EntityPlayer#inventory) to your Container constructor.

 

 

Link to comment
Share on other sites

You should pass it into the constructor of your Container, not GuiContainer(which is on the client-side).

So in IGuiHandler#getServerGuiElement when you return new Container for server, you'll pass InventoryPlayer (I think you can get it from EntityPlayer#inventory) to your Container constructor.

 

Rofl, sorry. I get lazy with naming when I'm simply trying to figure things out. TestGuiContainer IS the container, while TestGui is the GuiContainer.

 

public class TestGuiContainer extends Container
{
public InventoryPlayer playerInv;

public TestGuiContainer(InventoryPlayer inv)
{
	playerInv = inv;
}

public void giveOre()
{
	for (int i = 0; i < playerInv.mainInventory.length; i++)
	{
		if (playerInv.mainInventory[i] == null) 
		{
			playerInv.mainInventory[i] = new ItemStack(RBItems.runiteOre, 1);
			break;
		}
	}
}

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

 

public class TestGui extends GuiContainer
{

int bgWidth = 256;
int bgHeight = 145;

//calc positions to place gui in middle of screen
int guiXPos = 0;
int guiYPos = 0;

int buttonWidth = 40;
int buttonHeight = 20;

GuiButton btnBalls;

boolean mousedOver = false;

//for drawing buttons and other GUI elements, keep everything in one image file and work with it
//as if you would with a sprite sheet (see drawTexturedModalRect comment)

public TestGui(InventoryPlayer inv) 
{
	super(new TestGuiContainer(inv));
}

@Override
public void initGui()
{
	guiXPos = (width - bgWidth) / 2;
	guiYPos = (height - bgHeight) / 2;

	buttonList.clear();
	//add button                           id      xPos        yPos      width height text
	buttonList.add(btnBalls = new GuiButton(0, guiXPos + 10, guiYPos + 70, 40, 20, "Things"));

	super.initGui();
}

@Override
public void actionPerformed(GuiButton button)
{
	switch (button.id)
	{
	case 0:
		button.displayString = "Butts";
		ClientPacket.createGuiPacket("gui");
	}

	super.actionPerformed(button);
}

@Override
public void keyTyped(char what, int keyCode)
{
	switch (keyCode)
	{
	case Keyboard.KEY_E:
		mc.displayGuiScreen(null);
	}

	super.keyTyped(what, keyCode);
}

@Override
public void mouseClicked(int x, int y, int mouseButton)
{
	if (mouseOver(x, y, guiXPos + 10, guiYPos + 50, buttonHeight, buttonWidth))
	{
		mousedOver = true;
	}
	else mousedOver = false;

	super.mouseClicked(x, y, mouseButton);
}

public boolean mouseOver(int mouseX, int mouseY, int posX, int posY, int height, int width)
{
	if ((mouseX >= posX) & (mouseY >= posY))
	{
		if ((mouseX <= (posX + width)) & (mouseY <= (posY + height)))
		{
			return true;
		}
	}

	return false;
}

@Override
protected void drawGuiContainerBackgroundLayer(float arg0, int arg1, int arg2) 
{
	guiXPos = (width - bgWidth) / 2;
	guiYPos = (height - bgHeight) / 2;

	GL11.glColor4f(1.f, 1.f, 1.f, 1.f); //RGBA
	drawDefaultBackground();
	mc.renderEngine.bindTexture(new ResourceLocation("runeblock", "textures/gui/CraftingGuiBackground.png")); //bind GUI texture
	//drawing GUI background
	drawTexturedModalRect(guiXPos, guiYPos, 0, 0, bgWidth, bgHeight); //0s are starting position with texture to draw (think sprite sheets)

	if (!mousedOver) drawTexturedModalRect(guiXPos + 10, guiYPos + 50, 0, bgHeight, buttonWidth, buttonHeight);
	else drawTexturedModalRect(guiXPos + 10, guiYPos + 50, 0, bgHeight + buttonHeight, buttonWidth, buttonHeight);
}

@Override
protected void drawGuiContainerForegroundLayer(int arg1, int arg2)
{
	fontRendererObj.drawString("Things", guiXPos + 10, guiYPos + 10, 0x000000); //last arg is hex for color
}

}

 

public class GuiHandler implements IGuiHandler
{

@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) 
{
	switch (ID)
	{
	case 0: return new TestGui(player.inventory);
	}

	return null;
}

@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) 
{
	switch (ID)
	{
	case 0: return new TestGuiContainer(player.inventory);
	}

	return null;
}

 

That's everything directly relevant to my GUI. Once I get this figured (with your help), I'll be making the class names less confusing along with actually putting comments within the code.

Link to comment
Share on other sites

ClientPacket.createGuiPacket("gui");

 

Does this method send a packet to the server, or does it just create one?

If not, this is where you'd want to send your packet to the server. You'd probably also want to include information about the player and tile entity in the packet too.

 

It does both. And no tile entities are used because, as far as I'm concerned, they aren't needed.

 

The packet is getting received and the player is getting the item, but the inventories between client and server are unsync'd. In order to see the results, I have to click on the slots to update my inventory on the client. I recorded a quick video to show it visually.

 

Link to comment
Share on other sites

I might be completely wrong and not understand what you're trying to do.

 

In your class that extends GuiContainer, you pass the InventoryPlayer in your constructor. Save it as a field and change the slots when you click on the button.

I'm not sure if the changes get synced between client and gui, but you could try... :3

Link to comment
Share on other sites

You could try IInventory#setInventorySlotContents(int, ItemStack) and then IInventory#markDirty

Not sure if that would do the trick and I cannot check from my own sources how I did that syncing right now, but I can check next time when I'm back. But anyway, let me know if it doesn't work.

Link to comment
Share on other sites

I might be completely wrong and not understand what you're trying to do.

 

In your class that extends GuiContainer, you pass the InventoryPlayer in your constructor. Save it as a field and change the slots when you click on the button.

I'm not sure if the changes get synced between client and gui, but you could try... :3

 

facepalm.jpg

 

Yep. That fixed it. Thanks everyone! I'll hopefully be able to take it from here, unless someone else has something they'd like to input to help me out.

Link to comment
Share on other sites

Join the conversation

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

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

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hi, I'm trying to use datagen to create json files in my own mod. This is my ModRecipeProvider class. public class ModRecipeProvider extends RecipeProvider implements IConditionBuilder { public ModRecipeProvider(PackOutput pOutput) { super(pOutput); } @Override protected void buildRecipes(Consumer<FinishedRecipe> pWriter) { ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModBlocks.COMPRESSED_DIAMOND_BLOCK.get()) .pattern("SSS") .pattern("SSS") .pattern("SSS") .define('S', ModItems.COMPRESSED_DIAMOND.get()) .unlockedBy(getHasName(ModItems.COMPRESSED_DIAMOND.get()), has(ModItems.COMPRESSED_DIAMOND.get())) .save(pWriter); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ModItems.COMPRESSED_DIAMOND.get(),9) .requires(ModBlocks.COMPRESSED_DIAMOND_BLOCK.get()) .unlockedBy(getHasName(ModBlocks.COMPRESSED_DIAMOND_BLOCK.get()), has(ModBlocks.COMPRESSED_DIAMOND_BLOCK.get())) .save(pWriter); ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.COMPRESSED_DIAMOND.get()) .pattern("SSS") .pattern("SSS") .pattern("SSS") .define('S', Blocks.DIAMOND_BLOCK) .unlockedBy(getHasName(ModItems.COMPRESSED_DIAMOND.get()), has(ModItems.COMPRESSED_DIAMOND.get())) .save(pWriter); } } When I try to run the runData client, it shows an error:  Caused by: java.lang.IllegalStateException: Duplicate recipe compressed:compressed_diamond I know that it's caused by the fact that there are two recipes for the ModItems.COMPRESSED_DIAMOND. But I need both of these recipes, because I need a way to craft ModItems.COMPRESSED_DIAMOND_BLOCK and restore 9 diamond blocks from ModItems.COMPRESSED_DIAMOND. Is there a way to solve this?
    • what's wrong here? info: [2024-05-08T11:50:59Z DEBUG rust_launcher::downloader] Downloading https://game-launcher.feathermc.com/release/version_index.json to C:\Users\Dell\AppData\Roaming\.minecraft\version_index.json... info: [2024-05-08T11:50:59Z DEBUG rust_launcher::downloader] Download from https://game-launcher.feathermc.com/release/version_index.json to C:\Users\Dell\AppData\Roaming\.minecraft\version_index.json completed. info: [2024-05-08T11:51:04Z ERROR rust_launcher::start::drm] Error while getting NTP time: Próba połączenia nie powiodła się, ponieważ połączona strona nie odpowiedziała poprawnie po ustalonym okresie czasu lub utworzone połączenie nie powiodło się, ponieważ połączony host nie odpowiedział. (os error 10060) info: CONNECTING TO SERVER undefined info: [2024-05-08T11:51:04Z INFO  rust_launcher::start::bindings] server: None info: [2024-05-08T11:51:04Z INFO  rust_launcher::start] Loading version info: {"versionSize":221968648,"state":{"VersionLoading":true},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":0} info: [2024-05-08T11:51:04Z INFO  rust_launcher::start] Finished loading version info: [2024-05-08T11:51:04Z INFO  rust_launcher::start] Finished moving mods info: [2024-05-08T11:51:04Z INFO  rust_launcher::start] Preparing assets [2024-05-08T11:51:04Z INFO  rust_launcher::start] Preparing JRE info: {"versionSize":221968648,"state":{"Downloading":["Assets","Mods","Jre","Libraries"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":75483} info: [2024-05-08T11:51:04Z DEBUG rust_launcher::start] Finished preparing JRE [2024-05-08T11:51:04Z INFO  rust_launcher::start] Preparing libraries info: [2024-05-08T11:51:04Z INFO  rust_launcher::start] Preparing mods [2024-05-08T11:51:04Z INFO  rust_launcher::start] Finished preparing mods info: {"versionSize":221968648,"state":{"Downloading":["Assets","Mods","Libraries"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":43223364} info: {"versionSize":221968648,"state":{"Downloading":["Assets","Libraries"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":43223364} info: {"versionSize":221968648,"state":{"Downloading":["Assets","Libraries"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":132324388} info: {"versionSize":221968648,"state":{"Downloading":["Assets","Libraries"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":361246457} info: [2024-05-08T11:51:07Z INFO  rust_launcher::start] Finished preparing libraries info: {"versionSize":221968648,"state":{"Downloading":["Assets"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":628395692} info: {"versionSize":221968648,"state":{"Downloading":["Assets"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":653786583} info: {"versionSize":221968648,"state":{"Downloading":["Assets"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":678407583} info: {"versionSize":221968648,"state":{"Downloading":["Assets"]},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":703052935} info: [2024-05-08T11:51:10Z INFO  rust_launcher::start] Finished preparing assets [2024-05-08T11:51:10Z INFO  rust_launcher::start] Preparing registry info: {"versionSize":221968648,"state":{"Jvm":true},"currentDownloadRate":0,"expectedTasks":6,"downloadSpeed":0,"downloaded":800814091} info: [2024-05-08T11:51:10Z INFO  rust_launcher::start] Finished preparing registry info: [2024-05-08T11:51:10Z INFO  rust_launcher::common::launch] starting JVM with arguments: ["-Djava.library.path=libraries/native\\net/digitalingot/fcef-windows/0.0.9\\extracted/;libraries/native\\net/digitalingot/fwebp-windows/0.0.2\\extracted/;libraries/native\\net/digitalingot/favif-windows/0.0.1\\extracted/;libraries/native\\com/discord/discord-game-sdk/3.2.1\\extracted/;libraries/native\\net/digitalingot/fdiscord/0.0.1\\extracted/;libraries/native\\net/digitalingot/fjni/0.0.1\\extracted/;libraries/native\\org/jitsi/jnopus/1.0\\extracted/;libraries/native\\org/lwjgl/lwjgl/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-jemalloc/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-openal/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-opengl/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-glfw/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-stb/3.3.1\\extracted/;libraries/native\\org/lwjgl/lwjgl-tinyfd/3.3.1\\extracted/;libraries/native\\com/mojang/text2speech/1.13.9\\extracted/", "--add-opens=java.desktop/java.awt.event=ALL-UNNAMED", "--add-opens=java.desktop/java.awt.color=ALL-UNNAMED", "--add-opens=java.desktop/java.awt=ALL-UNNAMED", "--add-opens=java.base/java.lang=ALL-UNNAMED", "-Xmx4474M", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseG1GC", "-XX:G1NewSizePercent=20", "-XX:G1ReservePercent=20", "-XX:MaxGCPauseMillis=50", "-XX:G1HeapRegionSize=32M", "-Dlog4j2.formatMsgNoLookups=true", "-XX:ErrorFile=feather/java_error.log", "-Djavax.accessibility.assistive_technologies=", "-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT", "-cp", "libraries\\java\\net/minecraft/client/1.19.2/minecraft-1.19.2.jar;libraries\\java\\net/fabricmc/sponge-mixin/0.13.4+mixin.0.8.5/sponge-mixin-0.13.4+mixin.0.8.5.jar;libraries\\java\\org/ow2/asm/asm/9.6/asm-9.6.jar;libraries\\java\\org/ow2/asm/asm-analysis/9.6/asm-analysis-9.6.jar;libraries\\java\\org/ow2/asm/asm-commons/9.6/asm-commons-9.6.jar;libraries\\java\\org/ow2/asm/asm-tree/9.6/asm-tree-9.6.jar;libraries\\java\\org/ow2/asm/asm-util/9.6/asm-util-9.6.jar;libraries\\java\\net/fabricmc/intermediary/1.19.2/intermediary-1.19.2.jar;libraries/java\\net/fabricmc/fabric-loader/0.15.11/fabric-loader-0.15.11.jar;libraries\\java\\de/javagl/obj/0.3.0/obj-0.3.0.jar;libraries\\java\\net/digitalingot/fjni/0.0.1/fjni-0.0.1.jar;libraries\\java\\net/digitalingot/fdiscord/0.0.1/fdiscord-0.0.1.jar;libraries\\java\\software/bernie/geckolib/geckolib-fabric-1.19-3.5.0.jar;libraries\\java\\net/digitalingot/rust-extension/1.0.7/rust-extension-1.0.7.jar;libraries\\java\\net/digitalingot/fcef/0.0.6/fcef-0.0.6.jar;libraries\\java\\net/digitalingot/fwebp/0.0.1/fwebp-0.0.1.jar;libraries\\java\\net/digitalingot/favif/0.0.1/favif-0.0.1.jar;libraries\\java\\org/joml/joml/1.10.5/joml-1.10.5.jar;libraries\\java\\net/digitalingot/feather-server-api/messaging/0.0.4/messaging-0.0.4-SNAPSHOT.jar;libraries\\java\\org/jitsi/libjitsi/1.0-CUSTOM/libjitsi-1.0-CUSTOM.jar;libraries\\java\\org/jitsi/jitsi-utils/1.0-45-gc3afb76/jitsi-utils-1.0-45-gc3afb76.jar;libraries\\java\\org/capnproto/runtime/0.1.10/runtime-0.1.10.jar;libraries\\java\\com/google/inject/guice/5.1.0/guice-vendored-5.1.0.jar;libraries\\java\\javassist/javassist/3.12.1.GA/javassist-3.12.1.GA.jar;libraries\\java\\com/mojang/logging/1.0.0/logging-1.0.0.jar;libraries\\java\\com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar;libraries\\java\\com/mojang/patchy/2.2.10/patchy-2.2.10.jar;libraries\\java\\com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar;libraries\\java\\net/java/dev/jna/jna/5.10.0/jna-5.10.0.jar;libraries\\java\\net/java/dev/jna/jna-platform/5.10.0/jna-platform-5.10.0.jar;libraries\\java\\org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar;libraries\\java\\org/apache/logging/log4j/log4j-slf4j18-impl/2.17.0/log4j-slf4j18-impl-2.17.0.jar;libraries\\java\\com/ibm/icu/icu4j/70.1/icu4j-70.1.jar;libraries\\java\\com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar;libraries\\java\\net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar;libraries\\java\\io/netty/netty-codec-http/4.1.76.Final/netty-codec-http-4.1.76.Final.jar;libraries\\java\\io/netty/netty-common/4.1.76.Final/netty-common-4.1.76.Final.jar;libraries\\java\\io/netty/netty-buffer/4.1.76.Final/netty-buffer-4.1.76.Final.jar;libraries\\java\\io/netty/netty-codec/4.1.76.Final/netty-codec-4.1.76.Final.jar;libraries\\java\\io/netty/netty-handler/4.1.76.Final/netty-handler-4.1.76.Final.jar;libraries\\java\\io/netty/netty-resolver/4.1.76.Final/netty-resolver-4.1.76.Final.jar;libraries\\java\\io/netty/netty-transport/4.1.76.Final/netty-transport-4.1.76.Final.jar;libraries\\java\\io/netty/netty-transport-native-unix-common/4.1.76.Final/netty-transport-native-unix-common-4.1.76.Final.jar;libraries\\java\\io/netty/netty-transport-classes-epoll/4.1.76.Final/netty-transport-classes-epoll-4.1.76.Final.jar;libraries\\java\\com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar;libraries\\java\\com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar;libraries\\java\\org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar;libraries\\java\\commons-io/commons-io/2.11.0/commons-io-2.11.0.jar;libraries\\java\\commons-codec/commons-codec/1.15/commons-codec-1.15.jar;libraries\\java\\com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar;libraries\\java\\com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar;libraries\\java\\com/google/code/gson/gson/2.8.9/gson-2.8.9.jar;libraries\\java\\com/mojang/authlib/3.11.49/authlib-3.11.49.jar;libraries\\java\\org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar;libraries\\java\\org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar;libraries\\java\\commons-logging/commons-logging/1.2/commons-logging-1.2.jar;libraries\\java\\org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar;libraries\\java\\it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar;libraries\\java\\org/apache/logging/log4j/log4j-api/2.17.0/log4j-api-2.17.0.jar;libraries\\java\\org/apache/logging/log4j/log4j-core/2.17.0/log4j-core-2.17.0.jar;libraries\\java\\org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar;libraries\\java\\org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar;libraries\\java\\com/mojang/text2speech/1.13.9/text2speech-1.13.9.jar", "-DFabricMcEmu= net.minecraft.client.main.Main ", "net.digitalingot.rustextension.ProxiedStart", "net.fabricmc.loader.launch.knot.KnotClient", "--username", "yeeeat", "--version", "1.19.2-feather", "--gameDir", "C:\\Users\\Dell\\AppData\\Roaming/.minecraft", "--assetsDir", "assets", "--assetIndex", "1.19-feather-game", "--uuid", "4820f9fb67c34cb6927e80e8a03a21c6", "--accessToken", "<hidden>", "--userType", "msa", "--versionType", "feather"] info: sending javaw pid info: starting cleanup info: [13:51:11] [main/INFO]: Loading Minecraft 1.19.2 with Fabric Loader 0.15.11 info: [13:51:12] [ForkJoinPool-1-worker-2/WARN]: Mod feather uses the version release/756b8dc6 which isn't compatible with Loader's extended semantic version format (Could not parse version number component 'release/756b8dc6'!), SemVer is recommended for reliably evaluating dependencies and prioritizing newer version info: [13:51:12] [main/INFO]: Loading 126 mods:     - appleskin 2.4.1+mc1.19     - architectury 6.5.85     - betterhurtcam 1.3.3+mc1.19.2     - boostedbrightness 2.1.2     - clearhitboxes 1.2     - cloth-config 8.2.88        \-- cloth-basic-math 0.6.1     - cmdkeybind 1.6.0-1.19        \-- kyrptconfig 1.4.14-1.19     - collective 6.61     - completeconfig 2.1.0        |-- coat 1.0.0-beta.19+mc22w17a        |-- completeconfig-base 2.1.0        |-- completeconfig-gui-cloth 2.1.0        |-- completeconfig-gui-coat 2.1.0        \-- completeconfig-gui-yacl 2.1.0     - cull-less-leaves 1.0.6        \-- conditional-mixin 0.3.0     - custom_hud 3.0.0+1.19.2     - darkkore 0.3.1-1.19        |-- com_electronwill_night-config_core 3.6.5        |-- com_electronwill_night-config_json 3.6.5        |-- com_electronwill_night-config_toml 3.6.5        |-- com_github_darkkronicle_konstruct_addons 2.0.3-build1        \-- com_github_darkkronicle_konstruct_core 2.0.3-build1     - debugify 2.8.0     - entitycollisionfpsfix 2.0.0.0     - entityculling 1.6.1-mc1.19.2     - exordium 1.0.2-mc1.19.2     - fabric-api 0.76.1+1.19.2        |-- fabric-api-base 0.4.15+8f4e8eb390        |-- fabric-api-lookup-api-v1 1.6.14+93d8cb8290        |-- fabric-biome-api-v1 9.1.1+16f1e31390        |-- fabric-block-api-v1 1.0.2+e415d50e90        |-- fabric-blockrenderlayer-v1 1.1.25+cafc6e8e90        |-- fabric-client-tags-api-v1 1.0.5+b35fea8390        |-- fabric-command-api-v1 1.2.16+f71b366f90        |-- fabric-command-api-v2 2.2.1+413cbbc790        |-- fabric-commands-v0 0.2.33+df3654b390        |-- fabric-containers-v0 0.1.42+df3654b390        |-- fabric-content-registries-v0 3.5.2+7c6cd14d90        |-- fabric-convention-tags-v1 1.3.0+4bc6e26290        |-- fabric-crash-report-info-v1 0.2.8+aeb40ebe90        |-- fabric-data-generation-api-v1 5.3.9+413cbbc790        |-- fabric-dimensions-v1 2.1.35+0d0f210290        |-- fabric-entity-events-v1 1.5.4+9244241690        |-- fabric-events-interaction-v0 0.4.34+562bff6e90        |-- fabric-events-lifecycle-v0 0.2.36+df3654b390        |-- fabric-game-rule-api-v1 1.0.24+b6b6abb490        |-- fabric-item-api-v1 1.6.6+b7d1888890        |-- fabric-item-groups-v0 0.3.39+9244241690        |-- fabric-key-binding-api-v1 1.0.25+5c4fce2890        |-- fabric-keybindings-v0 0.2.23+df3654b390        |-- fabric-lifecycle-events-v1 2.2.4+1b46dc7890        |-- fabric-loot-api-v2 1.1.13+83a8659290        |-- fabric-loot-tables-v1 1.1.16+9e7660c690        |-- fabric-message-api-v1 5.0.7+93d8cb8290        |-- fabric-mining-level-api-v1 2.1.24+33fbc73890        |-- fabric-models-v0 0.3.21+c6af733c90        |-- fabric-networking-api-v1 1.2.12+def3f86d90        |-- fabric-networking-v0 0.3.29+df3654b390        |-- fabric-object-builder-api-v1 4.2.2+d8ef690890        |-- fabric-particles-v1 1.0.14+4d0d570390        |-- fabric-recipe-api-v1 1.0.2+413cbbc790        |-- fabric-registry-sync-v0 0.9.33+9244241690        |-- fabric-renderer-api-v1 1.2.1+1adbf27790        |-- fabric-renderer-indigo 0.8.0+1adbf27790        |-- fabric-renderer-registries-v1 3.2.24+df3654b390        |-- fabric-rendering-data-attachment-v1 0.3.19+6e0787e690        |-- fabric-rendering-fluids-v1 3.0.11+4d0d570390        |-- fabric-rendering-v0 1.1.27+df3654b390        |-- fabric-rendering-v1 1.12.1+d8ef690890        |-- fabric-resource-conditions-api-v1 2.1.2+aae9039d90        |-- fabric-resource-loader-v0 0.8.4+edbdcddb90        |-- fabric-screen-api-v1 1.0.32+4d0d570390        |-- fabric-screen-handler-api-v1 1.3.8+1cc24b1b90        |-- fabric-sound-api-v1 1.0.2+c4f28df590        |-- fabric-textures-v0 1.0.24+aeb40ebe90        |-- fabric-transfer-api-v1 2.1.6+413cbbc790        \-- fabric-transitive-access-wideners-v1 1.3.3+08b73de490     - fabric-language-kotlin 1.9.5+kotlin.1.8.22        |-- org_jetbrains_kotlin_kotlin-reflect 1.8.22        |-- org_jetbrains_kotlin_kotlin-stdlib 1.8.22        |-- org_jetbrains_kotlin_kotlin-stdlib-jdk7 1.8.22        |-- org_jetbrains_kotlin_kotlin-stdlib-jdk8 1.8.22        |-- org_jetbrains_kotlinx_atomicfu-jvm 0.20.2        |-- org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm 1.7.1        |-- org_jetbrains_kotlinx_kotlinx-coroutines-jdk8 1.7.1        |-- org_jetbrains_kotlinx_kotlinx-datetime-jvm 0.4.0        |-- org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm 1.5.1        |-- org_jetbrains_kotlinx_kotlinx-serialization-core-jvm 1.5.1        \-- org_jetbrains_kotlinx_kotlinx-serialization-json-jvm 1.5.1     - fabricloader 0.15.11        \-- mixinextras 0.3.5     - feather release/756b8dc6     - ferritecore 5.0.3     - forcecloseloadingscreen 1.1.1     - ias 8.0.1     - inventoryhud 3.4.2     - itemmodelfix 1.0.3+1.19     - java 17     - kronhud 1.19.2-2.2.3     - lessglintythings 1.3.2     - memoryleakfix 1.1.1     - minecraft 1.19.2     - mixin-conflict-helper 1.2.0     - modmenu 4.2.0-beta.2     - morecosmetics 1.2     - nametagping 1.19.2-1.2     - optifabric 1.13.24        \-- mm 2.3     - perspektive 1.2.1     - recursiveresources 2.4.3+1.19        |-- cicada 0.4.0        \-- shared-resources-api 1.5.0     - shulkerboxtooltip 3.2.2+1.19.2     - slotlock 1.1.1-BETA+1.19     - timechanger 1.2.0        \-- midnightlib 0.5.2     - ukulib 0.6.1+1.19.2        |-- com_moandjiezana_toml_toml4j 0.7.2        \-- gs_mclo_java_mclogs-java 2.1.1     - waveycapes 1.3.2     - whoami 1.0     - xaerobetterpvp 24.1.1     - yet-another-config-lib 2.2.0-for-1.19.2 info: [13:51:13] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/C:/Users/Dell/AppData/Roaming/.minecraft/libraries/java/net/fabricmc/sponge-mixin/0.13.4+mixin.0.8.5/sponge-mixin-0.13.4+mixin.0.8.5.jar Service=Knot/Fabric Env=CLIENT info: [13:51:13] [main/INFO]: Compatibility level set to JAVA_16 info: [13:51:13] [main/INFO]: Compatibility level set to JAVA_17 info: [13:51:13] [main/INFO]: [Feather::EssentialMod] Installed: false info: [13:51:14] [main/WARN]: Reference map 'shared-resources-api-refmap.json' for shared-resources-api.mixins.json could not be read. If this is a development environment you can ignore this message info: [13:51:14] [main/WARN]: Error loading class: me/jellysquid/mods/sodium/client/gui/options/control/SliderControl (java.lang.ClassNotFoundException: me/jellysquid/mods/sodium/client/gui/options/control/SliderControl) info: [13:51:14] [main/WARN]: Error loading class: me/jellysquid/mods/sodium/client/gui/options/OptionImpl (java.lang.ClassNotFoundException: me/jellysquid/mods/sodium/client/gui/options/OptionImpl) info: [13:51:14] [main/WARN]: Force disabled MC-121772 because it only applies to OS: MAC [13:51:14] [main/WARN]: Force disabled MC-122477 because it only applies to OS: LINUX info: [13:51:14] [main/WARN]: Force disabled MC-22882 because it only applies to OS: MAC info: [13:51:14] [main/WARN]: Force disabled MC-228976 because it's conflicting with: entitycollisionfpsfix info: [13:51:14] [main/WARN]: Force disabled MC-249059 because it's conflicting with: forcecloseloadingscreen info: [13:51:15] [main/INFO]: [MemoryLeakFix] Will be applying 4 memory leak fixes! [13:51:15] [main/INFO]: [MemoryLeakFix] Currently enabled memory leak fixes: [targetEntityLeak, entityMemoriesLeak, biomeTemperatureLeak, hugeScreenshotLeak] info: [13:51:15] [main/WARN]: Error loading class: org/jetbrains/annotations/ApiStatus$Internal (java.lang.ClassNotFoundException: org/jetbrains/annotations/ApiStatus$Internal) error: Failed to setup optifine: java.lang.NoClassDefFoundError: net/fabricmc/tinyremapper/IMappingProvider     at me.modmuss50.optifabric.mod.OptifabricSetup.run(OptifabricSetup.java:46)     at java.base/java.util.ArrayList.forEach(Unknown Source)     at com.chocohead.mm.Plugin.getMixins(Plugin.java:340)     at org.spongepowered.asm.mixin.transformer.PluginHandle.getMixins(PluginHandle.java:128)     at org.spongepowered.asm.mixin.transformer.MixinConfig.postInitialise(MixinConfig.java:796)     at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:568)     at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:462)     at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:438)     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:290)     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422)     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)     at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)     at java.base/java.lang.ClassLoader.loadClass(Unknown Source)     at java.base/java.lang.Class.forName0(Native Method)     at java.base/java.lang.Class.forName(Unknown Source)     at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:50)     at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117)     at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53)     at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:384)     at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:160)     at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68)     at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)     at java.base/java.lang.reflect.Method.invoke(Unknown Source)     at net.digitalingot.rustextension.ProxiedStart.main(ProxiedStart.java:16) Caused by: java.lang.ClassNotFoundException: net.fabricmc.tinyremapper.IMappingProvider     at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)     at java.base/java.lang.ClassLoader.loadClass(Unknown Source)     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:226)     at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)     at java.base/java.lang.ClassLoader.loadClass(Unknown Source)     ... 30 more info: [13:51:15] [main/WARN]: Error loading class: net/optifine/Config (java.lang.ClassNotFoundException: net/optifine/Config) info: [13:51:15] [main/INFO]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.5). info: [13:51:15] [main/ERROR]: Minecraft has crashed! net.fabricmc.loader.impl.FormattedException: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_155 failed     at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:63) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:472) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) [fabric-loader-0.15.11.jar:?]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]     at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]     at net.digitalingot.rustextension.ProxiedStart.main(ProxiedStart.java:16) [rust-extension-1.0.7.jar:?] Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_155 failed     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.11.jar:?]     at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]     at net.minecraft.client.main.Main.method_44604(Main.java:55) ~[minecraft-1.19.2.jar:?]     at net.minecraft.client.main.Main.main(Main.java:51) ~[minecraft-1.19.2.jar:?]     at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]     ... 7 more Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.11.jar:?]     at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]     at net.minecraft.client.main.Main.method_44604(Main.java:55) ~[minecraft-1.19.2.jar:?]     at net.minecraft.client.main.Main.main(Main.java:51) ~[minecraft-1.19.2.jar:?]     at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]     ... 7 more Caused by: java.lang.ClassCastException: class com.llamalad7.mixinextras.lib.apache.commons.tuple.ImmutablePair cannot be cast to class org.apache.commons.lang3.tuple.Pair (com.llamalad7.mixinextras.lib.apache.commons.tuple.ImmutablePair and org.apache.commons.lang3.tuple.Pair are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @66a3ffec)     at ca.fxco.memoryleakfix.config.mixinExtension.UnMixinExtension.preApply(UnMixinExtension.java:23) ~[memoryleakfix-fabric-1.17+-1.1.1.temp.jar:?]     at org.spongepowered.asm.mixin.transformer.ext.Extensions.preApply(Extensions.java:156) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.TargetClassContext.preApply(TargetClassContext.java:414) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:401) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.13.4+mixin.0.8.5.jar:0.13.4+mixin.0.8.5]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.15.11.jar:?]     at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.11.jar:?]     at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]     at net.minecraft.client.main.Main.method_44604(Main.java:55) ~[minecraft-1.19.2.jar:?]     at net.minecraft.client.main.Main.main(Main.java:51) ~[minecraft-1.19.2.jar:?]     at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]     ... 7 more info: [2024-05-08T11:51:15Z INFO  rust_launcher::start::bindings] launch stalled  
    • I am trying to play on a server with the "Perfect world" modpack but I keep crashing on loading minecraft. I tried every single mod manually and the only one that doesn't seem to wor iks the Chipped mod.   ---- Minecraft Crash Report ---- // There are four lights! Time: 2024-05-08 10:11:58 Description: Initializing game java.lang.RuntimeException: null     at net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:328) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:mixin,re:classloading,pl:mixin:APP:supermartijn642corelib.mixins.json:GameDataMixin,pl:mixin:A}     at net.minecraftforge.common.ForgeStatesProvider.lambda$new$4(ForgeStatesProvider.java:25) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading}     at net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:217) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}     at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$19(ModLoader.java:209) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}     at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}     at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:209) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}     at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$13(ModLoader.java:183) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}     at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}     at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:183) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}     at net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:70) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:90) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:70) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.<init>(Minecraft.java:459) ~[client-1.20.1-20230612.114412-srg.jar%23376!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,pl:mixin:APP:redirector.mixins.json:net.minecraft.client.MinecraftMixin,pl:mixin:APP:dynamiclightsreforged.mixins.json:MinecraftClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:railways-common.mixins.json:conductor_possession.MixinMinecraft,pl:mixin:APP:konkrete.mixin.json:MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:rubidium_extras.mixins.json:FrameCounter.FpsAccessorMixin,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:xaeroplus.mixins.json:mc.MixinMinecraftClient,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:182) ~[1.20.1-forge-47.2.0.jar:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:flywheel.mixins.json:ClientMainMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.2.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.2.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.2.0.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {}     Suppressed: net.minecraftforge.fml.ModLoadingException: Sophisticated Backpacks (sophisticatedbackpacks) encountered an error during the common_setup event phase §7java.lang.NoSuchFieldError: BOTANIST_WORKBENCH_TYPE         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:111) ~[javafmllanguage-1.20.1-47.2.0.jar%23378!/:?] {}         at net.minecraftforge.fml.ModLoader.lambda$postEventWithWrapInModOrder$33(ModLoader.java:346) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModList.forEachModInOrder(ModList.java:227) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}         at net.minecraftforge.fml.ModLoader.postEventWithWrapInModOrder(ModLoader.java:344) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}         at net.minecraftforge.fml.ModLoader.postEventWrapContainerInModOrder(ModLoader.java:337) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}         at net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:342) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:mixin,re:classloading,pl:mixin:APP:supermartijn642corelib.mixins.json:GameDataMixin,pl:mixin:A}         at net.minecraftforge.common.ForgeStatesProvider.lambda$new$4(ForgeStatesProvider.java:25) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading}         at net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:217) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}         at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$19(ModLoader.java:209) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}         at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:209) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}         at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$13(ModLoader.java:183) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:183) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}         at net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:70) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:90) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:70) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading,pl:runtimedistcleaner:A}         at net.minecraft.client.Minecraft.<init>(Minecraft.java:459) ~[client-1.20.1-20230612.114412-srg.jar%23376!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,pl:mixin:APP:redirector.mixins.json:net.minecraft.client.MinecraftMixin,pl:mixin:APP:dynamiclightsreforged.mixins.json:MinecraftClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:railways-common.mixins.json:conductor_possession.MixinMinecraft,pl:mixin:APP:konkrete.mixin.json:MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:rubidium_extras.mixins.json:FrameCounter.FpsAccessorMixin,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:xaeroplus.mixins.json:mc.MixinMinecraftClient,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A}         at net.minecraft.client.main.Main.main(Main.java:182) ~[1.20.1-forge-47.2.0.jar:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:flywheel.mixins.json:ClientMainMixin,pl:mixin:A,pl:runtimedistcleaner:A}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.2.0.jar:?] {}         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.2.0.jar:?] {}         at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.2.0.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}         at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {}     Caused by: java.lang.NoSuchFieldError: BOTANIST_WORKBENCH_TYPE         at net.p3pp3rf1y.sophisticatedbackpacks.compat.chipped.ChippedCompat.lambda$static$0(ChippedCompat.java:34) ~[sophisticatedbackpacks-1.20.1-3.19.5.988.jar%23361!/:1.20.1-3.19.5.988] {re:classloading}         at net.minecraftforge.registries.DeferredRegister.lambda$addEntries$1(DeferredRegister.java:386) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading}         at net.minecraftforge.registries.RegisterEvent.register(RegisterEvent.java:59) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:mixin,re:classloading,pl:eventbus:A}         at net.minecraftforge.registries.DeferredRegister.addEntries(DeferredRegister.java:386) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading}         at net.minecraftforge.registries.DeferredRegister$EventDispatcher.handleEvent(DeferredRegister.java:328) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading}         at net.minecraftforge.registries.__EventDispatcher_handleEvent_RegisterEvent.invoke(.dynamic) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading,pl:eventbus:B}         at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) ~[eventbus-6.0.5.jar%2387!/:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%2387!/:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%2387!/:?] {}         at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:107) ~[javafmllanguage-1.20.1-47.2.0.jar%23378!/:?] {}         ... 34 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at net.minecraftforge.registries.GameData.postRegisterEvents(GameData.java:328) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:mixin,re:classloading,pl:mixin:APP:supermartijn642corelib.mixins.json:GameDataMixin,pl:mixin:A}     at net.minecraftforge.common.ForgeStatesProvider.lambda$new$4(ForgeStatesProvider.java:25) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading}     at net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:217) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}     at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$19(ModLoader.java:209) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}     at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}     at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:209) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}     at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$13(ModLoader.java:183) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}     at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}     at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:183) ~[fmlcore-1.20.1-47.2.0.jar%23377!/:?] {}     at net.minecraftforge.client.loading.ClientModLoader.lambda$begin$1(ClientModLoader.java:70) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:90) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java:70) ~[forge-1.20.1-47.2.0-universal.jar%23381!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.<init>(Minecraft.java:459) ~[client-1.20.1-20230612.114412-srg.jar%23376!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick,xf:fml:xaeroworldmap:xaero_wm_minecraft_runtick_render_call,pl:mixin:APP:redirector.mixins.json:net.minecraft.client.MinecraftMixin,pl:mixin:APP:dynamiclightsreforged.mixins.json:MinecraftClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:railways-common.mixins.json:conductor_possession.MixinMinecraft,pl:mixin:APP:konkrete.mixin.json:MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:rubidium_extras.mixins.json:FrameCounter.FpsAccessorMixin,pl:mixin:APP:flywheel.mixins.json:PausedPartialTickAccessor,pl:mixin:APP:xaeroplus.mixins.json:mc.MixinMinecraftClient,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:A,pl:runtimedistcleaner:A} -- Initialization -- Details:     Modules:          ADVAPI32.dll:Advanced Windows 32 Base API:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         COMCTL32.dll:User Experience Controls Library:6.10 (WinBuild.160101.0800):Microsoft Corporation         CRYPT32.dll:Crypto API32:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         CRYPTBASE.DLL:Base cryptographic API DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         CRYPTSP.dll:Cryptographic Service Provider API:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         CoreMessaging.dll:Microsoft CoreMessaging Dll:10.0.22621.3085 (WinBuild.160101.0800):Microsoft Corporation         CoreUIComponents.dll:Microsoft Core UI Components Dll:10.0.22621.2506:Microsoft Corporation         DBGHELP.DLL:Windows Image Helper:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         DEVOBJ.dll:Device Information Set DLL:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         DNSAPI.dll:DNS Client API DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         GDI32.dll:GDI Client DLL:10.0.22621.3085 (WinBuild.160101.0800):Microsoft Corporation         GLU32.dll:OpenGL Utility Library DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         IMM32.DLL:Multi-User Windows IMM32 API Client DLL:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         IPHLPAPI.DLL:IP Helper API:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         KERNEL32.DLL:Windows NT BASE API Client DLL:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         KERNELBASE.dll:Windows NT BASE API Client DLL:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         MSCTF.dll:MSCTF Server DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         MpOav.dll:IOfficeAntiVirus Module:4.18.24030.9 (cd8105518e5571788ee3b6a178bae8fbcdf461a8):Microsoft Corporation         NSI.dll:NSI User-mode interface DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         NTASN1.dll:Microsoft ASN.1 API:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         OLEAUT32.dll:OLEAUT32.DLL:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         POWRPROF.dll:Power Profile Helper DLL:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         PSAPI.DLL:Process Status Helper:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         RPCRT4.dll:Remote Procedure Call Runtime:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         SETUPAPI.dll:Windows Setup API:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         SHCORE.dll:SHCORE:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         SHELL32.dll:Windows Shell Common Dll:10.0.22621.2792 (WinBuild.160101.0800):Microsoft Corporation         UMPDC.dll:User Mode Power Dependency Coordinator:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         USER32.dll:Multi-User Windows USER API Client DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         USERENV.dll:Userenv:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         VCRUNTIME140.dll:Microsoft® C Runtime Library:14.29.30139.0 built by: vcwrkspc:Microsoft Corporation         VERSION.dll:Version Checking and File Installation Libraries:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         WINHTTP.dll:Windows HTTP Services:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         WINMM.dll:MCI API DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         WINSTA.dll:Winstation Library:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         WINTRUST.dll:Microsoft Trust Verification APIs:10.0.22621.3447 (WinBuild.160101.0800):Microsoft Corporation         WS2_32.dll:Windows Socket 2.0 32-Bit DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         WSOCK32.dll:Windows Socket 32-Bit DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         WTSAPI32.dll:Windows Remote Desktop Session Host Server SDK APIs:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         amsi.dll:Anti-Malware Scan Interface:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         bcrypt.dll:Windows Cryptographic Primitives Library:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         bcryptPrimitives.dll:Windows Cryptographic Primitives Library:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         cfgmgr32.dll:Configuration Manager DLL:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         clbcatq.dll:COM+ Configuration Catalog:2001.12.10941.16384 (WinBuild.160101.0800):Microsoft Corporation         combase.dll:Microsoft COM for Windows:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         cryptnet.dll:Crypto Network Related API:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         dbgcore.DLL:Windows Core Debugging Helpers:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         dhcpcsvc.DLL:DHCP Client Service:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         dhcpcsvc6.DLL:DHCPv6 Client:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         dinput8.dll:Microsoft DirectInput:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         drvstore.dll:Driver Store API:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         dwmapi.dll:Microsoft Desktop Window Manager API:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         dxcore.dll:DXCore:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         fwpuclnt.dll:FWP/IPsec User-Mode API:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         gdi32full.dll:GDI Client DLL:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         glfw.dll:GLFW 3.4.0 DLL:3.4.0:GLFW         icm32.dll:Microsoft Color Management Module (CMM):10.0.22621.3085 (WinBuild.160101.0800):Microsoft Corporation         imagehlp.dll:Windows NT Image Helper:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         inputhost.dll:InputHost:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         java.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         javaw.exe:OpenJDK Platform binary:17.0.8.0:Microsoft         jemalloc.dll         jimage.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         jli.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         jna13674901637216541159.dll:JNA native library:6.1.4:Java(TM) Native Access (JNA)         jsvml.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         jvm.dll:OpenJDK 64-Bit server VM:17.0.8.0:Microsoft         kernel.appcore.dll:AppModel API Host:10.0.22621.2715 (WinBuild.160101.0800):Microsoft Corporation         lwjgl.dll         lwjgl_opengl.dll         lwjgl_stb.dll         management.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         management_ext.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         msasn1.dll:ASN.1 Runtime APIs:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         mscms.dll:Microsoft Color Matching System DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         msvcp140.dll:Microsoft® C Runtime Library:14.29.30139.0 built by: vcwrkspc:Microsoft Corporation         msvcp_win.dll:Microsoft® C Runtime Library:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         msvcrt.dll:Windows NT CRT DLL:7.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         mswsock.dll:Microsoft Windows Sockets 2.0 Service Provider:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         napinsp.dll:E-mail Naming Shim Provider:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         ncrypt.dll:Windows NCrypt Router:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         net.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         nio.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         nlansp_c.dll:NLA Namespace Service Provider DLL:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         ntdll.dll:NT Layer DLL:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         ntmarta.dll:Windows NT MARTA provider:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         nvgpucomp64.dll:NVIDIA GPU Compiler Driver, Version 552.22 :31.0.15.5222:NVIDIA Corporation         nvoglv64.dll:NVIDIA Compatible OpenGL ICD:31.0.15.5222:NVIDIA Corporation         nvspcap64.dll:NVIDIA Game Proxy:3.28.0.412:NVIDIA Corporation         ole32.dll:Microsoft OLE for Windows:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         opengl32.dll:OpenGL Client DLL:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         pdh.dll:Windows Performance Data Helper DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         perfos.dll:Windows System Performance Objects DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         perfproc.dll:Windows System Process Performance Objects DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         pfclient.dll:SysMain Client:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         pnrpnsp.dll:PNRP Name Space Provider:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         profapi.dll:User Profile Basic API:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         rasadhlp.dll:Remote Access AutoDial Helper:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         rsaenh.dll:Microsoft Enhanced Cryptographic Provider:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         sechost.dll:Host for SCM/SDDL/LSA Lookup APIs:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         shlwapi.dll:Shell Light-weight Utility Library:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         sunmscapi.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         textinputframework.dll:"TextInputFramework.DYNLINK":10.0.22621.3447 (WinBuild.160101.0800):Microsoft Corporation         ucrtbase.dll:Microsoft® C Runtime Library:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         uxtheme.dll:Microsoft UxTheme Library:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         vcruntime140_1.dll:Microsoft® C Runtime Library:14.29.30139.0 built by: vcwrkspc:Microsoft Corporation         verify.dll:OpenJDK Platform binary:17.0.8.0:Microsoft         win32u.dll:Win32u:10.0.22621.3447 (WinBuild.160101.0800):Microsoft Corporation         windows.storage.dll:Microsoft WinRT Storage API:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         winrnr.dll:LDAP RnR Provider DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         wintypes.dll:Windows Base Types DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         wldp.dll:Windows Lockdown Policy:10.0.22621.2506 (WinBuild.160101.0800):Microsoft Corporation         wshbth.dll:Windows Sockets Helper DLL:10.0.22621.3374 (WinBuild.160101.0800):Microsoft Corporation         wshunix.dll:AF_UNIX Winsock2 Helper DLL:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         xinput1_4.dll:Microsoft Common Controller API:10.0.22621.1 (WinBuild.160101.0800):Microsoft Corporation         zip.dll:OpenJDK Platform binary:17.0.8.0:Microsoft Stacktrace:     at net.minecraft.client.main.Main.main(Main.java:182) ~[1.20.1-forge-47.2.0.jar:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:flywheel.mixins.json:ClientMainMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.2.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.2.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.2.0.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} -- System Details -- Details:     Minecraft Version: 1.20.1     Minecraft Version ID: 1.20.1     Operating System: Windows 11 (amd64) version 10.0     Java Version: 17.0.8, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 746024536 bytes (711 MiB) / 1308622848 bytes (1248 MiB) up to 8589934592 bytes (8192 MiB)     CPUs: 16     Processor Vendor: GenuineIntel     Processor Name: Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz     Identifier: Intel64 Family 6 Model 165 Stepping 2     Microarchitecture: unknown     Frequency (GHz): 2.21     Number of physical packages: 1     Number of physical CPUs: 8     Number of logical CPUs: 16     Graphics card #0 name: NVIDIA GeForce RTX 3070 Laptop GPU     Graphics card #0 vendor: NVIDIA (0x10de)     Graphics card #0 VRAM (MB): 4095.00     Graphics card #0 deviceId: 0x249d     Graphics card #0 versionInfo: DriverVersion=31.0.15.5222     Graphics card #1 name: Intel(R) UHD Graphics     Graphics card #1 vendor: Intel Corporation (0x8086)     Graphics card #1 VRAM (MB): 1024.00     Graphics card #1 deviceId: 0x9bc4     Graphics card #1 versionInfo: DriverVersion=31.0.101.2115     Memory slot #0 capacity (MB): 8192.00     Memory slot #0 clockSpeed (GHz): 3.20     Memory slot #0 type: DDR4     Memory slot #1 capacity (MB): 8192.00     Memory slot #1 clockSpeed (GHz): 3.20     Memory slot #1 type: DDR4     Virtual memory max (MB): 32399.69     Virtual memory used (MB): 19800.23     Swap memory total (MB): 16199.84     Swap memory used (MB): 200.37     JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx8G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     Launched Version: 1.20.1-forge-47.2.0     Backend library: LWJGL version 3.3.1 build 7     Backend API: NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2 GL version 4.6.0 NVIDIA 552.22, NVIDIA Corporation     Window size: <not initialized>     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages:      Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'     Type: Client (map_client.txt)     CPU: 16x Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz     ModLauncher: 10.0.9+10.0.9+main.dcd20f30     ModLauncher launch target: forgeclient     ModLauncher naming: srg     ModLauncher services:          mixin-0.8.5.jar mixin PLUGINSERVICE          eventbus-6.0.5.jar eventbus PLUGINSERVICE          fmlloader-1.20.1-47.2.0.jar slf4jfixer PLUGINSERVICE          fmlloader-1.20.1-47.2.0.jar object_holder_definalize PLUGINSERVICE          fmlloader-1.20.1-47.2.0.jar runtime_enum_extender PLUGINSERVICE          fmlloader-1.20.1-47.2.0.jar capability_token_subclass PLUGINSERVICE          accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE          fmlloader-1.20.1-47.2.0.jar runtimedistcleaner PLUGINSERVICE          modlauncher-10.0.9.jar mixin TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar fml TRANSFORMATIONSERVICE      FML Language Providers:          [email protected]         javafml@null         [email protected]         lowcodefml@null     Mod List:          dynamiclightsreforged-1.20.1_v1.6.0.jar           |Rubidium Dynamic Lights       |dynamiclightsreforged         |1.20.1_v1.6.0       |COMMON_SET|Manifest: NOSIGNATURE         supermartijn642configlib-1.1.8-forge-mc1.20.jar   |SuperMartijn642's Config Libra|supermartijn642configlib      |1.1.8               |COMMON_SET|Manifest: NOSIGNATURE         open-parties-and-claims-forge-1.20.1-0.20.1.jar   |Open Parties and Claims       |openpartiesandclaims          |0.20.1              |COMMON_SET|Manifest: NOSIGNATURE         createdeco-2.0.0-forge-1.20.1.jar                 |Create Deco                   |createdeco                    |2.0.0-forge-1.20.1  |COMMON_SET|Manifest: NOSIGNATURE         recipeessentials-1.20.1-3.2.jar                   |recipeessentials mod          |recipeessentials              |1.20.1-3.2          |COMMON_SET|Manifest: NOSIGNATURE         connectivity-1.20.1-4.9.jar                       |Connectivity Mod              |connectivity                  |1.20.1-4.9          |COMMON_SET|Manifest: NOSIGNATURE         sophisticatedcore-1.20.1-0.5.113.524.jar          |Sophisticated Core            |sophisticatedcore             |0.5.113.524         |COMMON_SET|Manifest: NOSIGNATURE         gpumemleakfix-1.20.1-1.8.jar                      |Gpu memory leak fix           |gpumemleakfix                 |1.20.1-1.8          |COMMON_SET|Manifest: NOSIGNATURE         create_recycle_1.0.2_forge_1.20.1.jar             |Create Recycling              |create_crush_everything       |1.0.2               |COMMON_SET|Manifest: NOSIGNATURE         structureessentials-1.20.1-3.2.jar                |Structure Essentials mod      |structureessentials           |1.20.1-3.2          |COMMON_SET|Manifest: NOSIGNATURE         villagernames-1.20.1-7.3.jar                      |Villager Names                |villagernames                 |7.3                 |COMMON_SET|Manifest: NOSIGNATURE         Controlling-forge-1.20.1-12.0.2.jar               |Controlling                   |controlling                   |12.0.2              |COMMON_SET|Manifest: NOSIGNATURE         citadel-2.4.9-1.20.1.jar                          |Citadel                       |citadel                       |2.4.9               |COMMON_SET|Manifest: NOSIGNATURE         alexsmobs-1.22.7.jar                              |Alex's Mobs                   |alexsmobs                     |1.22.7              |COMMON_SET|Manifest: NOSIGNATURE         mixinextras-forge-0.2.0.jar                       |MixinExtras                   |mixinextras                   |0.2.0               |COMMON_SET|Manifest: NOSIGNATURE         clientcrafting-1.20.1-1.7.jar                     |clientcrafting mod            |clientcrafting                |1.20.1-1.7          |COMMON_SET|Manifest: NOSIGNATURE         Bookshelf-Forge-1.20.1-20.1.8.jar                 |Bookshelf                     |bookshelf                     |20.1.8              |COMMON_SET|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         Kambrik-6.1.1+1.20.1-forge.jar                    |Kambrik                       |kambrik                       |6.1.1+1.20.1        |COMMON_SET|Manifest: NOSIGNATURE         sophisticatedbackpacks-1.20.1-3.19.5.988.jar      |Sophisticated Backpacks       |sophisticatedbackpacks        |3.19.5.988          |COMMON_SET|Manifest: NOSIGNATURE         guardvillagers-1.20.1-1.6.3.jar                   |Guard Villagers               |guardvillagers                |1.20.1-1.6.3        |COMMON_SET|Manifest: NOSIGNATURE         create_dragon_lib-1.20.1-1.3.3.jar                |Create: Dragon Lib            |create_dragon_lib             |1.3.3               |COMMON_SET|Manifest: NOSIGNATURE         mcw-doors-1.1.0forge-mc1.20.1.jar                 |Macaw's Doors                 |mcwdoors                      |1.1.0               |COMMON_SET|Manifest: NOSIGNATURE         Steam_Rails-1.5.3+forge-mc1.20.1.jar              |Create: Steam 'n' Rails       |railways                      |1.5.3+forge-mc1.20.1|COMMON_SET|Manifest: NOSIGNATURE         balm-forge-1.20.1-7.2.1.jar                       |Balm                          |balm                          |7.2.1               |COMMON_SET|Manifest: NOSIGNATURE         JustEnoughResources-1.20.1-1.4.0.238.jar          |Just Enough Resources         |jeresources                   |1.4.0.238           |COMMON_SET|Manifest: NOSIGNATURE         cloth-config-11.1.118-forge.jar                   |Cloth Config v10 API          |cloth_config                  |11.1.118            |COMMON_SET|Manifest: NOSIGNATURE         soundphysics-forge-1.20.1-1.1.2.jar               |Sound Physics Remastered      |sound_physics_remastered      |1.20.1-1.1.2        |COMMON_SET|Manifest: NOSIGNATURE         konkrete_forge_1.6.1-2_MC_1.20.jar                |Konkrete                      |konkrete                      |1.6.1               |COMMON_SET|Manifest: NOSIGNATURE         athena-forge-1.20.1-3.1.1.jar                     |Athena                        |athena                        |3.1.1               |COMMON_SET|Manifest: NOSIGNATURE         corpse-1.20.1-1.0.9.jar                           |Corpse                        |corpse                        |1.20.1-1.0.9        |COMMON_SET|Manifest: NOSIGNATURE         Chipped-forge-1.20.1-3.0.4.jar                    |Chipped                       |chipped                       |3.0.4               |COMMON_SET|Manifest: NOSIGNATURE         mcw-bridges-2.1.1-mc1.20.1forge.jar               |Macaw's Bridges               |mcwbridges                    |2.1.1               |COMMON_SET|Manifest: NOSIGNATURE         FarmersDelight-1.20.1-1.2.3.jar                   |Farmer's Delight              |farmersdelight                |1.20.1-1.2.3        |COMMON_SET|Manifest: NOSIGNATURE         mcw-trapdoors-1.1.2-mc1.20.1forge.jar             |Macaw's Trapdoors             |mcwtrpdoors                   |1.1.2               |COMMON_SET|Manifest: NOSIGNATURE         mcw-fences-1.0.7-mc1.20.1forge.jar                |Macaw's Fences and Walls      |mcwfences                     |1.0.7               |COMMON_SET|Manifest: NOSIGNATURE         supermartijn642corelib-1.1.16-forge-mc1.20.1.jar  |SuperMartijn642's Core Lib    |supermartijn642corelib        |1.1.16              |COMMON_SET|Manifest: NOSIGNATURE         create_recipes-1.2.0.jar                          |Create: More Recipes          |create_recipes                |1.0.0               |COMMON_SET|Manifest: NOSIGNATURE         Bountiful-6.0.3+1.20.1-forge.jar                  |Bountiful                     |bountiful                     |6.0.3+1.20.1        |COMMON_SET|Manifest: NOSIGNATURE         leaky-1.20.1-1.7.jar                              |leaky mod                     |leaky                         |1.20.1-1.7          |COMMON_SET|Manifest: NOSIGNATURE         curios-forge-5.4.7+1.20.1.jar                     |Curios API                    |curios                        |5.4.7+1.20.1        |COMMON_SET|Manifest: NOSIGNATURE         collective-1.20.1-7.28.jar                        |Collective                    |collective                    |7.28                |COMMON_SET|Manifest: NOSIGNATURE         Searchables-forge-1.20.1-1.0.2.jar                |Searchables                   |searchables                   |1.0.2               |COMMON_SET|Manifest: NOSIGNATURE         FramedBlocks-9.1.6.jar                            |FramedBlocks                  |framedblocks                  |9.1.6               |COMMON_SET|Manifest: NOSIGNATURE         bettervillage-forge-1.20.1-3.2.0.jar              |Better village                |bettervillage                 |3.1.0               |COMMON_SET|Manifest: NOSIGNATURE         resourcefullib-forge-1.20.1-2.1.20.jar            |Resourceful Lib               |resourcefullib                |2.1.20              |COMMON_SET|Manifest: NOSIGNATURE         constructionwand-1.20.1-2.11.jar                  |Construction Wand             |constructionwand              |1.20.1-2.11         |COMMON_SET|Manifest: NOSIGNATURE         architectury-9.1.12-forge.jar                     |Architectury                  |architectury                  |9.1.12              |COMMON_SET|Manifest: NOSIGNATURE         cupboard-1.20.1-2.2.jar                           |Cupboard utilities            |cupboard                      |1.20.1-2.2          |COMMON_SET|Manifest: NOSIGNATURE         chunkloaders-1.2.8a-forge-mc1.20.1.jar            |Chunk Loaders                 |chunkloaders                  |1.2.8a              |COMMON_SET|Manifest: NOSIGNATURE         JadeAddons-1.20.1-forge-5.2.2.jar                 |Jade Addons                   |jadeaddons                    |5.2.2               |COMMON_SET|Manifest: NOSIGNATURE         KryptonReforged-0.2.3.jar                         |Krypton Reforged              |krypton                       |0.2.3               |COMMON_SET|Manifest: NOSIGNATURE         foodeffecttooltips-1.0.1+forge-1.20.jar.jar       |Food Effect Tooltips          |foodeffecttooltips            |1.0.0               |COMMON_SET|Manifest: NOSIGNATURE         letmedespawn-forge-1.20.x-1.2.0.jar               |Let Me Despawn                |letmedespawn                  |1.2.0               |COMMON_SET|Manifest: NOSIGNATURE         FastLeafDecay-31.jar                              |Fast Leaf Decay               |fastleafdecay                 |31                  |COMMON_SET|Manifest: NOSIGNATURE         gamemenumodoption-mc1.20.1-2.2.1.jar              |Game Menu Mod Option          |gamemenumodoption             |2.2.1               |COMMON_SET|Manifest: NOSIGNATURE         sliceanddice-forge-3.2.0.jar                      |Create Slice & Dice           |sliceanddice                  |3.2.0               |COMMON_SET|Manifest: NOSIGNATURE         inventorysorter-1.20.1-23.0.1.jar                 |Simple Inventory Sorter       |inventorysorter               |23.0.1              |COMMON_SET|Manifest: NOSIGNATURE         BetterAnimationsCollection-v8.0.0-1.20.1-Forge.jar|Better Animations Collection  |betteranimationscollection    |8.0.0               |COMMON_SET|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         puzzlesapi-forge-8.1.4.jar                        |Puzzles Api                   |puzzlesapi                    |8.1.4               |COMMON_SET|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         ftb-library-forge-2001.1.4.jar                    |FTB Library                   |ftblibrary                    |2001.1.4            |COMMON_SET|Manifest: NOSIGNATURE         ftb-teams-forge-2001.1.4.jar                      |FTB Teams                     |ftbteams                      |2001.1.4            |COMMON_SET|Manifest: NOSIGNATURE         ftb-ranks-forge-2001.1.3.jar                      |FTB Ranks                     |ftbranks                      |2001.1.3            |COMMON_SET|Manifest: NOSIGNATURE         rechiseled-1.1.5c-forge-mc1.20.jar                |Rechiseled                    |rechiseled                    |1.1.5c              |COMMON_SET|Manifest: NOSIGNATURE         item-filters-forge-2001.1.0-build.59.jar          |Item Filters                  |itemfilters                   |2001.1.0-build.59   |COMMON_SET|Manifest: NOSIGNATURE         jei-1.20.1-forge-15.2.0.27.jar                    |Just Enough Items             |jei                           |15.2.0.27           |COMMON_SET|Manifest: NOSIGNATURE         AttributeFix-Forge-1.20.1-21.0.4.jar              |AttributeFix                  |attributefix                  |21.0.4              |COMMON_SET|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         callablehorses-1.20.1-1.3.0.1.jar                 |Callable Horses               |callablehorses                |1.3.0.1             |COMMON_SET|Manifest: 8c:03:ac:7d:21:62:65:e2:83:91:f3:22:57:99:ed:75:78:1e:db:de:03:99:ef:53:3b:59:95:18:01:bc:84:a9         libraryferret-forge-1.20.1-4.0.0.jar              |Library ferret                |libraryferret                 |4.0.0               |COMMON_SET|Manifest: NOSIGNATURE         createchunkloading-1.6.0-forge.jar                |Create Chunkloading           |createchunkloading            |1.6.0               |COMMON_SET|Manifest: NOSIGNATURE         waystones-forge-1.20-14.1.3.jar                   |Waystones                     |waystones                     |14.1.3              |COMMON_SET|Manifest: NOSIGNATURE         fullstackwatchdog-1.0.1+1.19.2-forge.jar          |FullStack Watchdog            |fullstackwatchdog             |1.0.1+1.19.2-forge  |COMMON_SET|Manifest: NOSIGNATURE         Clumps-forge-1.20.1-12.0.0.3.jar                  |Clumps                        |clumps                        |12.0.0.3            |COMMON_SET|Manifest: NOSIGNATURE         comforts-forge-6.3.4+1.20.1.jar                   |Comforts                      |comforts                      |6.3.4+1.20.1        |COMMON_SET|Manifest: NOSIGNATURE         NaturesCompass-1.20.1-1.11.2-forge.jar            |Nature's Compass              |naturescompass                |1.20.1-1.11.2-forge |COMMON_SET|Manifest: NOSIGNATURE         StrawStatues-v8.0.2-1.20.1-Forge.jar              |Straw Statues                 |strawstatues                  |8.0.2               |COMMON_SET|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         BadMobs-1.20.1-19.0.2.jar                         |BadMobs                       |badmobs                       |19.0.2              |COMMON_SET|Manifest: NOSIGNATURE         rechiseledcreate-1.0.1-forge-mc1.20.jar           |Rechiseled: Create            |rechiseledcreate              |1.0.1               |COMMON_SET|Manifest: NOSIGNATURE         neruina-1.3.0-forge+1.18.2-1.20.1.jar             |Neruina                       |neruina                       |1.3.0               |COMMON_SET|Manifest: NOSIGNATURE         create-confectionery1.20.1_v1.1.0.jar             |Create Confectionery          |create_confectionery          |1.1.0               |COMMON_SET|Manifest: NOSIGNATURE         starlight-1.1.2+forge.1cda73c.jar                 |Starlight                     |starlight                     |1.1.2+forge.1cda73c |COMMON_SET|Manifest: NOSIGNATURE         fusion-1.1.0b-forge-mc1.20.1.jar                  |Fusion                        |fusion                        |1.1.0b              |COMMON_SET|Manifest: NOSIGNATURE         puzzlesaccessapi-forge-8.0.7.jar                  |Puzzles Access Api            |puzzlesaccessapi              |8.0.7               |COMMON_SET|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         rubidium_extras-1.20.1_v1.4.3.jar                 |Rubidium Extras               |rubidium_extras               |1.20.1_v1.4.3       |COMMON_SET|Manifest: NOSIGNATURE         ftb-chunks-forge-2001.2.4.jar                     |FTB Chunks                    |ftbchunks                     |2001.2.4            |COMMON_SET|Manifest: NOSIGNATURE         forge-1.20.1-47.2.0-universal.jar                 |Forge                         |forge                         |47.2.0              |COMMON_SET|Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90         craftingtweaks-forge-1.20-18.2.2.jar              |CraftingTweaks                |craftingtweaks                |18.2.2              |COMMON_SET|Manifest: NOSIGNATURE         client-1.20.1-20230612.114412-srg.jar             |Minecraft                     |minecraft                     |1.20.1              |COMMON_SET|Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f         EnchantmentDescriptions-Forge-1.20.1-17.0.11.jar  |EnchantmentDescriptions       |enchdesc                      |17.0.11             |COMMON_SET|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         MouseTweaks-forge-mc1.20-2.25.jar                 |Mouse Tweaks                  |mousetweaks                   |2.25                |COMMON_SET|Manifest: NOSIGNATURE         ftb-quests-forge-2001.3.0.jar                     |FTB Quests                    |ftbquests                     |2001.3.0            |COMMON_SET|Manifest: NOSIGNATURE         ftb-xmod-compat-forge-2.1.0.jar                   |FTB XMod Compat               |ftbxmodcompat                 |2.1.0               |COMMON_SET|Manifest: NOSIGNATURE         mixinsquared-forge-0.1.1.jar                      |MixinSquared                  |mixinsquared                  |0.1.1               |COMMON_SET|Manifest: NOSIGNATURE         Jade-1.20.1-forge-11.7.1.jar                      |Jade                          |jade                          |11.7.1              |COMMON_SET|Manifest: NOSIGNATURE         spectrelib-forge-0.13.14+1.20.1.jar               |SpectreLib                    |spectrelib                    |0.13.14+1.20.1      |COMMON_SET|Manifest: NOSIGNATURE         kffmod-4.10.0.jar                                 |Kotlin For Forge              |kotlinforforge                |4.10.0              |COMMON_SET|Manifest: NOSIGNATURE         flywheel-forge-1.20.1-0.6.10-7.jar                |Flywheel                      |flywheel                      |0.6.10-7            |COMMON_SET|Manifest: NOSIGNATURE         create-1.20.1-0.5.1.f.jar                         |Create                        |create                        |0.5.1.f             |COMMON_SET|Manifest: NOSIGNATURE         create_central_kitchen-1.20.1-for-create-0.5.1.f-1|Create: Central Kitchen       |create_central_kitchen        |1.3.10              |COMMON_SET|Manifest: NOSIGNATURE         create-stuff-additions1.20.1_v2.0.4a.jar          |Create Stuff & Additions      |create_sa                     |2.0.4.              |COMMON_SET|Manifest: NOSIGNATURE         polymorph-forge-0.49.2+1.20.1.jar                 |Polymorph                     |polymorph                     |0.49.2+1.20.1       |COMMON_SET|Manifest: NOSIGNATURE         JustEnoughProfessions-forge-1.20.1-3.0.1.jar      |Just Enough Professions (JEP) |justenoughprofessions         |3.0.1               |COMMON_SET|Manifest: NOSIGNATURE         storagedrawers-1.20.1-12.0.2.jar                  |Storage Drawers               |storagedrawers                |12.0.2              |COMMON_SET|Manifest: NOSIGNATURE         immersive_paintings-0.6.7+1.20.1-forge.jar        |Immersive Paintings           |immersive_paintings           |0.6.7+1.20.1        |COMMON_SET|Manifest: NOSIGNATURE         redirector-1.20.1-4.4.0-forge.jar                 |Redirector                    |redirector                    |1.20.1-4.4.0        |COMMON_SET|Manifest: NOSIGNATURE         canary-mc1.20.1-0.2.10.jar                        |Canary                        |canary                        |0.2.10              |COMMON_SET|Manifest: NOSIGNATURE         XaeroPlus-Forge-1.20.1-59-WM1.37.2-MM23.9.3.jar   |XaeroPlus                     |xaeroplus                     |1.20.1              |COMMON_SET|Manifest: NOSIGNATURE         XaerosWorldMap_1.37.2_Forge_1.20.jar              |Xaero's World Map             |xaeroworldmap                 |1.37.2              |COMMON_SET|Manifest: NOSIGNATURE         Xaeros_Minimap_23.9.3_Forge_1.20.jar              |Xaero's Minimap               |xaerominimap                  |23.9.3              |COMMON_SET|Manifest: NOSIGNATURE         ImmediatelyFast-Forge-1.2.8+1.20.4.jar            |ImmediatelyFast               |immediatelyfast               |1.2.8+1.20.4        |COMMON_SET|Manifest: NOSIGNATURE         appleskin-forge-mc1.20.1-2.5.1.jar                |AppleSkin                     |appleskin                     |2.5.1+mc1.20.1      |COMMON_SET|Manifest: NOSIGNATURE         lootr-1.20-0.7.30.73.jar                          |Lootr                         |lootr                         |0.7.29.68           |COMMON_SET|Manifest: NOSIGNATURE         ferritecore-6.0.1-forge.jar                       |Ferrite Core                  |ferritecore                   |6.0.1               |COMMON_SET|Manifest: 41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a         EffectTooltips-Forge-1.20.1-9.0.2.jar             |EffectTooltips                |effecttooltips                |9.0.2               |COMMON_SET|Manifest: NOSIGNATURE         PuzzlesLib-v8.1.11-1.20.1-Forge.jar               |Puzzles Lib                   |puzzleslib                    |8.1.11              |COMMON_SET|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         gjeb-forge-1.20.1-1.3.0.32.jar                    |GJEB (GammaJustExtremeBright) |gjeb                          |1.3.0.32            |COMMON_SET|Manifest: f4:a6:0b:ee:cb:8a:1a:ea:9f:9d:45:91:8f:8b:b3:ae:26:f3:bf:05:86:1d:90:9e:f6:32:2a:1a:ed:1d:ce:b0         cosmeticarmorreworked-1.20.1-v1a.jar              |CosmeticArmorReworked         |cosmeticarmorreworked         |1.20.1-v1a          |COMMON_SET|Manifest: 5e:ed:25:99:e4:44:14:c0:dd:89:c1:a9:4c:10:b5:0d:e4:b1:52:50:45:82:13:d8:d0:32:89:67:56:57:01:53         chunksending-1.20.1-2.8.jar                       |chunksending mod              |chunksending                  |1.20.1-2.8          |COMMON_SET|Manifest: NOSIGNATURE         create_enchantment_industry-1.20.1-for-create-0.5.|Create Enchantment Industry   |create_enchantment_industry   |1.2.7.h             |COMMON_SET|Manifest: NOSIGNATURE         deuf-1.20.1-1.3.jar                               |DEUF - Duplicate Entity UUID F|deuf                          |1.20.1-1.3          |COMMON_SET|Manifest: NOSIGNATURE     Crash Report UUID: c58237c8-cc45-4672-a48a-9c6384c39451     Flywheel Backend: Uninitialized     FML: 47.2     Forge: net.minecraftforge:47.2.0
  • Topics

×
×
  • Create New...

Important Information

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