Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[Solved][1.16.4] How do I correctly sync capability data between Client and server?


Recommended Posts

Hi, I'm having problems syncing my mod's capability data. There's no errors/crashes or anything, but my code doesn't appear to be doing anything, as reloading the world resets all data values to zero. so I was wondering if someone could look at my code to see if I'm doing anything wrong, or am missing anything.

 

My event handler:

package lk1905.gielinorcraft;

import lk1905.gielinorcraft.api.skill.ISkills;
import lk1905.gielinorcraft.capability.skill.SkillCapability;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.entity.player.PlayerEvent.PlayerChangedDimensionEvent;
import net.minecraftforge.event.entity.player.PlayerEvent.PlayerLoggedInEvent;
import net.minecraftforge.event.entity.player.PlayerEvent.PlayerRespawnEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;

@Mod.EventBusSubscriber(modid = Gielinorcraft.MODID, bus = Mod.EventBusSubscriber.Bus.FORGE)
public class EventHandler {

	@SubscribeEvent
	public static void onPlayerClone(PlayerEvent.Clone event) {
		
		LazyOptional<ISkills> oldCap = event.getOriginal().getCapability(SkillCapability.SKILL_CAP, null);
		LazyOptional<ISkills> newCap = event.getPlayer().getCapability(SkillCapability.SKILL_CAP, null);
		ISkills oldSkills = oldCap.orElse(null);
		
		if(oldSkills != null) {
			ISkills newSkills = newCap.orElse(null);
			
			if(newSkills != null) {
				
				for(int i = 0; i < 26; i++) {
					newSkills.setXp(i, oldSkills.getXp(i));
					newSkills.setStaticLevel(i, oldSkills.getStaticLevel(i));
					newSkills.setLevel(i, oldSkills.getLevel(i));
				}
			}
		}
	}
	
	@SubscribeEvent
	public static void onPlayerChangedDimensionEvent(PlayerChangedDimensionEvent event) {
		ServerPlayerEntity player = (ServerPlayerEntity) event.getPlayer();
		if(!player.world.isRemote) {
			player.getCapability(SkillCapability.SKILL_CAP).ifPresent(c -> c.sync(player));
		}
	}
	
	@SubscribeEvent
	public static void onRespawnEvent(PlayerRespawnEvent event) {
		if(!event.getPlayer().world.isRemote) {
			event.getPlayer().getCapability(SkillCapability.SKILL_CAP).ifPresent(c -> c.sync((ServerPlayerEntity) event.getPlayer()));
		}
	}
	
	@SubscribeEvent
	public static void onPlayerConnect(PlayerLoggedInEvent event) {
		ServerPlayerEntity player = (ServerPlayerEntity) event.getPlayer();
		if(!player.world.isRemote) {
			player.getCapability(SkillCapability.SKILL_CAP).ifPresent(c -> c.sync(player));
		}
	}
}

 

My packet handler:

package lk1905.gielinorcraft.network;

import java.util.List;

import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.fml.network.NetworkDirection;
import net.minecraftforge.fml.network.NetworkRegistry;
import net.minecraftforge.fml.network.simple.SimpleChannel;

public class PacketHandler {

	private static final String PROTOCOL_VERSION = Integer.toString(1);
	private static final SimpleChannel HANDLER = NetworkRegistry.ChannelBuilder
												.named(new ResourceLocation("gielinorcraft", "main_channel"))
												.clientAcceptedVersions(PROTOCOL_VERSION::equals)
												.serverAcceptedVersions(PROTOCOL_VERSION::equals)
												.networkProtocolVersion(() -> PROTOCOL_VERSION)
												.simpleChannel();
	public static void register() {
		int disc = 0;
		HANDLER.registerMessage(disc++,
				SkillsPacket.class,
				SkillsPacket::encode,
				SkillsPacket::decode,
				SkillsPacket.Handler::handle);
	}
	
	/**
	 * Sends a packet to a specific player.<br>
	 * Must be called server side.
	 * */
	public static void sendTo(Object msg, ServerPlayerEntity player) {
		if(!(player instanceof FakePlayer)) {
			HANDLER.sendTo(msg, player.connection.netManager, NetworkDirection.PLAY_TO_CLIENT);
		}
	}
	
	/**
	 * Sends a packet to the server.<br>
	 * Must be called client side.
	 * */
	public static void sendToServer(Object msg) {
		HANDLER.sendToServer(msg);
	}
	
	/**Server side.*/
	public static void sendToAllPlayers(Object msg, MinecraftServer server) {
		List<ServerPlayerEntity> list = server.getPlayerList().getPlayers();
		for(ServerPlayerEntity e : list) {
			sendTo(msg, e);
		}
	}
}

 

The packet class for my capability:

package lk1905.gielinorcraft.network;

import java.util.function.Supplier;

import lk1905.gielinorcraft.capability.skill.SkillCapability;
import net.minecraft.client.Minecraft;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.network.PacketBuffer;
import net.minecraftforge.fml.network.NetworkEvent;

public class SkillsPacket {

	private final CompoundNBT nbt;
	
	public SkillsPacket(CompoundNBT nbt) {
		this.nbt = nbt;
	}
	
	public static void encode(SkillsPacket msg, PacketBuffer buf) {
		buf.writeCompoundTag(msg.nbt);
	}
	
	public static SkillsPacket decode(PacketBuffer buf) {
		return new SkillsPacket(buf.readCompoundTag());
	}
	
	public static class Handler{
		public static void handle(final SkillsPacket msg, Supplier<NetworkEvent.Context> ctx) {
		
			Minecraft mc = Minecraft.getInstance();
			
			ctx.get().enqueueWork(() -> {
				
				mc.player.getCapability(SkillCapability.SKILL_CAP).ifPresent(cap -> cap.deserializeNBT(msg.nbt));
				
			});
			ctx.get().setPacketHandled(true);
		}
	}
}

 

All other code is here.

 

 

Link to post
Share on other sites

I don't know if this is intentional but in your SkillStorage, method writeNBT you kept rewrite/override the value of "xp", "static", and "dynamic".

I guess what you are trying to do here is something like:

		for(int i = 0; i < 26; i++) 
        	{
			data.putInt("xp" + i, (int) instance.getXp(i) * 10);
			data.putInt("static" + i, instance.getStaticLevel(i));
			data.putInt("dynamic" + i, instance.getLevel(i));
		}

so does writeNBT(), you assign the same value to every slot or whatever it is.

  • Thanks 1
Link to post
Share on other sites

I don't think there's anything wrong with the SkillStorage, as I can gain xp just fine, in the correct skills, the data is just reset to zero when i close and reopen the world.

 

I also have the "Hitpoints" skill set to level 10 and 1154 xp by default. If I comment out my PlayerLoggedInEvent, the skill is correctly set to those values in game, and is reset to those values when I leave the world. But with the event enabled, both the level and xp values are set to 1 and 0.

Link to post
Share on other sites
On 1/6/2020 at 10:28 AM, diesieben07 said:

If you want the data to be available to the client who's player it is attached to:

  • Send the data to the player in PlayerLoggedInEvent, PlayerRespawnEvent and PlayerChangedDimensionEvent.
  • Send the data to the player whenever it changes.

Don't forget to sync your capability data in Skills#addExp otherwise you wouldn't see any changes before those events.

Link to post
Share on other sites
1 hour ago, Sainthozier said:

Don't forget to sync your capability data in Skills#addExp otherwise you wouldn't see any changes before those events.

This is probably a stupid question, but how would I do that? I tried adding it to SkillStorage the same way I have the getXP, getLevel and getStaticLevel methods, but that made no difference. Is that what you meant, or something different?

Link to post
Share on other sites
12 hours ago, Sainthozier said:

Just call your sync method whenever the data changes.

I added it into the AddXP method like this:

if(entity instanceof PlayerEntity) {
			sync((ServerPlayerEntity) entity);
		}

That didn't make any difference. Is that what you meant?

Link to post
Share on other sites
13 hours ago, diesieben07 said:

This is entirely broken. You are reaching across logical sides. Even if you were on the client here, you must modify capability data on the server, if you want it to persist. Only the server saves data.

I changed that part to this:

		PlayerEntity player = (PlayerEntity) event.getSource().getTrueSource();
		LazyOptional<ISkills> cap = player.getCapability(SkillCapability.SKILL_CAP);
		ISkills skills = cap.orElse(null);

But now I can't gain xp at all. Is that the correct way of doing it?

Link to post
Share on other sites
11 hours ago, diesieben07 said:

What makes you think you are not gaining XP? How have you checked?

My GUI doesn't update the xp values.

 

This is how I reference the player in my GUI:

	private PlayerEntity player = Minecraft.getInstance().player;
	private LazyOptional<ISkills> cap = player.getCapability(SkillCapability.SKILL_CAP);
	private ISkills skills = cap.orElse(null);

Do I need to reference the Server Player instead? If so, how?

 

Or Is the client player already supposed to know my server player data from my events/packets? If so, why aren't they working? They're in the OP.

Link to post
Share on other sites

Is that this part?

	public static void register() {
		CapabilityManager.INSTANCE.register(ISkills.class, new SkillStorage(), () -> new Skills(null));
	}

 

If so, isn't that part supposed to be null? Every other capability I've seen from other people that had an entity/player there had it set to null.

Link to post
Share on other sites
12 minutes ago, LK1905 said:

If so, isn't that part supposed to be null?

No...? I mean, you never set the entity field anywhere else but then you use it to sync (or at least try to) here. Since you never set entity to anything but null that condition will never be true and you never call sync.

 

14 minutes ago, LK1905 said:

Every other capability I've seen from other people that had an entity/player there had it set to null.

Then they are either doing something differently than you or they are equally broken.

Link to post
Share on other sites
  • 2 weeks later...
  • LK1905 changed the title to [Solved][1.16.4] How do I correctly sync capability data between Client and server?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • hi, i started to learn forge modding.  my .json file in src/main/resources/asserts/{modid}/models/item/xxx.json but the intellij say:  [Worker-Main-11/WARN] [minecraft/ModelBakery]: Unable to load model: 'zombieliquid:rotten_flesh_plus#inventory' referenced from: zombieliquid:rotten_flesh_plus#inventory: java.io.FileNotFoundException: zombieliquid:models/item/rotten_flesh_plus.json hope to get help. this is my project:  https://github.com/YellowZhiyi/zombieliquid_mod
    • Can't run Minecraft for more than 10 seconds without it crashing. Seems to happen to only this one client.  Crash report:  ---- Minecraft Crash Report ---- // Shall we play a game? Time: 4/18/21 1:21 PM Description: Container click java.lang.IllegalStateException: Unrecognized tag     at net.minecraft.tags.ITagCollection.func_232975_b_(ITagCollection.java:35) ~[?:?] {re:classloading}     at net.minecraft.item.crafting.Ingredient$TagList.func_199799_a(Ingredient.java:277) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.lambda$new$4(Ingredient.java:47) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient$$Lambda$2558/302312043.test(Unknown Source) ~[?:?] {}     at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) ~[?:1.8.0_51] {}     at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) ~[?:1.8.0_51] {}     at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:529) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:516) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) ~[?:1.8.0_51] {}     at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230) ~[?:1.8.0_51] {}     at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_51] {}     at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:449) ~[?:1.8.0_51] {}     at net.minecraft.item.crafting.Ingredient.<init>(Ingredient.java:47) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.func_209357_a(Ingredient.java:153) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.func_199805_a(Ingredient.java:174) ~[?:?] {re:classloading,pl:accesstransformer:B}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial.lambda$new$0(WeaponMaterial.java:67) ~[?:1.16.4-2.1.0-beta-3] {re:classloading}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial$$Lambda$6850/1710435563.get(Unknown Source) ~[?:?] {}     at net.minecraft.util.LazyValue.func_179281_c(SourceFile:16) ~[?:?] {re:classloading}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial.func_200924_f(WeaponMaterial.java:154) ~[?:1.16.4-2.1.0-beta-3] {re:classloading}     at net.minecraft.item.TieredItem.func_82789_a(SourceFile:22) ~[?:?] {re:classloading}     at net.minecraft.inventory.container.RepairContainer.func_82848_d(RepairContainer.java:106) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:goblintraders.mixins.json:RepairContainerMixin,pl:mixin:A}     at net.minecraft.inventory.container.AbstractRepairContainer.func_75130_a(SourceFile:80) ~[?:?] {re:mixin,re:classloading}     at net.minecraft.inventory.container.AbstractRepairContainer$1.func_70296_d(SourceFile:26) ~[?:?] {re:classloading}     at net.minecraft.inventory.Inventory.func_70299_a(SourceFile:136) ~[?:?] {re:classloading}     at net.minecraft.inventory.container.Slot.func_75215_d(Slot.java:61) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.inventory.container.Container.func_241440_b_(Container.java:278) ~[?:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}     at net.minecraft.inventory.container.Container.func_184996_a(Container.java:160) ~[?:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}     at net.minecraft.client.multiplayer.PlayerController.func_187098_a(PlayerController.java:379) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screen.inventory.ContainerScreen.func_184098_a(ContainerScreen.java:539) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ContainerScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screen.inventory.ContainerScreen.func_231048_c_(ContainerScreen.java:509) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ContainerScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.lambda$mouseButtonCallback$1(MouseHelper.java:93) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$11471/1792255177.run(Unknown Source) ~[?:?] {}     at net.minecraft.client.gui.screen.Screen.func_231153_a_(Screen.java:427) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.func_198023_a(MouseHelper.java:91) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.lambda$null$4(MouseHelper.java:175) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$9795/1999877134.run(Unknown Source) ~[?:?] {}     at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(ThreadTaskExecutor.java:106) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,xf:OptiFine:default}     at net.minecraft.client.MouseHelper.lambda$registerCallbacks$5(MouseHelper.java:174) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$9524/2041882671.invoke(Unknown Source) ~[?:?] {}     at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36) ~[lwjgl-glfw-3.2.2.jar:build 10] {}     at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.2.2.jar:build 10] {}     at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3101) ~[lwjgl-glfw-3.2.2.jar:build 10] {}     at com.mojang.blaze3d.systems.RenderSystem.flipFrame(SourceFile:102) ~[?:?] {re:classloading}     at net.minecraft.client.MainWindow.func_227802_e_(MainWindow.java:398) ~[?:?] {re:classloading,xf:OptiFine:default}     at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:996) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:184) [?:?] {re:classloading,pl:runtimedistcleaner:A}     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}     at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) [forge-1.16.5-36.0.46.jar:36.0] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$486/1227170244.call(Unknown Source) [forge-1.16.5-36.0.46.jar:36.0] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at net.minecraft.tags.ITagCollection.func_232975_b_(ITagCollection.java:35) ~[?:?] {re:classloading}     at net.minecraft.item.crafting.Ingredient$TagList.func_199799_a(Ingredient.java:277) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.lambda$new$4(Ingredient.java:47) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient$$Lambda$2558/302312043.test(Unknown Source) ~[?:?] {}     at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) ~[?:1.8.0_51] {}     at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) ~[?:1.8.0_51] {}     at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:529) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:516) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) ~[?:1.8.0_51] {}     at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230) ~[?:1.8.0_51] {}     at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196) ~[?:1.8.0_51] {}     at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_51] {}     at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:449) ~[?:1.8.0_51] {}     at net.minecraft.item.crafting.Ingredient.<init>(Ingredient.java:47) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.func_209357_a(Ingredient.java:153) ~[?:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.item.crafting.Ingredient.func_199805_a(Ingredient.java:174) ~[?:?] {re:classloading,pl:accesstransformer:B}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial.lambda$new$0(WeaponMaterial.java:67) ~[?:1.16.4-2.1.0-beta-3] {re:classloading}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial$$Lambda$6850/1710435563.get(Unknown Source) ~[?:?] {}     at net.minecraft.util.LazyValue.func_179281_c(SourceFile:16) ~[?:?] {re:classloading}     at com.oblivioussp.spartanweaponry.api.WeaponMaterial.func_200924_f(WeaponMaterial.java:154) ~[?:1.16.4-2.1.0-beta-3] {re:classloading}     at net.minecraft.item.TieredItem.func_82789_a(SourceFile:22) ~[?:?] {re:classloading}     at net.minecraft.inventory.container.RepairContainer.func_82848_d(RepairContainer.java:106) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:goblintraders.mixins.json:RepairContainerMixin,pl:mixin:A}     at net.minecraft.inventory.container.AbstractRepairContainer.func_75130_a(SourceFile:80) ~[?:?] {re:mixin,re:classloading}     at net.minecraft.inventory.container.AbstractRepairContainer$1.func_70296_d(SourceFile:26) ~[?:?] {re:classloading}     at net.minecraft.inventory.Inventory.func_70299_a(SourceFile:136) ~[?:?] {re:classloading}     at net.minecraft.inventory.container.Slot.func_75215_d(Slot.java:61) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.inventory.container.Container.func_241440_b_(Container.java:278) ~[?:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B} -- Click info -- Details:     Menu Type: minecraft:anvil     Menu Class: net.minecraft.inventory.container.RepairContainer     Slot Count: 39     Slot: 1     Button: 0     Type: PICKUP Stacktrace:     at net.minecraft.inventory.container.Container.func_184996_a(Container.java:160) ~[?:?] {re:classloading,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B}     at net.minecraft.client.multiplayer.PlayerController.func_187098_a(PlayerController.java:379) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screen.inventory.ContainerScreen.func_184098_a(ContainerScreen.java:539) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ContainerScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screen.inventory.ContainerScreen.func_231048_c_(ContainerScreen.java:509) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ContainerScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.lambda$mouseButtonCallback$1(MouseHelper.java:93) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$11471/1792255177.run(Unknown Source) ~[?:?] {} -- Affected screen -- Details:     Screen name: net.minecraft.client.gui.screen.inventory.AnvilScreen Stacktrace:     at net.minecraft.client.gui.screen.Screen.func_231153_a_(Screen.java:427) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:quark.mixins.json:client.ScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.func_198023_a(MouseHelper.java:91) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper.lambda$null$4(MouseHelper.java:175) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$9795/1999877134.run(Unknown Source) ~[?:?] {}     at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(ThreadTaskExecutor.java:106) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,xf:OptiFine:default}     at net.minecraft.client.MouseHelper.lambda$registerCallbacks$5(MouseHelper.java:174) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.MouseHelper$$Lambda$9524/2041882671.invoke(Unknown Source) ~[?:?] {}     at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:36) ~[lwjgl-glfw-3.2.2.jar:build 10] {}     at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.2.2.jar:build 10] {}     at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3101) ~[lwjgl-glfw-3.2.2.jar:build 10] {}     at com.mojang.blaze3d.systems.RenderSystem.flipFrame(SourceFile:102) ~[?:?] {re:classloading} -- Affected level -- Details:     All players: 1 total; [ClientPlayerEntity['capelinmoe'/11786, l='ClientLevel', x=-6075.67, y=71.00, z=-1485.13]]     Chunk stats: Client Chunk Cache: 441, 225     Level dimension: minecraft:overworld     Level spawn location: World: (-229,105,240), Chunk: (at 11,6,0 in -15,15; contains blocks -240,0,240 to -225,255,255), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)     Level time: 36986877 game time, 59715 day time     Server brand: forge     Server type: Non-integrated multiplayer server Stacktrace:     at net.minecraft.client.world.ClientWorld.func_72914_a(ClientWorld.java:617) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,xf:OptiFine:default,xf:fml:astralsorcery:sun_brightness_client,pl:mixin:APP:mixins.sndctrl.json:MixinClientWorld,pl:mixin:A}     at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2029) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:623) [?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:184) [?:?] {re:classloading,pl:runtimedistcleaner:A}     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51] {}     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51] {}     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51] {}     at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) [forge-1.16.5-36.0.46.jar:36.0] {}     at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$486/1227170244.call(Unknown Source) [forge-1.16.5-36.0.46.jar:36.0] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {} -- System Details -- Details:     Minecraft Version: 1.16.5     Minecraft Version ID: 1.16.5     Operating System: Windows 10 (amd64) version 10.0     Java Version: 1.8.0_51, Oracle Corporation     Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation     Memory: 452627472 bytes (431 MB) / 2147483648 bytes (2048 MB) up to 2147483648 bytes (2048 MB)     CPUs: 4     JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     ModLauncher: 8.0.9+86+master.3cf110c     ModLauncher launch target: fmlclient     ModLauncher naming: srg     ModLauncher services:          /mixin-0.8.2.jar mixin PLUGINSERVICE          /eventbus-4.0.0.jar eventbus PLUGINSERVICE          /forge-1.16.5-36.0.46.jar object_holder_definalize PLUGINSERVICE          /forge-1.16.5-36.0.46.jar runtime_enum_extender PLUGINSERVICE          /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE          /forge-1.16.5-36.0.46.jar capability_inject_definalize PLUGINSERVICE          /forge-1.16.5-36.0.46.jar runtimedistcleaner PLUGINSERVICE          /mixin-0.8.2.jar mixin TRANSFORMATIONSERVICE          /OptiFine_1.16.5_HD_U_G7.jar OptiFine TRANSFORMATIONSERVICE          /forge-1.16.5-36.0.46.jar fml TRANSFORMATIONSERVICE      FML: 36.0     Forge: net.minecraftforge:36.0.46     FML Language Providers:          javafml@36.0         minecraft@1     Mod List:          astralsorcery-1.16.4-1.13.9.jar                   |Astral Sorcery                |astralsorcery                 |1.16.4-1.13.9       |DONE      |45:2b:0a:49:6b:65:3b:39:a9:dd:d2:5b:55:7f:82:47:a5:1d:7a:cc:7f:a8:69:73:72:53:6f:57:4d:b2:1a:b7         pamhc2trees-1.16.3-1.0.0.jar                      |Pam's HarvestCraft 2 Fruit Tre|pamhc2trees                   |1.0.0               |DONE      |NOSIGNATURE         jei-1.16.4-7.6.1.71.jar                           |Just Enough Items             |jei                           |7.6.1.71            |DONE      |NOSIGNATURE         Druidcraft-1.16.5-0.4.52.jar                      |Druidcraft                    |druidcraft                    |0.4.52              |DONE      |NOSIGNATURE         goblintraders-1.3.1-1.16.3.jar                    |Goblin Traders                |goblintraders                 |1.3.1               |DONE      |NOSIGNATURE         strawgolem-1.16-1.9.jar                           |Straw Golem                   |strawgolem                    |1.16-1.9            |DONE      |NOSIGNATURE         BetterCaves-Forge-1.16.4-1.1.1.jar                |YUNG's Better Caves           |bettercaves                   |1.16.4-1.1.1        |DONE      |NOSIGNATURE         Waystones_1.16.5-7.4.0.jar                        |Waystones                     |waystones                     |7.4.0               |DONE      |NOSIGNATURE         TerraForged-1.16.4-0.2.9.jar                      |TerraForged                   |terraforged                   |0.2.9               |DONE      |7b:73:d0:a2:c3:40:13:84:35:4f:c9:0e:2b:85:8c:08:ea:3c:3c:eb:f1:98:8b:5b:6e:ca:8a:a0:9a:cf:12:b3         EpicFightMod-1.16.4-3.0.3.jar                     |Epic Fight Mod                |epicfight                     |3.0.2               |DONE      |NOSIGNATURE         CookingForBlockheads_1.16.3-9.2.2.jar             |Cooking for Blockheads        |cookingforblockheads          |9.2.2               |DONE      |NOSIGNATURE         comforts-forge-1.16.4-4.0.1.0.jar                 |Comforts                      |comforts                      |1.16.4-4.0.1.0      |DONE      |NOSIGNATURE         citadel-1.6.2.jar                                 |Citadel                       |citadel                       |1.6.2               |DONE      |NOSIGNATURE         alexsmobs-1.8.1.jar                               |Alex's Mobs                   |alexsmobs                     |1.8.1               |DONE      |NOSIGNATURE         NaturesCompass-1.16.5-1.8.6.jar                   |Nature's Compass              |naturescompass                |1.16.5-1.8.6        |DONE      |NOSIGNATURE         catjammies-1.0.0.jar                              |CatJammies                    |catjammies                    |NONE                |DONE      |NOSIGNATURE         YungsApi-1.16.4-Forge-4.jar                       |YUNG's API                    |yungsapi                      |1.16.4-Forge-4      |DONE      |NOSIGNATURE         MutantBeasts-1.16.4-1.1.3.jar                     |Mutant Beasts                 |mutantbeasts                  |1.16.4-1.1.3        |DONE      |d9:be:bd:b6:9a:e4:14:aa:05:67:fb:84:06:77:a0:c5:10:ec:27:15:1b:d6:c0:88:49:9a:ef:26:77:61:0b:5e         mapperbase-1.16.4-2.3.0.0.jar                     |Mapper Base                   |mapperbase                    |1.16.4-2.3.0.0      |DONE      |NOSIGNATURE         mahoutsukai-1.16.5-v1.28.2.jar                    |Mahou Tsukai                  |mahoutsukai                   |1.16.5-v1.28.2      |DONE      |NOSIGNATURE         FpsReducer-mc1.16.4-1.18.jar                      |FPS Reducer                   |fpsreducer                    |mc1.16.4-1.18       |DONE      |NOSIGNATURE         Paraglider-1.16.2-1.3.1.0.jar                     |Paraglider                    |paraglider                    |1.3.1.0             |DONE      |NOSIGNATURE         forge-1.16.5-36.0.46-universal.jar                |Forge                         |forge                         |36.0.46             |DONE      |22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90         Waddles-1.16.4-0.8.11.jar                         |Waddles                       |waddles                       |1.16.4-0.8.11       |DONE      |NOSIGNATURE         BloodMagic-1.16.4-3.1.0-15.jar                    |Blood Magic                   |bloodmagic                    |1.16.4-3.1.0-15     |DONE      |NOSIGNATURE         supplementaries-1.16.5-0.11.0b.jar                |Supplementaries               |supplementaries               |1.16.5-0.11.0       |DONE      |NOSIGNATURE         DynamicSurroundings-1.16.4-4.0.4.1.jar            |§3Dynamic Surroundings        |dsurround                     |1.16.4-4.0.4.1      |DONE      |b4:98:14:b9:76:55:25:4f:e5:5f:4d:71:90:87:43:5b:f9:d5:3a:02:60:42:5e:da:1f:15:9c:ff:be:a9:7c:77         structure_gel-1.16.4-1.7.5.jar                    |Structure Gel API             |structure_gel                 |1.7.5               |DONE      |NOSIGNATURE         antiqueatlas-5.4.4-forge.jar                      |Antique Atlas                 |antiqueatlas                  |5.4.4-forge         |DONE      |NOSIGNATURE         forge-1.16.5-36.0.46-client.jar                   |Minecraft                     |minecraft                     |1.16.5              |DONE      |NOSIGNATURE         embellishcraft-1.16.4-3.3.0.0.jar                 |EmbellishCraft                |embellishcraft                |1.16.4-3.3.0.0      |DONE      |NOSIGNATURE         MouseTweaks-2.14-mc1.16.2.jar                     |Mouse Tweaks                  |mousetweaks                   |2.14                |DONE      |NOSIGNATURE         ShoulderSurfing-1.16.4-2.0.3.jar                  |Shoulder Surfing              |shouldersurfing               |1.16.4-2.0.3        |DONE      |NOSIGNATURE         pamhc2crops-1.16.3-1.0.1.jar                      |Pam's HarvestCraft 2 Crops    |pamhc2crops                   |version             |DONE      |NOSIGNATURE         dungeons_plus-1.16.4-1.1.3.jar                    |Dungeons Plus                 |dungeons_plus                 |1.1.3               |DONE      |NOSIGNATURE         ElenaiDodge2-1.16.X-1.0.8b.jar                    |Elenai Dodge 2                |elenaidodge2                  |1.0.8b              |DONE      |NOSIGNATURE         fairylights-4.0.5-1.16.5.jar                      |Fairy Lights                  |fairylights                   |4.0.5               |DONE      |NOSIGNATURE         jousting-1.16.5-v1.0.3.jar                        |Jousting                      |jousting                      |1.16.5-v1.0.3       |DONE      |NOSIGNATURE         astikorcarts-1.16.5-1.1.1.jar                     |AstikorCarts                  |astikorcarts                  |1.1.1               |DONE      |NOSIGNATURE         pamhc2foodextended-1.16.3-1.0.1.jar               |Pam's HarvestCraft 2 Food Exte|pamhc2foodextended            |version             |DONE      |NOSIGNATURE         curios-forge-1.16.5-4.0.5.0.jar                   |Curios API                    |curios                        |1.16.5-4.0.5.0      |DONE      |NOSIGNATURE         pamhc2foodcore-1.16.3-1.0.2.jar                   |Pam's HarvestCraft 2 Food Core|pamhc2foodcore                |version             |DONE      |NOSIGNATURE         AutoRegLib-1.6-47.jar                             |AutoRegLib                    |autoreglib                    |1.6-47              |DONE      |NOSIGNATURE         Quark-r2.4-308.jar                                |Quark                         |quark                         |r2.4-308            |DONE      |NOSIGNATURE         Runelic-1.16.5-7.0.1.jar                          |Runelic                       |runelic                       |7.0.1               |DONE      |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         worldedit-mod-7.2.4.jar                           |WorldEdit                     |worldedit                     |7.2.4+5723-e3bfc64  |DONE      |NOSIGNATURE         SpartanWeaponry-1.16.4-2.1.0-beta-3.jar           |Spartan Weaponry              |spartanweaponry               |2.1.0 beta 3        |DONE      |NOSIGNATURE         observerlib-1.16.4-1.5.1.jar                      |ObserverLib                   |observerlib                   |1.16.4-1.5.1        |DONE      |NOSIGNATURE         mcw-furniture-2.0.1-mc1.16.5.jar                  |Macaw's Furniture             |mcwfurnitures                 |2.0.1               |DONE      |NOSIGNATURE         solcarrot-1.16.3-1.9.9.jar                        |Spice of Life: Carrot Edition |solcarrot                     |1.16.3-1.9.9        |DONE      |NOSIGNATURE         byg-1.1.14.jar                                    |Oh The Biomes You'll Go       |byg                           |1.1.14              |DONE      |NOSIGNATURE         FriendlyFire-1.16.5-7.0.2.jar                     |FriendlyFire                  |friendlyfire                  |7.0.2               |DONE      |NOSIGNATURE         CraftableHorseArmour-1.16.X-1.4.0.jar             |CHA&S - Craftable Horse Armour|craftablehorsearmour          |1.16.4-1.4.0        |DONE      |NOSIGNATURE         [1.16.5][Forge]+RPG-HUD-3.8.4.jar                 |RPG-Hud                       |rpg-hud                       |3.8.4               |DONE      |NOSIGNATURE         CosmeticArmorReworked-1.16.5-v1b.jar              |CosmeticArmorReworked         |cosmeticarmorreworked         |1.16.5-v1b          |DONE      |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         chiselsandbits-0.3.4-RELEASE.jar                  |Chisels & bits                |chiselsandbits                |NONE                |DONE      |NOSIGNATURE         BetterMineshafts-Forge-1.16.4-2.0.3.jar           |YUNG's Better Mineshafts      |bettermineshafts              |1.16.4-2.0.3        |DONE      |NOSIGNATURE     Crash Report UUID: d3c6c2f9-583b-4f97-a3ad-b7eb4811e1d7     Launched Version: 1.16.5-forge-36.0.46     Backend library: LWJGL version 3.2.2 build 10     Backend API: Intel(R) HD Graphics 520 GL version 4.4.0 - Build 21.20.16.4574, Intel     GL Caps: Using framebuffer using OpenGL 3.0     Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'     Type: Client (map_client.txt)     Graphics mode: fancy     Resource Packs:      Current Language: English (US)     CPU: 4x Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz     OptiFine Version: OptiFine_1.16.5_HD_U_G7     OptiFine Build: 20210305-003221     Render Distance Chunks: 8     Mipmaps: 4     Anisotropic Filtering: 1     Antialiasing: 0     Multitexture: false     Shaders: null     OpenGlVersion: 4.4.0 - Build 21.20.16.4574     OpenGlRenderer: Intel(R) HD Graphics 520     OpenGlVendor: Intel     CpuCount: 4
    • Maybe recheck the code a couple of times? Im just a random guy who found this post  
    • world stops loading at 53%2021-04-18-1.log.gz
    • Try to swich versions of the game, if that dest work try to install the game again.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.