Waystones & ICantUpdate-Bundles: A Survival Mode Fix
Hey guys! Ever run into a snag in Minecraft, where your mods just don't wanna play nice? I recently stumbled upon a weird incompatibility between two awesome mods, and I figured I'd share the fix. Specifically, it's about Wraith Waystones (also known as fwaystones or fabric waystones) and ICantUpdate-Bundles. Let's dive in and see what's up, and how we can get your waystones working like a charm in survival mode!
The Bug: Waystones Broken in Survival
So, the deal is this: with ICantUpdate-Bundles-1.20.1+1.0.2 installed, something goes haywire with wraith-waystones-3.3.3+mc1.20.1. The core issue? Waystones break when you try to use them in survival mode. If you're in creative, everything's peachy – you can interact with an undiscovered waystone, and the UI pops right up. But in survival, it's a no-go. You get an error message instead, and no way to teleport!
This really threw me for a loop because, well, waystones are super useful in survival. Imagine exploring a vast world, setting up multiple bases, and then being unable to use the waystones to travel. It's frustrating! When I first discovered the issue, I thought it was a problem with Wraith Waystones. But after a little bit of troubleshooting, it turned out that ICantUpdate-Bundles was the culprit. It's a bummer, but hey, at least we know what's causing the problem and can fix it. Also, if you don't use those mods, the game can work perfectly.
Reproducing the Issue
Want to see this bug for yourself? Here's how to reproduce the issue:
- Create a New World: Start a fresh Minecraft world – this is important to ensure a clean slate and avoid any other mod conflicts that might be confusing the issue.
- Place Waystones: Spawn in a few waystones in your world. It could be near the spawn, or in a place that is easily accessible. You can do this using creative mode, commands, or even by finding them in a generated world. If you create the world in creative mode, you can move on to the next step.
- (Optional) Creative Mode Test: In creative mode, try interacting with a waystone. This is just a test to confirm the base functionality of the waystones. The UI should open as expected.
- Switch to Survival: Change your game mode to survival. This is where the magic (or the bug) happens. Remember, the bug only happens in survival mode.
- Interact with an Undiscovered Waystone: Find a waystone you haven't used before. Right-click on it to try to activate it.
- See the Error: Instead of the UI, you'll see an error. This confirms the issue.
This simple process should highlight the incompatibility pretty quickly. It's a good way to test if you're experiencing the same problem.
Expected Behavior vs. Reality
The expected behavior is simple: when you click on an undiscovered waystone, the waystone UI should open. From there, you could discover the waystone, set a name, and teleport, etc. This is what happens in creative mode. However, with this bug, we get something different in survival. So, the bug breaks the basic usability of the Waystone block.
The Error Log: A Peek Under the Hood
If you're curious about the technical side of things, here's a snippet from the error log:
[Server thread/ERROR]: Failed to handle packet net.minecraft.class_2885@28876d5c, suppressing error
java.lang.NullPointerException: Cannot invoke "net.minecraft.util.Identifier.getNamespace()" because "id" is null
... (rest of the error log)
This error log is a bit technical, but it gives us some clues. It says there's a NullPointerException – essentially, the game is trying to use something that doesn't exist (in this case, an id that's null). The error specifically points to net.minecraft.registry.SimpleDefaultedRegistry and the WaystoneBlock.onUse method, which is where the interaction with the waystone is handled. The error ultimately originates in wraith-waystones but is triggered by something that ICantUpdate-Bundles does. This is a common situation in Minecraft modding where one mod's changes can have unintended consequences for others.
The Culprit: ICantUpdate-Bundles
Based on my testing, the issue seems to be with ICantUpdate-Bundles. When I removed this mod, everything went back to normal, and waystones worked perfectly in survival mode. The error log also points to the waystone mod code, but it seems ICantUpdate-Bundles is somehow preventing the waystone's interaction logic from working correctly. It is also important to note that without ICantUpdate-Bundles installed, the wraith-waystones mod works as expected.
Solving the Issue
Unfortunately, there's no perfect solution for this bug. You have a few options to work around this issue:
Option 1: Remove ICantUpdate-Bundles
If you don't need the functionality of ICantUpdate-Bundles, the easiest fix is to simply remove it from your modpack. This will allow waystones to work as intended.
Option 2: Try a Different Waystone Mod
If you really need the features of ICantUpdate-Bundles, then you can try a different waystone mod. There are other waystone mods out there that may not have compatibility issues.
Option 3: Wait for a Fix
Keep an eye on the issue trackers for both mods. The mod developers may be aware of the issue and release an update to fix it. This is not the best option but you can wait and see if it is resolved in the future. Check the GitHub pages or any other official pages for the mods.
Further Information
- Minecraft Version: 1.20.1
- Mod Versions:
ICantUpdate-Bundles-1.20.1+1.0.2wraith-waystones-3.3.3+mc1.20.1
- Other Mods Loaded: The issue was discovered in a larger modpack. It's possible that other mods could contribute to the issue, but these two are the core problems.
I hope this helps you guys! If you're running into this issue, hopefully, this guide has helped you troubleshoot and fix it. Happy crafting and teleporting!