Building Wands

Building Wands

828k Downloads

Screen not registered for screen handler wands:wand_menu!

robhawkes opened this issue · 10 comments

commented

Trying out the wands for the first time but currently unable to open the wand menu. Here are some details that'll hopefully help to debug it, and let me know if you need anything else from me.

Versions

  • Java 1.17.1
  • Fabric 0.11.6
  • Building Wands 2.2.5
  • Quite a few other mods

Issue

  • Press the wand menu key and nothing happens in game
  • Check the logs and each time the key is pressed the following is output
[09:06:19] [Render thread/ERROR]: ########## GL ERROR ##########
[09:06:19] [Render thread/ERROR]: @ Render
[09:06:19] [Render thread/ERROR]: 65539: Invalid key -1
[09:06:20] [Render thread/WARN]: Screen not registered for screen handler wands:wand_menu!
commented

Having a similar problem, and a hell of a time trying to track it down. I'm doing the usual "dump the problematic mods in a clean profile, then remove mods until the thing works" procedure. Every time I think I've tracked it down, I'm unable to confirm it. I get the feeling it might be a bad interaction between several mods, not just 2. Somebody on the Curseforge page suggested it was BCLib, but I don't seem to have that installed, even as a jar-in-jar.

It's dangerous to bugtest alone! Here, take this latest.log. This is just me loading up, starting the world, pressing the key a few times, and exiting.

Mods:
Minecraft 1.17.1, Fabric Loader 0.11.7, bundled Java runtime, Linux Mint 19.3. All the mods were downloaded from Curseforge, and I use the vanilla launcher. Mod file names for your version-checking pleasure:

  • architectury-2.5.32
  • BuildingWands-2.2.5_mc1.17.1-fabric
  • cloth-config-5.0.38-fabric
  • dataattributes-1.0.6-1.17.1
  • dawn-2.0.6
  • fabric-api-0.40.8+1.17
  • fabric-carpet-1.17.1-1.4.47+v210924
  • fabric-language-kotlin-1.6.5+kotlin.1.5.31
  • impersonate-2.3.3
  • indrev-1.11.0-alpha.3 (Industrial Revolution)
  • megane-5.5.0
  • modmenu-2.0.12
  • pal-1.3.0 (Player Ability Lib)
  • Patchouli-1.17.1-56-FABRIC
  • Pehkui-2.4.0+1.14.4-1.17.1
  • somnus-fabric-0.0.14-1.17.1
  • trinkets-3.0.4
  • wthit-fabric-3.9.3
  • YungsApi-1.17-Fabric-19

I have to take a break now or I'm going to kill someone. Will try again later.

commented

I'm looking into this.

commented

So. Many. Mixins. I should mention that I'm not 100% on the relevance of any of this, but it might be. I thought maybe something was interfering with how Architectury behaves, which then broke Wands code that relied on it. (And I find it kind of interesting how many mods are apparently tinkering with the same classes, anyway.) I'm not sure the following have any overlap with Wands or Architectury, but maybe I missed something: Dawn API, Megane, PAL, Yung's API.

However, a lot of these mods seem to mixin to some of the same classes as Architectury does.

  • Trinkets and Impersonate both include Cardinal Components Entity 3.0.0, which mixins to Entity
  • Trinkets additionally mixins to LivingEntity
  • Mod Menu contains Fabric Screen API 1.0.4, which mixins to Keyboard GameRenderer Mouse Screen
  • Pekhui mixins to Entity Explosion GameRenderer ItemEntity LivingEntity
  • Somnus contains fabric entity events 1.2.1, so mixins to Entity LivingEntity
  • Indrev mixins to Entity GameRenderer LivingEntity Screen. It also contains Fake Player API 0.2.0, which mixins to Entity again, Step Height Entity Attribute 1.0.1 mixins to Entity and LivingEntity, and Patchouli does GameRenderer Minecraft Screen. (Also LevelRenderer, like Building Wands itself.)

So there's my entry in the "how many times can I say mixin in one post without really knowing if it matters at all" contest. 🤷 I hope it's helpful.

commented

Okay, I have removed each of these mods one by one to see what happens, and I've ruled out the following as potential culprits: Cloth Config API (at least the standalone file), Data Attributes, Carpet Mod, and Patchouli.

So we're left with Dawn API, Impersonate, Industrial Revolution, Megane, Mod Menu, Player Ability Lib, Pehkui, Somnus, Trinkets, and Yung's API. Architectury, Fabric API, Fabric Language Kotlin, and WTHIT also have to be in there as dependencies, but they don't break anything.

commented

I started with a fresh install on multimc, and adding mods one by one using the same versions, only when I added the trinkets mod this started to happen.

commented

it's weired, if I remove all the other mods but trinkets, Building Wands, and deps), then it works ok. it must be trinkets+other mod.

commented

Removing any one of the mods I listed fixes it for me, but I'm really at a loss as to why. I'm going through the .jars looking for access wideners and mixins they seem to share, since it's my understanding those are common culprits in compatibility issues.

commented

something is preventing architectury to invoque ClientLifecycleEvent.CLIENT_SETUP.register(e->{}) on the client, in there is where I register the wand and palette screens.

commented

I've moved the registrations outside ClientLifecycleEvent.CLIENT_SETUP, this fixes it for now. I'll upload a new version asap for fabric, until I have time to test properly because this is likely to now work on forge,.

commented

The updated version works perfectly. Thanks for looking into this.