Monday, 25 August 2025

How to resolve Could not get layer from id 'origins:origin', as it doesn't exist! issue

 


When playing on servers that use origins you may come across this issue randomly. At the moment one of the ways to resolve is to reset the player's origin data on the server.

Your Crash report might look like this:-

---- Minecraft Crash Report ----
// I let you down. Sorry :(
Time: 2025-08-09 15:41:16
Description: Unexpected error
java.lang.IllegalArgumentException: Could not get layer from id 'origins:origin', as it doesn't exist!
at knot//io.github.apace100.origins.origin.OriginLayers.getLayer(OriginLayers.java:78)
at knot//io.github.apace100.origins.power.OriginsEntityConditions.lambda$register$1(OriginsEntityConditions.java:30)
at knot//io.github.apace100.apoli.power.factory.condition.ConditionFactory$Instance.isFulfilled(ConditionFactory.java:44)
at knot//io.github.apace100.apoli.power.factory.condition.ConditionFactory$Instance.test(ConditionFactory.java:35)
at knot//io.github.apace100.apoli.power.factory.condition.EntityConditions.lambda$register$1(EntityConditions.java:69)
at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
at java.base/java.util.LinkedList$LLSpliterator.tryAdvance(LinkedList.java:1256)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.allMatch(ReferencePipeline.java:637)
at knot//io.github.apace100.apoli.power.factory.condition.EntityConditions.lambda$register$2(EntityConditions.java:68)
at knot//io.github.apace100.apoli.power.factory.condition.ConditionFactory$Instance.isFulfilled(ConditionFactory.java:44)
at knot//io.github.apace100.apoli.power.factory.condition.ConditionFactory$Instance.test(ConditionFactory.java:35)
at knot//io.github.apace100.apoli.power.factory.condition.EntityConditions.lambda$register$3(EntityConditions.java:74)
at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
at java.base/java.util.LinkedList$LLSpliterator.tryAdvance(LinkedList.java:1256)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632)
at knot//io.github.apace100.apoli.power.factory.condition.EntityConditions.lambda$register$4(EntityConditions.java:73)
at knot//io.github.apace100.apoli.power.factory.condition.ConditionFactory$Instance.isFulfilled(ConditionFactory.java:44)
at knot//io.github.apace100.apoli.power.factory.condition.ConditionFactory$Instance.test(ConditionFactory.java:35)
at knot//io.github.apace100.apoli.power.PreventEntityRenderPower.doesApply(PreventEntityRenderPower.java:26)
at knot//net.minecraft.class_898.md01373d$apoli$lambda$preventRenderingEntities$0$0(class_898.java:1025)
at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
at java.base/java.util.LinkedList$LLSpliterator.tryAdvance(LinkedList.java:1256)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632)
at knot//net.minecraft.class_898.handler$bdi000$apoli$preventRenderingEntities(class_898.java:1025)
at knot//net.minecraft.class_898.method_3950(class_898.java)
at knot//net.irisshaders.iris.shadows.ShadowRenderer.renderEntities(ShadowRenderer.java:620)
at knot//net.irisshaders.iris.shadows.ShadowRenderer.renderShadows(ShadowRenderer.java:505)
at knot//net.irisshaders.iris.pipeline.IrisRenderingPipeline.renderShadows(IrisRenderingPipeline.java:1022)
at knot//net.minecraft.class_761.handler$gap000$iris$renderTerrainShadows(class_761.java:10052)
at knot//net.minecraft.class_761.method_22710(class_761.java:1241)
at knot//net.minecraft.class_757.method_3188(class_757.java:1110)
at knot//net.minecraft.class_757.method_3192(class_757.java:880)
at knot//net.minecraft.class_310.method_1523(class_310.java:1219)
at knot//net.minecraft.class_310.method_1514(class_310.java:802)
at knot//net.minecraft.client.main.Main.main(Main.java:250)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)


First locate the player's UUID by going to - https://namemc.com/


Then type their in-game name on there. In this example we are using a player from the DarkRPG Roguebane server who has got this issue.


Click on the search result that matches the name


Click on Copy on the next screen to copy their UUID to your clipboard


Now go to your server host and navigate to the FILES section. Then go inside the WORLD folder and locate the folder PLAYERDATA



Search (paste) the UUID you copied earlier into the search filed


Right click the file and click on DOWNLOAD



Next you will need an app called NBTExplorer from here - https://github.com/jaquadro/NBTExplorer/releases

Download the zip file somewhere on your pc, extract it to a folder and open the main exe file

Click the folder icon on the app and then click on the .dat player data file you downloaded earlier


You should now see a screen like this

Expand the cardinal_components tab and click on the two areas (apoli:powers,  origins:origin),  then hit the red cross button to delete.


You will notice those entries have now been deleted. Now click the save icon


Now go back to your server files section and delete the old player data .dat file.


Now upload the newly edited file using the upload function of your host


Your new file should now be uploaded on the server and you can go ahead and ask the player to re-join the server. 





They will have to select their origin again when they login. If the issue happens again, then just use the steps above to clear their origin data.




Popular Posts