Enchanting table seed not updated when enchanting
solonovamax opened this issue ยท 4 comments
The enchanting table seed is not updated when enchanting.
This causes the books that are enchanted to always be identical to the previous one, unless something is changed about the environment (such as placing string between the shelves and your enchanting table.
The following error is logged when enchanting:
[22:38:55] [Server thread/ERROR]: Failed to handle packet net.minecraft.class_2811@18d99eea, suppressing error
java.lang.ClassCastException: class net.minecraft.advancement.criterion.EnchantedItemCriterion cannot be cast to class dev.shadowsoffire.apotheosis.advancements.EnchantedTrigger (net.minecraft.advancement.criterion.EnchantedItemCriterion and dev.shadowsoffire.apotheosis.advancements.EnchantedTrigger are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @523884b2)
at dev.shadowsoffire.apotheosis.ench.table.ApothEnchantmentMenu.lambda$clickMenuButton$0(ApothEnchantmentMenu.java:146) ~[zenith-1.0.0-1.20.1.jar:?]
at net.minecraft.screen.ScreenHandlerContext.method_17394(ScreenHandlerContext.java:35) ~[client-intermediary.jar:?]
at net.minecraft.screen.ScreenHandlerContext$2.get(ScreenHandlerContext.java:22) ~[client-intermediary.jar:?]
at net.minecraft.screen.ScreenHandlerContext.run(ScreenHandlerContext.java:34) ~[client-intermediary.jar:?]
at dev.shadowsoffire.apotheosis.ench.table.ApothEnchantmentMenu.onButtonClick(ApothEnchantmentMenu.java:122) ~[zenith-1.0.0-1.20.1.jar:?]
at net.minecraft.server.network.ServerPlayNetworkHandler.onButtonClick(ServerPlayNetworkHandler.java:1728) ~[client-intermediary.jar:?]
at net.minecraft.network.packet.c2s.play.ButtonClickC2SPacket.apply(ButtonClickC2SPacket.java:17) ~[client-intermediary.jar:?]
at net.minecraft.network.packet.c2s.play.ButtonClickC2SPacket.apply(ButtonClickC2SPacket.java:6) ~[client-intermediary.jar:?]
at net.minecraft.network.NetworkThreadUtils.method_11072(NetworkThreadUtils.java:22) ~[client-intermediary.jar:?]
at net.minecraft.server.ServerTask.run(ServerTask.java:18) ~[client-intermediary.jar:?]
at net.minecraft.util.thread.ThreadExecutor.executeTask(ThreadExecutor.java:156) ~[client-intermediary.jar:?]
at net.minecraft.util.thread.ReentrantThreadExecutor.executeTask(ReentrantThreadExecutor.java:23) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:782) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:164) ~[client-intermediary.jar:?]
at net.minecraft.util.thread.ThreadExecutor.runTask(ThreadExecutor.java:130) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.runOneTask(MinecraftServer.java:764) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.runTask(MinecraftServer.java:758) ~[client-intermediary.jar:?]
at net.minecraft.util.thread.ThreadExecutor.runTasks(ThreadExecutor.java:139) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.runTasksTillTickEnd(MinecraftServer.java:743) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.handler$cop000$carpet$modifiedRunLoop(MinecraftServer.java:23951) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:650) ~[client-intermediary.jar:?]
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265) ~[client-intermediary.jar:?]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]
I cannot find any mixin into EnchantedItemCriterion
. I believe that perhaps you meant to mixin into it so that it can inherit from EnchantedTrigger
, however this is not done.
I do see that you did this though, but I'm not entirely sure how the criterion stuff works. However, this seems to have not done anything.
Probably got broken when I moved from Access Wideners to getter/setters, I'll fix in the next update
I forgot to add a @mutable on the accessor...
Probably got broken when I moved from Access Wideners to getter/setters, I'll fix in the next update
any idea when that update will be pushed? (aka, should I bother building from source to get it sooner)