Jump to content

[1.7.10] NBT persistent saving issue - adding additional player data


Thornack

Recommended Posts

What we are trying to get at is 'Why save the entity twice?' Either tie the entity to the ItemStack, or tie it to the player, but not both.

 

Example A: Tied to ItemStack

- Save the entity into the ItemStack NBT

- When the player uses the item or whatever and you spawn the entity, pass the player as an argument much like setting the 'owner' of the entity, and use whatever fields from player / your player's IEEP that you need within the entity class to determine its abilities.

- Example: each player has a power level that increases as they gain experience; this is stored in the player's IEEP, and the entity uses the player's power level to modify its attack damage.

 

Example B: Tied to Player

- ItemStack is subtyped by ID, where each ID is mapped to an entity type

- E.g. 1 = Pikachu, 2 = Charzard, etc.

- The actual entity data is stored in the player's IEEP, probably as an NBTTagCompound until you actually summon it, at which point you should convert it into a real entity

- When the player right clicks with whatever egg, it uses the item's damage value (the stack subtype) to fetch the correct entity data from the player, which then creates the entity

 

There are advantages and disadvantages to each design, but you MUST figure out your design and explain EXACTLY what you are trying to do in plain English (i.e. no code). If you can't explain it in simple terms, you are going to have a very difficult time implementing anything that does what you want.

Link to comment
Share on other sites

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

The reason why I need the entity tied to both the itemstack and upon item pick up the entity gets tied to the player and the itemstack NBT is cleaned up is because the eggs can be stolen by other players. if an egg is stolen then this initiates a quest that is unique to the player that originally caught the entity. In order to get my quest to work properly, in the way that I want it to, I have to know how to tie the entity to both the player and the itemstack. The design I want is clear, all I had issues with is getting the entity to save to the player persistently. I mean currently it does "save" as long as the player doesnt log off or die haha but i am trying out a few things to fix this issue, thanks a lot for the suggestions, ill post if and when i get a solution or if i run into more issues.

Link to comment
Share on other sites

IEEP is by its very nature persistent for each player - it automatically calls your save and load NBT data methods for the correct player each time they log in.

 

However, if you do not implement those two methods correctly, then you cannot expect your data to be correct - your save NBT code:

for(int i=0; i < NUM_SLOTS; i++){
                System.out.println("test equals " + test);
         if(partyNbt != null){
            properties.setTag("Slot"+i, partyNbt); // <-- isn't partyNbt an array?
         }
      }

Looks like you simply made a mistake there - your 'partyNbt' field is an array, but you try to save the array reference rather than the actual element. Needs to be 'partyNbt'. Might want to double-check everywhere else that you access this field, such as the load method.

Link to comment
Share on other sites

Ya I saw that and fixed it but the NBt data still isnt persistent not sure why. I also tried passing in the player as a parameter

 

[but doing this presented a problem] when I pass the player as a Parameter I get Null for all slots of my party. Below is my tryToAddMobToParty method with the player passed in as a parameter and my getPartyMember method that is located inside the IEEP class.

 

I tried to outprint both the Minecraft.getMinecraft.thePlayer and the passed in player and I get the following outprints to consol. What is werid is that if I use Minecraft.getMinecraft.thePlayer the slots are not null when the getPartyMember(); method is called and they contain the NBT data of each unique instance of my entity. if |I used the passed in player the getPartyMember(); outprints null for all slots.

 

Player is EntityPlayerMP['Player845'/247, l='New World', x=1109.00, y=4.00, z=392.58]

Minecraft.getMinecraft.thePlayer is EntityClientPlayerMP['Player845'/247, l='MpServer', x=1109.00, y=5.62, z=392.58]

 

public void tryToAddMobToParty(EntityPlayer player){
                System.out.println("Player is " + player);
                System.out.println("Minecraft.getMinecraft.thePlayer is " + Minecraft.getMinecraft.thePlayer);

	PlayerParty pp = PlayerParty.get(player);// instead of PlayerParty pp = PlayerParty.get(Minecraft.getMinecraft.thePlayer);
	System.out.println("free slot? " + pp.hasFreeSlot());
	if(pp.hasFreeSlot() == true){
	pp.setPartyMember(pp.getNextFreeSlot(), this.hitEntity);	
	System.out.println(this.hitEntity + " saved to slot " + pp.getNextFreeSlot());
	}else{
		this.displayChatMessage(EnumChatFormatting.RED + "Your Party Is Currently Full!");
		System.out.println("next free slot " + pp.getNextFreeSlot());//should return -1 at this point because party is full [works]
		pp.getPartyMember(0);
		System.out.println("first in party " + pp.getPartyMember(0));
		pp.getPartyMember(1);
		System.out.println("second in party " + pp.getPartyMember(1));
		pp.getPartyMember(2);
		System.out.println("thirdt in party " + pp.getPartyMember(2));
		pp.getPartyMember(3);
		System.out.println("fourth in party " + pp.getPartyMember(3));
		pp.getPartyMember(4);
		System.out.println("fifth in party " + pp.getPartyMember(4));
		pp.getPartyMember(5);
		System.out.println("sixth in party " + pp.getPartyMember(5));
	}
}

 

Whats weird is if the party is full and if i pass in the player rather than using Minecraft.getMinecraft.thePlayer then the getPartyMember method doesnt return null and then immediately the next tick it is null again... but what is weird also is that if i try to add another party member the NBT data is still there I know this because the UUID's that get printed dont change...

 

get member in slot0null

get member in slot1null

get member in slot2null

get member in slot3null

get member in slot4null

get member in slot5null

next free slot -1

first mob in party {DropChances:[...

second mob in party {DropChances:[...

thirdt mob in party {DropChances:[...

fourth mob in party {DropChances:[...

sixth mob in party {DropChances:[...

get member in slot1null

get member in slot2null

get member in slot3null

get member in slot4null

get member in slot5null

 

public NBTTagCompound getPartyMember(int slot){
System.out.println("get member in slot" + slot + partyNbt[slot]);
	return partyNbt[slot];
}

I get Null for all slots all the time if I pass in the player but if I use Minecraft.getMinecraft then all is fine and dandy

Link to comment
Share on other sites

Scrap all of your IEEP code right now and go back to saving something simple, like an integer or a string.

 

Figure out how it works first, doing one simple piece, then expand to encompass all the data you actually want.  That way when you go from "well it saved a string" to "but it didn't save an array of strings" you can puzzle out why, rather than going, "fuck this doesn't work."

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

I also fixed the getting client player on server by passing it as a parameter

... I really don't understand what your obsession is with using the client-side version of the player. That makes absolutely no sense, and is very likely part of your problem.

 

There is a server-side version of every entity, including each player, and that is the one you want; the client side is purely for rendering and that kind of stuff - it is NOT where you want to manipulate / store data.

Link to comment
Share on other sites

By fixing it, I THINK he ment that he followed my post and actually made it work on server side. Just a thought.

 

Thornack, hint for you - NBT can be printed using Syso (System.out.println). Put Syso on start and end of write and read NBT. Basically - debug as long as you understand it (Draco's right).

If you won't find it on your own - does your readNBT actually have some NBT (in Syso)?

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

Link to comment
Share on other sites

I do understand it and I already have an IEEP class that adds a stamina bar already and that is persistent and the NBT saves and I am actually using that as a gude to try and get this working. What I am trying to do is waaaay more complicated than a simple stamina bar and hence why I am debugging rather than going backwards.

 

I made my player server side like you suggested and I pass the player in. I put the client and server side player in my debug message to see what the differences were and if you read my last post you can see them. I put what the consol outprints when I try the client player and I also put what it outprints when I try the passed in player (This is the server player I believe that is obtained using the getThrower method inside my class that extends EntityThrowable)

 

I will try the outprints inside the save and load NBT that you suggested and see what I get.

Link to comment
Share on other sites

Where is this tryToAddMobToParty method located at, and where are you calling it from?

 

If it is in your IEEP class, then you should already have a reference to the correct player needed as a class field; if it is in your Item class, you need to make sure you are calling the method on the server only (i.e. when the world is NOT remote), otherwise your method gets called both on the client and the server, and any information you print out on the client is likely to be all null.

 

The point being that we need as much context as you can give us if you want to solve your issue anytime soon.

Link to comment
Share on other sites

Before catching 1 entity all my slots are null which is expected

 

 

[16:44:45] [server thread/INFO]  Before setting tag 0{}

[16:44:45] [server thread/INFO]  PROP 0{}

[16:44:45] [server thread/INFO]  Before setting tag 1{}

[16:44:45] [server thread/INFO]  PROP 1{}

[16:44:45] [server thread/INFO]  Before setting tag 2{}

[16:44:45] [server thread/INFO]  PROP 2{}

[16:44:45] [server thread/INFO]  Before setting tag 3{}

[16:44:45] [server thread/INFO]  PROP 3{}

[16:44:45] [server thread/INFO]  Before setting tag 4{}

[16:44:45] [server thread/INFO]  PROP 4{}

[16:44:45] [server thread/INFO]  Before setting tag 5{}

[16:44:45] [server thread/INFO]  PROP 5{}

[16:44:45] [server thread/INFO]  Before setting tag 0{}

[16:44:45] [server thread/INFO]  PROP 0{}

[16:44:45] [server thread/INFO]  Before setting tag 1{}

[16:44:45] [server thread/INFO]  PROP 1{}

[16:44:45] [server thread/INFO]  Before setting tag 2{}

[16:44:45] [server thread/INFO]  PROP 2{}

[16:44:45] [server thread/INFO]  Before setting tag 3{}

[16:44:45] [server thread/INFO]  PROP 3{}

[16:44:45] [server thread/INFO]  Before setting tag 4{}

[16:44:45] [server thread/INFO]  PROP 4{}

[16:44:45] [server thread/INFO]  Before setting tag 5{}

[16:44:45] [server thread/INFO]  PROP 5{}

 

 

 

After catching 1 entity all slots seem to be given data which is weird Id expect only slot 0 to get data and the rest to be null

 

 

[16:45:10] [server thread/INFO] Before setting tag 0{}

[16:45:10] [server thread/INFO] After setting tag 0{Slot 0:{

[16:45:10] [server thread/INFO] PROP 0{Slot 0:{.....NBT Data......

[16:45:10] [server thread/INFO] Before setting tag 1{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] PROP 1{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] Before setting tag 2{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] PROP 2{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] Before setting tag 3{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] PROP 3{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] Before setting tag 4{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] PROP 4{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] Before setting tag 5{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] PROP 5{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] Before setting tag 0{}

[16:45:10] [server thread/INFO] After setting tag 0{Slot 0:{

[16:45:10] [server thread/INFO] PROP 0{Slot 0:{.....NBT Data(same as above)......

[16:45:10] [server thread/INFO] Before setting tag 1{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] PROP 1{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] Before setting tag 2{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] PROP 2{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] Before setting tag 3{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] PROP 3{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] Before setting tag 4{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] PROP 4{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] Before setting tag 5{Slot 0:{.....NBT Data (same as above)......

[16:45:10] [server thread/INFO] PROP 5{Slot 0:{.....NBT Data (same as above)......

 

 

After catching second entity all slots are again given data but why does it outprint {Slot 0:{.....NBT Data...... shouldnt this be {Slot 1:{.....NBT Data...... since at this point we should be filling slot 1 and not slot 0

 

 

[16:55:42] [server thread/INFO] Before setting tag 0{}

[16:55:42] [server thread/INFO] After setting tag 0{Slot 0:{

[16:55:42] [server thread/INFO] PROP 0{Slot 0:{.....NBT Data......

[16:55:42]  [server thread/INFO] Before setting tag 1{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] PROP 1{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] Before setting tag 2{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] PROP 2{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] Before setting tag 3{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] PROP 3{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] Before setting tag 4{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] PROP 4{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] Before setting tag 5{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] PROP 5{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] Before setting tag 0{}

[16:55:42]  [server thread/INFO] After setting tag 0{Slot 0:{

[16:55:42]  [server thread/INFO] PROP 0{Slot 0:{.....NBT Data(same as above)......

[16:55:42]  [server thread/INFO] Before setting tag 1{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] PROP 1{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] Before setting tag 2{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] PROP 2{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] Before setting tag 3{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] PROP 3{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] Before setting tag 4{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] PROP 4{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] Before setting tag 5{Slot 0:{.....NBT Data (same as above)......

[16:55:42]  [server thread/INFO] PROP 5{Slot 0:{.....NBT Data (same as above)......

 

 

If I catch a third entity then the following weirdness happens. next to PROP 0 this gets printed {Slot 0:..., next to PROP 1 this gets printed {Slot 0:... but PROP 2,3,4, and 5 get {Slot 2:...

 

if I catch a fourth entity then next to PROP 0 there is a {Slot 0:..., next to PROP 1 there is a {Slot 0:...  next to PROP 2 this gets printed {Slot 2:... but next to PROP 3,4, and 5 {Slot 3:... gets printed. Its unexpected I would think that the data would only get placed into the first slot and the rest be null but apparently the entire array is populated each time starting at whichever slot was not populated last. Now for the loadNBTData stuff...

 

After I relog then log back on after having caught 1 entity the consol shows the following

 

 

[17:07:08] [server thread/INFO] [FML]: [server thread] Server side modded connection established

[17:07:08] [server thread/INFO] [sTDOUT]: PROPERTIES before {Slot 0: same as the first entity I caught the UUID's batch

[17:07:08] [server thread/INFO] [sTDOUT]: PROPERTIES slot 0{Slot 0:  same as the first entity I caught the UUID's batch

[17:07:08] [server thread/INFO] [sTDOUT]: PROPERTIES slot 1{Slot 0:  same as the first entity I caught the UUID's batch

[17:07:08] [server thread/INFO] [sTDOUT]: PROPERTIES slot 2{Slot 0:  same as the first entity I caught the UUID's batch

[17:07:08] [server thread/INFO] [sTDOUT]: PROPERTIES slot 3{Slot 0:  same as the first entity I caught the UUID's batch

[17:07:08] [server thread/INFO] [sTDOUT]: PROPERTIES slot 4{Slot 0:  same as the first entity I caught the UUID's batch

[17:07:08] [server thread/INFO] [sTDOUT]: PROPERTIES slot 5{Slot 0:  same as the first entity I caught the UUID's batch

 

 

but at this point when I hit escape to save again then everything becomes Null again and my entity is lost... even though my entity loaded it doesnt seem to get resaved...

 

This is the code that was responsible for the outprints up top

 

@Override
public void saveNBTData(NBTTagCompound compound) {
	NBTTagCompound properties = new NBTTagCompound();
	for(int i=0; i < NUM_SLOTS; i++){
		System.out.println("Before setting tag "+ i + properties);		
		if(partyNbt[i] != null){
			properties.setTag("Slot "+ i, partyNbt[i]);
			System.out.println("After setting tag "+ i + properties);
			}
		     System.out.println("PROP "+ i + properties);
			}
	compound.setTag(EXTENDED_ENTITY_PROPERTIES_TAGNAME, properties);



}

@Override
public void loadNBTData(NBTTagCompound compound) {

	NBTTagCompound properties = (NBTTagCompound) compound.getTag(EXTENDED_ENTITY_PROPERTIES_TAGNAME);
	if(properties != null){
		System.out.println("PROPERTIES before "  + properties);
		for(int i=0; i < NUM_SLOTS; i++){
			System.out.println("PROPERTIES slot " + i + properties);
			if(properties.hasKey("Slot"+i)){
				partyNbt[i] = properties.getCompoundTag("Slot"+i);
				System.out.println("PROPERTIES after " + i + properties); // doesnt seem to be called not sure why
				}
		}
	}


}

 

Link to comment
Share on other sites

The  tryToAddMobToParty is being called inside my holder entity class (this class has access to the player as it is passed the thrower that threw the previous entity) and I make sure to call tryToAddMobToParty on Server only and when I outprint it it only outprints on Server thread

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

    • Hello. I've been having a problem when launching minecraft forge. It just doesn't open the game, and leaves me with this "(exit code 1)" error. Both regular and optifine versions of minecraft launch just fine, tried both with 1.18.2 and 1.20.1. I can assure that my drivers are updated so that can't be it, and i've tried using Java 17, 18 and 21 to no avail. Even with no mods installed, the thing won't launch. I'll leave the log here, although it's in spanish: https://jmp.sh/s/FPqGBSi30fzKJDt2M1gc My specs are this: Ryzen 3 4100 || Radeon R9 280x || 16gb ram || Windows 10 I'd appreciate any help, thank you in advance.
    • Hey, Me and my friends decided to start up a Server with "a few" mods, the last few days everything went well we used all the items we wanted. Now our Game crashes the moment we touch a Lava Bucket inside our Inventory. It just instantly closes and gives me an "Alc Cleanup"  Crash screen (Using GDLauncher). I honestly dont have a clue how to resolve this error. If anyone could help id really appreciate it, I speak German and Englisch so you can choose whatever you speak more fluently. Thanks in Advance. Plus I dont know how to link my Crash Report help for that would be nice too whoops
    • I hosted a minecraft server and I modded it, and there is always an error on the console which closes the server. If someone knows how to repair it, it would be amazing. Thank you. I paste the crash report down here: ---- Minecraft Crash Report ---- WARNING: coremods are present:   llibrary (llibrary-core-1.0.11-1.12.2.jar)   WolfArmorCore (WolfArmorAndStorage-1.12.2-3.8.0-universal-signed.jar)   AstralCore (astralsorcery-1.12.2-1.10.27.jar)   CreativePatchingLoader (CreativeCore_v1.10.71_mc1.12.2.jar)   SecurityCraftLoadingPlugin ([1.12.2] SecurityCraft v1.9.8.jar)   ForgelinPlugin (Forgelin-1.8.4.jar)   midnight (themidnight-0.3.5.jar)   FutureMC (Future-MC-0.2.19.jar)   SpartanWeaponry-MixinLoader (SpartanWeaponry-1.12.2-1.5.3.jar)   Backpacked (backpacked-1.4.3-1.12.2.jar)   LoadingPlugin (Reskillable-1.12.2-1.13.0.jar)   LoadingPlugin (Bloodmoon-MC1.12.2-1.5.3.jar) Contact their authors BEFORE contacting forge // There are four lights! Time: 3/28/24 12:17 PM Description: Exception in server tick loop net.minecraftforge.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/multiplayer/WorldClient     at net.minecraftforge.fml.common.AutomaticEventSubscriber.inject(AutomaticEventSubscriber.java:89)     at net.minecraftforge.fml.common.FMLModContainer.constructMod(FMLModContainer.java:612)     at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:498)     at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)     at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)     at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)     at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)     at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)     at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)     at com.google.common.eventbus.EventBus.post(EventBus.java:217)     at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219)     at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:498)     at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)     at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)     at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)     at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)     at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)     at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)     at com.google.common.eventbus.EventBus.post(EventBus.java:217)     at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136)     at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:595)     at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:98)     at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:333)     at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:125)     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486)     at java.lang.Thread.run(Thread.java:750) Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/multiplayer/WorldClient     at java.lang.Class.getDeclaredMethods0(Native Method)     at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)     at java.lang.Class.privateGetPublicMethods(Class.java:2902)     at java.lang.Class.getMethods(Class.java:1615)     at net.minecraftforge.fml.common.eventhandler.EventBus.register(EventBus.java:82)     at net.minecraftforge.fml.common.AutomaticEventSubscriber.inject(AutomaticEventSubscriber.java:82)     ... 31 more Caused by: java.lang.ClassNotFoundException: net.minecraft.client.multiplayer.WorldClient     at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)     at java.lang.ClassLoader.loadClass(ClassLoader.java:418)     at java.lang.ClassLoader.loadClass(ClassLoader.java:351)     ... 37 more Caused by: net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerException: Exception in class transformer net.minecraftforge.fml.common.asm.transformers.SideTransformer@4e558728 from coremod FMLCorePlugin     at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:260)     at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279)     at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176)     ... 39 more Caused by: java.lang.RuntimeException: Attempted to load class bsb for invalid side SERVER     at net.minecraftforge.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:62)     at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:256)     ... 41 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details:     Minecraft Version: 1.12.2     Operating System: Linux (amd64) version 5.10.0-28-cloud-amd64     Java Version: 1.8.0_382, Temurin     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Temurin     Memory: 948745536 bytes (904 MB) / 1564999680 bytes (1492 MB) up to 7635730432 bytes (7282 MB)     JVM Flags: 2 total; -Xmx8192M -Xms256M     IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0     FML: MCP 9.42 Powered by Forge 14.23.5.2860 63 mods loaded, 63 mods active     States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored     | State | ID                 | Version                 | Source                                                | Signature                                |     |:----- |:------------------ |:----------------------- |:----------------------------------------------------- |:---------------------------------------- |     | LC    | minecraft          | 1.12.2                  | minecraft.jar                                         | None                                     |     | LC    | mcp                | 9.42                    | minecraft.jar                                         | None                                     |     | LC    | FML                | 8.0.99.99               | forge-1.12.2-14.23.5.2860.jar                         | e3c3d50c7c986df74c645c0ac54639741c90a557 |     | LC    | forge              | 14.23.5.2860            | forge-1.12.2-14.23.5.2860.jar                         | e3c3d50c7c986df74c645c0ac54639741c90a557 |     | LC    | creativecoredummy  | 1.0.0                   | minecraft.jar                                         | None                                     |     | LC    | backpacked         | 1.4.2                   | backpacked-1.4.3-1.12.2.jar                           | None                                     |     | LC    | itemblacklist      | 1.4.3                   | ItemBlacklist-1.4.3.jar                               | None                                     |     | LC    | securitycraft      | v1.9.8                  | [1.12.2] SecurityCraft v1.9.8.jar                     | None                                     |     | LC    | aiimprovements     | 0.0.1.3                 | AIImprovements-1.12-0.0.1b3.jar                       | None                                     |     | LC    | jei                | 4.16.1.301              | jei_1.12.2-4.16.1.301.jar                             | None                                     |     | LC    | appleskin          | 1.0.14                  | AppleSkin-mc1.12-1.0.14.jar                           | None                                     |     | LC    | baubles            | 1.5.2                   | Baubles-1.12-1.5.2.jar                                | None                                     |     | LC    | astralsorcery      | 1.10.27                 | astralsorcery-1.12.2-1.10.27.jar                      | a0f0b759d895c15ceb3e3bcb5f3c2db7c582edf0 |     | LC    | attributefix       | 1.0.12                  | AttributeFix-Forge-1.12.2-1.0.12.jar                  | None                                     |     | LC    | atum               | 2.0.20                  | Atum-1.12.2-2.0.20.jar                                | None                                     |     | LC    | bloodmoon          | 1.5.3                   | Bloodmoon-MC1.12.2-1.5.3.jar                          | d72e0dd57935b3e9476212aea0c0df352dd76291 |     | LC    | forgelin           | 1.8.4                   | Forgelin-1.8.4.jar                                    | None                                     |     | LC    | bountiful          | 2.2.2                   | Bountiful-2.2.2.jar                                   | None                                     |     | LC    | camera             | 1.0.10                  | camera-1.0.10.jar                                     | None                                     |     | LC    | chisel             | MC1.12.2-1.0.2.45       | Chisel-MC1.12.2-1.0.2.45.jar                          | None                                     |     | LC    | collective         | 3.0                     | collective-1.12.2-3.0.jar                             | None                                     |     | LC    | reskillable        | 1.12.2-1.13.0           | Reskillable-1.12.2-1.13.0.jar                         | None                                     |     | LC    | compatskills       | 1.12.2-1.17.0           | CompatSkills-1.12.2-1.17.0.jar                        | None                                     |     | LC    | creativecore       | 1.10.0                  | CreativeCore_v1.10.71_mc1.12.2.jar                    | None                                     |     | LC    | customnpcs         | 1.12                    | CustomNPCs_1.12.2-(05Jul20).jar                       | None                                     |     | LC    | darknesslib        | 1.1.2                   | DarknessLib-1.12.2-1.1.2.jar                          | 220f10d3a93b3ff5fbaa7434cc629d863d6751b9 |     | LC    | dungeonsmod        | @VERSION@               | DungeonsMod-1.12.2-1.0.8.jar                          | None                                     |     | LC    | enhancedvisuals    | 1.3.0                   | EnhancedVisuals_v1.4.4_mc1.12.2.jar                   | None                                     |     | LC    | extrautils2        | 1.0                     | extrautils2-1.12-1.9.9.jar                            | None                                     |     | LC    | futuremc           | 0.2.6                   | Future-MC-0.2.19.jar                                  | None                                     |     | LC    | geckolib3          | 3.0.30                  | geckolib-forge-1.12.2-3.0.31.jar                      | None                                     |     | LC    | gottschcore        | 1.15.1                  | GottschCore-mc1.12.2-f14.23.5.2859-v1.15.1.jar        | None                                     |     | LC    | hardcorerevival    | 1.2.0                   | HardcoreRevival_1.12.2-1.2.0.jar                      | None                                     |     | LC    | waila              | 1.8.26                  | Hwyla-1.8.26-B41_1.12.2.jar                           | None                                     |     | LE    | imsm               | 1.12                    | Instant Massive Structures Mod 1.12.2.jar             | None                                     |     | L     | journeymap         | 1.12.2-5.7.1p2          | journeymap-1.12.2-5.7.1p2.jar                         | None                                     |     | L     | mobsunscreen       | @version@               | mobsunscreen-1.12.2-3.1.5.jar                         | None                                     |     | L     | morpheus           | 1.12.2-3.5.106          | Morpheus-1.12.2-3.5.106.jar                           | None                                     |     | L     | llibrary           | 1.7.20                  | llibrary-1.7.20-1.12.2.jar                            | None                                     |     | L     | mowziesmobs        | 1.5.8                   | mowziesmobs-1.5.8.jar                                 | None                                     |     | L     | nocubessrparmory   | 3.0.0                   | NoCubes_SRP_Combat_Addon_3.0.0.jar                    | None                                     |     | L     | nocubessrpnests    | 3.0.0                   | NoCubes_SRP_Nests_Addon_3.0.0.jar                     | None                                     |     | L     | nocubessrpsurvival | 3.0.0                   | NoCubes_SRP_Survival_Addon_3.0.0.jar                  | None                                     |     | L     | nocubesrptweaks    | V4.1                    | nocubesrptweaks-V4.1.jar                              | None                                     |     | L     | patchouli          | 1.0-23.6                | Patchouli-1.0-23.6.jar                                | None                                     |     | L     | artifacts          | 1.1.2                   | RLArtifacts-1.1.2.jar                                 | None                                     |     | L     | rsgauges           | 1.2.8                   | rsgauges-1.12.2-1.2.8.jar                             | None                                     |     | L     | rustic             | 1.1.7                   | rustic-1.1.7.jar                                      | None                                     |     | L     | silentlib          | 3.0.13                  | SilentLib-1.12.2-3.0.14+168.jar                       | None                                     |     | L     | scalinghealth      | 1.3.37                  | ScalingHealth-1.12.2-1.3.42+147.jar                   | None                                     |     | L     | lteleporters       | 1.12.2-3.0.2            | simpleteleporters-1.12.2-3.0.2.jar                    | None                                     |     | L     | spartanshields     | 1.5.5                   | SpartanShields-1.12.2-1.5.5.jar                       | None                                     |     | L     | spartanweaponry    | 1.5.3                   | SpartanWeaponry-1.12.2-1.5.3.jar                      | None                                     |     | L     | srparasites        | 1.9.18                  | SRParasites-1.12.2v1.9.18.jar                         | None                                     |     | L     | treasure2          | 2.2.0                   | Treasure2-mc1.12.2-f14.23.5.2859-v2.2.1.jar           | None                                     |     | L     | treeharvester      | 4.0                     | treeharvester_1.12.2-4.0.jar                          | None                                     |     | L     | twilightforest     | 3.11.1021               | twilightforest-1.12.2-3.11.1021-universal.jar         | None                                     |     | L     | variedcommodities  | 1.12.2                  | VariedCommodities_1.12.2-(31Mar23).jar                | None                                     |     | L     | voicechat          | 1.12.2-2.4.32           | voicechat-forge-1.12.2-2.4.32.jar                     | None                                     |     | L     | wolfarmor          | 3.8.0                   | WolfArmorAndStorage-1.12.2-3.8.0-universal-signed.jar | None                                     |     | L     | worldborder        | 2.3                     | worldborder_1.12.2-2.3.jar                            | None                                     |     | L     | midnight           | 0.3.5                   | themidnight-0.3.5.jar                                 | None                                     |     | L     | structurize        | 1.12.2-0.10.277-RELEASE | structurize-1.12.2-0.10.277-RELEASE.jar               | None                                     |     Loaded coremods (and transformers):  llibrary (llibrary-core-1.0.11-1.12.2.jar)   net.ilexiconn.llibrary.server.core.plugin.LLibraryTransformer   net.ilexiconn.llibrary.server.core.patcher.LLibraryRuntimePatcher WolfArmorCore (WolfArmorAndStorage-1.12.2-3.8.0-universal-signed.jar)    AstralCore (astralsorcery-1.12.2-1.10.27.jar)    CreativePatchingLoader (CreativeCore_v1.10.71_mc1.12.2.jar)    SecurityCraftLoadingPlugin ([1.12.2] SecurityCraft v1.9.8.jar)    ForgelinPlugin (Forgelin-1.8.4.jar)    midnight (themidnight-0.3.5.jar)   com.mushroom.midnight.core.transformer.MidnightClassTransformer FutureMC (Future-MC-0.2.19.jar)   thedarkcolour.futuremc.asm.CoreTransformer SpartanWeaponry-MixinLoader (SpartanWeaponry-1.12.2-1.5.3.jar)    Backpacked (backpacked-1.4.3-1.12.2.jar)   com.mrcrayfish.backpacked.asm.BackpackedTransformer LoadingPlugin (Reskillable-1.12.2-1.13.0.jar)   codersafterdark.reskillable.base.asm.ClassTransformer LoadingPlugin (Bloodmoon-MC1.12.2-1.5.3.jar)   lumien.bloodmoon.asm.ClassTransformer     Profiler Position: N/A (disabled)     Is Modded: Definitely; Server brand changed to 'fml,forge'     Type: Dedicated Server (map_server.txt)
    • When i add mods like falling leaves, visuality and kappas shaders, even if i restart Minecraft they dont show up in the mods menu and they dont work
    • Delete the forge-client.toml file in your config folder  
  • Topics

×
×
  • Create New...

Important Information

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