Jump to content

[1.6.4] Tile Entity NBT not saving on exit


TheMoleTractor

Recommended Posts

You may have to sync your NBT data between the client and the server... That is pretty much all I got.

 

To test this theory, in the block's onBlockActivated method, put a

System.out.println(bAmt); // bAmt is your berry amount. Get that however you need to

inside an if statement checking if the world is server side. If the server side world has the correct berry amount, then it's a syncing issue. If not... Well. We shall keep digging.

We all stuff up sometimes... But I seem to be at the bottom of that pot.

Link to comment
Share on other sites

You may have to sync your NBT data between the client and the server... That is pretty much all I got.

 

To test this theory, in the block's onBlockActivated method, put a

System.out.println(bAmt); // bAmt is your berry amount. Get that however you need to

inside an if statement checking if the world is server side. If the server side world has the correct berry amount, then it's a syncing issue. If not... Well. We shall keep digging.

 

I tossed a println in there for the bAmt and it printed out the correct number in the console. I restarted the client and it seems to be saving the amount but not updating the texture when the world is re-loaded.

 

EDIT: Forgot to mention that the println was inside an if(!world.isRemote)

Link to comment
Share on other sites

That would point us towards your render code. You probably have a higher range for the berry amount than metadata can handle, but if not you could always use metadata instead.

 

Render class: http://pastebin.com/kZJw9WLM

 

This is my render class. Is calling the same method my block class calls the issue? Would calling the bAmt from the block be any different? The berry amount can go from 0-7

Link to comment
Share on other sites

It all looks fine... try System.out.println(bAmt) right before the switch statement and System.out.println("rendering " + whatCaseThisIs) in each case of the switch statement. I know it sounds weird but that switch statement has opengl calls and to me they seem the most likely offenders in this scenario. I'll look again and let you know if anything dawns on me.

Link to comment
Share on other sites

It all looks fine... try System.out.println(bAmt) right before the switch statement and System.out.println("rendering " + whatCaseThisIs) in each case of the switch statement. I know it sounds weird but that switch statement has opengl calls and to me they seem the most likely offenders in this scenario. I'll look again and let you know if anything dawns on me.

 

A System.out.println(bAmt); right before the switch spams the console (quite a bit haha) with the amount showing visually (of course) but if the game has, say...3 berries, and I log out and back in, the println before the switch still spams the amount of berries showing up but when I use my other println (called from the Block class on blockActivated) it shows the amount that is held rather than the amount shown.

 

This leads me to believe my call to the TileEntitySapphireCrop.getBerryAmount(); method is not calling correctly.

 

I can add and take away berries which makes the texture change, changing what output I have inside the Render class. This also changes the amount of berries actually held (but not shown correctly). These amounts don't beyond 0-7 for either of the rendering or block classes.

Link to comment
Share on other sites

MoxEmerald, have you heard of this thing called clue t and this thing called server? No? Okay. That explains everything.

 

As I was saying before, this is a client/server syncing issue. You need to sync the servers data to the client via a packet (tile entities have built in packet stuff, but i have no clue how that works. I suggest making your own packet).

 

So MoxEmerald, please, learn. And always remember that data will ALWAYS need to be synced between the client and server. Or else you get these problems.

We all stuff up sometimes... But I seem to be at the bottom of that pot.

Link to comment
Share on other sites

I would change your getBerryAmount method to:

public int getBerryAmount()
{
    if (this.worldObj.isRemote) System.out.println("client");
    else System.out.println("server");
    System.out.println(bAmt);
    return bAmt;
}

 

So with that, my onBlockActivated method calls both client and server. The render class only calls client. I am thinking now that the client and server and not syncing, unfortunately that is untreaded water for me so I don't know how to sync the two.

 

The second before I posted this Kwibble kindly pointed out it was obviously a syncing issue. Time to look into packets! I'll keep this open and post when I figure it out. Thanks again everyone for the help! Wish me luck on figuring out packets. If anybody has any suggestions they would be greatly appreciated.

Link to comment
Share on other sites

Since you're now going with packets I'm assuming that the onBlockActivated from the client call gave the wrong number but the onBlockActivated call from the server gave the correct number. If so good call Kwibble.

 

But if this were a packet issue why doesn't it manifest itself before a save and quit?

Link to comment
Share on other sites

Check out the two good SimpleNetworkWrapper tutorials in the tutorials section of Modder Support.

 

That's where I learnt packet handling for 1.7.2 :)

 

I'll check them out now, thanks for the nod in the right direction. Packets here I come!

 

@MoxEmerald: Yes, the client side with onBlockActivated was giving the incorrect number while the server call was correct.

 

I'll post in a bit once I get some work done.

Link to comment
Share on other sites

So in my mod I have a tileentity for a ..."custom furnace" that contains an itemstack that contains a custom item that holds a numerical value in it's nbttag. in essence I have an itemstacknbt contained inside of a tilentity nbt. The value gets incremented every 1 second and try as I might I can't find any problems/bugs with it when I save and quit or anything. I am not using packets and I fail to see the difference since I am verifying the value from a description when you hover the itemstack which is on the client side... right? Is verifying the value from the texture used different then from the gui? Or is the gui's value secretly coming from the server side?

 

I simply fail to see why TheMoleTractor would need a packet when I do not.

Link to comment
Share on other sites

It all depends on how you make those calls really. And where from.

 

But the main reason TheMoleTractor needs a packet is because he is calling methods from client only: A renderer.

 

Whereas you are interacting with an item, which exists both client and server side. Is the difference a little clearer now?

We all stuff up sometimes... But I seem to be at the bottom of that pot.

Link to comment
Share on other sites

So in my mod I have a tileentity for a ..."custom furnace" that contains an itemstack that contains a custom item that holds a numerical value in it's nbttag. in essence I have an itemstacknbt contained inside of a tilentity nbt. The value gets incremented every 1 second and try as I might I can't find any problems/bugs with it when I save and quit or anything. I am not using packets and I fail to see the difference since I am verifying the value from a description when you hover the itemstack which is on the client side... right? Is verifying the value from the texture used different then from the gui? Or is the gui's value secretly coming from the server side?

 

I simply fail to see why TheMoleTractor would need a packet when I do not.

 

I actually got it to sync on start-up.

 

In my TileEntity class I have added these two methods:

	public void onDataPacket(INetworkManager net, Packet132TileEntityData pkt)
{
	NBTTagCompound tag = pkt.data;
	readFromNBT(tag);
}

public Packet getDescriptionPacket()
{
	NBTTagCompound tag = new NBTTagCompound();
	writeToNBT(tag);
	return new Packet132TileEntityData(xCoord, yCoord, zCoord, blockMetadata, tag);
}

 

While I am sure there are better ways to do this, this seemed to work.

 

One unfortunate thing (I seem to be hitting every possible snag trying to finish this crop up) is that now when the crop grows in game (using the blocks updateTick) the texture again doesn't update right away. Again an issue with syncing.

Link to comment
Share on other sites

The fog is starting to lift, however I feel that the renderer is secondary to the tile-entity. If his tile-entity exists on both sides and it is falling out of sync then isn't this indicative of a problem that could be fixed a little more simply? Adding a packet will correct the situation at specified intervals, but the client and server ticks happen the same number of times per second. As long as the code has reproducible results the two sides shouldn't be falling out of sync.

 

For something more complicated using a packet would be more efficient. However, we're just incrementing a value. If his code is made reproducible running it twice shouldn't hurt anything. Unless Minecraft code isn't as sturdy as I had thought.

 

It occurs to me that I don't know how his value gets changed. Perhaps he's applying a sort of bonemeal, or maybe it's just a matter of time. I suppose that might make the difference as well.

 

I guess that this is a long winded way of saying that jumping right to a custom packet seems frivolous to me. It should be noted that I have never used packets and as such I've never really had to go through the thought process of deciding I need them. I've always determined that I don't.

 

I apologize for being so meticulous and even spammy, but I hope I'm at least communicating my point of view clearly, if not concisely.

 

@TheMoleTractor you posted while I was typing so...

 

I... don't know. Maybe it's just packet delay (packet does imply a network of sorts). Networks are allowed to... take their time when necessary.

Link to comment
Share on other sites

Okay. The way Minecraft (or any client/server) works is like this.

 

Client receives user input.

Client notifies server of what it was given.

Server receives the input.

Server processes input.

Server executes the results.

Server sends client a response.

Client executes the visual side.

 

The server is supposed to handle all the processing. The client just handles user input.

 

 

@TheMoleTractor You will need to change the bAmt value server side only. And EVERY time the value is updated, sync the server to the client. That's why I suggested using your own packets.

We all stuff up sometimes... But I seem to be at the bottom of that pot.

Link to comment
Share on other sites

Okay. The way Minecraft (or any client/server) works is like this.

 

Client receives user input.

Client notifies server of what it was given.

Server receives the input.

Server processes input.

Server executes the results.

Server sends client a response.

Client executes the visual side.

 

The server is supposed to handle all the processing. The client just handles user input.

 

 

@TheMoleTractor You will need to change the bAmt value server side only. And EVERY time the value is updated, sync the server to the client. That's why I suggested using your own packets.

 

So I have it where the server is incrementing when it "grows" but the visuals are not updating. Is there any viable way to sync it in the updateTick method in the Block class?

Link to comment
Share on other sites

@TheMoleTractor Try updating in the tile-entity class. It makes more sense anyways(the value is stored there after all).

 

And if it were that clear cut the client would be required to ask the server side for the nbttag. As we can see though it doesn't do that. If we want that hierarchy we have to build it ourselves. It is not the default for the tile-entity nbttags to sync the way you seem to think Itemstack nbttags automatically sync. Large parts of the game exist on both sides.

 

The client side is more hybrid than you would think, after all minecraft used to run without a server side. What you're describing is an actual client-server relationship, Which would be true enough if we were talking about an actual server- but we're talking about the server side of the client application. As such we are allowed much more flexibility than all that. After all, it all runs on the same processor.

 

There are even scenarios out there where the "clients" do the processing and the "server" distributes the data and handles user input/output. A sort of Cloud Computing scenario could follow those rules.

Link to comment
Share on other sites

I would just like to remind you that single player is actually multiplayer with only one person logged in.

 

Have you tested your item nbt stuff on a dedicated server? And I never said its auto synced. You have to have the nbt saved server side for it to actually take effect. With items, they are handled in containers which are server side. It makes more sense for an item to not have problems whereas a renderer will.

 

 

As to the problem persisting... Make a custom packet. Like I said before. Using SimpleMetworkWrapper, you can then make a message to send to server side asking to change the bAmt. That message can send a reply back with the new value, or no reply if the value hasn't changed.

We all stuff up sometimes... But I seem to be at the bottom of that pot.

Link to comment
Share on other sites

I would just like to remind you that single player is actually multiplayer with only one person logged in.

 

Have you tested your item nbt stuff on a dedicated server? And I never said its auto synced. You have to have the nbt saved server side for it to actually take effect. With items, they are handled in containers which are server side. It makes more sense for an item to not have problems whereas a renderer will.

 

 

As to the problem persisting... Make a custom packet. Like I said before. Using SimpleMetworkWrapper, you can then make a message to send to server side asking to change the bAmt. That message can send a reply back with the new value, or no reply if the value hasn't changed.

 

I'll work on a packet tomorrow and see if that works. I took a look at the SimpleNetworkWrapper in the tutorials and tried making a class that implemented IMessage and another that implemented IMessageHandler, neither of which were classed that existed and I could use.

Link to comment
Share on other sites

Yeah... Oops. I didn't read the title very well. Didn't realize you were 1.6.4...

 

There are plenty of packet handling tutorials for 1.6.4 so don't worry.

We all stuff up sometimes... But I seem to be at the bottom of that pot.

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 am trying to get custom GUIs working, and I would like to have a GUI that works only client-side, which means that you are not supposed to pull items out, but I do want to display items in my GUI and let the player click them. I have a GUI working that has a size of 54 slots and I made a custom texture to remove the player inventory from the GUI texture (see image) Everything kinda works, but is seems like the inventory is in some way still linked to the player's inventory, even though I didn't add any slots linked to the player's inventory. As an example: If is click in the 5th row of my GUI, I get the chest that was in my hot bar slot (see image). It seems like the handling of the clicking of the inventory is handled by the player inventory still. I also get an error if I click in the bottom row because "java.lang.IndexOutOfBoundsException: Index: 49, Size: 45" the player inventory has a size of 45 I guess? I have posted all my relevant code below, if more is needed to solve this issue please tell me, thanks!   Image of weird behaviour: FlipsMenu.java: Opens the menu by changing a "screen to open" variable that gets checked every tick. AHFlipsGui.java: draws the background image and specifies size of the gui. AHFlipsContainer.java: Where we assign the slots.   AHFlipsInventory.java: The actual inventory.  
    • Remove Create Steam and Rails And only post the mclo.gs link This is correct - for example, Forge alone loads 2 mods
    • Looks like an issue/conflict between createbigcannons and Immersive Portals Make a test without one of these mods
    • Hey, try this website (https://jenny-mod.info) for Jenny Mod. I downloaded the Jenny mod from this website and it's working fine, I am enjoying my girlfriend. This website is just a life-saving for me.
    • When I try to start minecraft with any version of apugli, it crashes with error code 1. I would like to be able to use apugli. I assume it is possible. Here is the log. [25Jul2024 01:13:40.857] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--username, Hulk_Lover_Plays, --version, 1.20.1-forge-47.2.0, --gameDir, /Users/********/Library/Application Support/minecraft, --assetsDir, /Users/********/Library/Application Support/minecraft/assets, --assetIndex, 5, --uuid, 66f9ccb4b165413793c5fe0231c6f69b, --accessToken, ❄❄❄❄❄❄❄❄, --clientId, Q0UwMThENjY0MTcwNDg1RjgyOUFDNEU1MjFBODRDOUE=, --xuid, 2535440348547496, --userType, msa, --versionType, release, --quickPlayPath, /Users/********/Library/Application Support/minecraft/quickPlay/java/1721884416999.json, --launchTarget, forgeclient, --fml.forgeVersion, 47.2.0, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412] [25Jul2024 01:13:40.883] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.8 by Microsoft; OS Mac OS X arch x86_64 version 14.5 [25Jul2024 01:13:41.291] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: Loading ImmediateWindowProvider fmlearlywindow [25Jul2024 01:13:41.471] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.6 [25Jul2024 01:13:41.542] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.5 [25Jul2024 01:13:41.556] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.4 [25Jul2024 01:13:41.568] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.3 [25Jul2024 01:13:41.579] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.2 [25Jul2024 01:13:41.591] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.1 [25Jul2024 01:13:41.609] [main/INFO] [EARLYDISPLAY/]: Requested GL version 4.1 got version 4.1 [25Jul2024 01:13:41.737] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.onLoad [25Jul2024 01:13:41.740] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFine ZIP file URL: union:/Users/********/Library/Application%20Support/minecraft/mods/OptiFine_1.20.1_HD_U_I6.jar%23161!/ [25Jul2024 01:13:41.750] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFine ZIP file: /Users/********/Library/Application Support/minecraft/mods/OptiFine_1.20.1_HD_U_I6.jar [25Jul2024 01:13:41.753] [main/INFO] [optifine.OptiFineTransformer/]: Target.PRE_CLASS is available [25Jul2024 01:13:41.804] [pool-2-thread-1/INFO] [EARLYDISPLAY/]: GL info: Apple M1 GL version 4.1 Metal - 88.1, Apple [25Jul2024 01:13:41.853] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/Users/********/Library/Application%20Support/minecraft/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2394!/ Service=ModLauncher Env=CLIENT [25Jul2024 01:13:41.880] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.initialize [25Jul2024 01:13:42.380] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/********/Library/Application Support/minecraft/libraries/net/minecraftforge/fmlcore/1.20.1-47.2.0/fmlcore-1.20.1-47.2.0.jar is missing mods.toml file [25Jul2024 01:13:42.386] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/********/Library/Application Support/minecraft/libraries/net/minecraftforge/javafmllanguage/1.20.1-47.2.0/javafmllanguage-1.20.1-47.2.0.jar is missing mods.toml file [25Jul2024 01:13:42.389] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/********/Library/Application Support/minecraft/libraries/net/minecraftforge/lowcodelanguage/1.20.1-47.2.0/lowcodelanguage-1.20.1-47.2.0.jar is missing mods.toml file [25Jul2024 01:13:42.392] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/********/Library/Application Support/minecraft/libraries/net/minecraftforge/mclanguage/1.20.1-47.2.0/mclanguage-1.20.1-47.2.0.jar is missing mods.toml file [25Jul2024 01:13:42.759] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File: and Mod File: . Using Mod File: [25Jul2024 01:13:42.761] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 5 dependencies adding them to mods collection [25Jul2024 01:13:44.084] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.transformers [25Jul2024 01:13:44.100] [main/INFO] [optifine.OptiFineTransformer/]: Targets: 412 [25Jul2024 01:13:46.160] [main/INFO] [optifine.OptiFineTransformationService/]: additionalClassesLocator: [optifine., net.optifine.] [25Jul2024 01:13:46.675] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [25Jul2024 01:13:46.718] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeclient' with arguments [--version, 1.20.1-forge-47.2.0, --gameDir, /Users/********/Library/Application Support/minecraft, --assetsDir, /Users/********/Library/Application Support/minecraft/assets, --uuid, 66f9ccb4b165413793c5fe0231c6f69b, --username, Hulk_Lover_Plays, --assetIndex, 5, --accessToken, ❄❄❄❄❄❄❄❄, --clientId, Q0UwMThENjY0MTcwNDg1RjgyOUFDNEU1MjFBODRDOUE=, --xuid, 2535440348547496, --userType, msa, --versionType, release, --quickPlayPath, /Users/********/Library/Application Support/minecraft/quickPlay/java/1721884416999.json] [25Jul2024 01:13:51.055] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.6). [25Jul2024 01:13:55.244] [main/FATAL] [mixin/]: Mixin apply failed apugli.forge.mixins.json:client.GameRendererMixin -> net.minecraft.client.renderer.GameRenderer: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Critical injection failure: @ModifyExpressionValue annotation on apugli$preventPickingOfPreventedEntities could not find any targets matching 'Lnet/minecraft/client/renderer/GameRenderer;m_234236_(Lnet/minecraft/world/entity/Entity;)Z' in net.minecraft.client.renderer.GameRenderer. Using refmap apugli.refmap.json [PREINJECT Applicator Phase -> apugli.forge.mixins.json:client.GameRendererMixin -> Prepare Injections -> -> modifyExpressionValue$zpb000$apugli$preventPickingOfPreventedEntities(ZLnet/minecraft/world/entity/Entity;)Z -> Parse] org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @ModifyExpressionValue annotation on apugli$preventPickingOfPreventedEntities could not find any targets matching 'Lnet/minecraft/client/renderer/GameRenderer;m_234236_(Lnet/minecraft/world/entity/Entity;)Z' in net.minecraft.client.renderer.GameRenderer. Using refmap apugli.refmap.json [PREINJECT Applicator Phase -> apugli.forge.mixins.json:client.GameRendererMixin -> Prepare Injections -> -> modifyExpressionValue$zpb000$apugli$preventPickingOfPreventedEntities(ZLnet/minecraft/world/entity/Entity;)Z -> Parse] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.validateTargets(InjectionInfo.java:656) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findTargets(InjectionInfo.java:587) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.readAnnotation(InjectionInfo.java:330) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:316) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:308) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at com.llamalad7.mixinextras.injector.MixinExtrasInjectionInfo.<init>(MixinExtrasInjectionInfo.java:10) ~[MixinExtras-0.3.6.jar%23188!/:?] at com.llamalad7.mixinextras.injector.ModifyExpressionValueInjectionInfo.<init>(ModifyExpressionValueInjectionInfo.java:15) ~[MixinExtras-0.3.6.jar%23188!/:?] at jdk.internal.reflect.GeneratedConstructorAccessor27.newInstance(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo$InjectorEntry.create(InjectionInfo.java:149) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.parse(InjectionInfo.java:708) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1311) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1042) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:393) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:383) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:365) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.9.jar:10.0.9+10.0.9+main.dcd20f30] at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?] at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.10.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] at java.lang.Class.getDeclaredFields0(Native Method) ~[?:?] at java.lang.Class.privateGetDeclaredFields(Class.java:3297) ~[?:?] at java.lang.Class.getDeclaredFields(Class.java:2371) ~[?:?] at net.optifine.reflect.FieldLocatorTypes.<init>(FieldLocatorTypes.java:25) ~[OptiFine_1.20.1_HD_U_I6.jar%23192!/:?] at net.optifine.reflect.Reflector.<clinit>(Reflector.java:550) ~[OptiFine_1.20.1_HD_U_I6.jar%23192!/:?] at net.minecraft.CrashReport.m_127526_(CrashReport.java:176) ~[client-1.20.1-20230612.114412-srg.jar%23171!/:?] at net.minecraft.CrashReport.m_127529_(CrashReport.java:346) ~[client-1.20.1-20230612.114412-srg.jar%23171!/:?] at net.minecraft.client.main.Main.main(Main.java:149) ~[1.20.1-forge-47.2.0.jar:?] 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:?]
  • Topics

×
×
  • Create New...

Important Information

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