Blood Magic

Blood Magic

90M Downloads

[1.10]v1.9.4Crash When Activating Ritual

EPIICTHUNDERCAT opened this issue ยท 19 comments

commented

Issue Description:

This is in a modpack, however, this doesn't seem to be connected to any other mod.

What happens: Right clicked master ritual stone to activate Well of Suffering, this froze my game and sent the client to desktop.

What you expected to happen: Activate the ritual

Steps to reproduce:

  1. Activate ritual
  2. crash?
  3. Retried and got the same crash, other rituals like crusher and magnetism worked so it seems to be well of suffering.
    ...

Affected Versions (Do not use "latest"):

  • BloodMagic: 1.9.4-2.0.2-48
  • Minecraft: 1.10
  • Forge: 2000

here is the report:

java.lang.ClassCastException: refinedstorage.tile.TileCable cannot be cast to WayofTime.bloodmagic.api.ritual.IRitualStone$Tile
at WayofTime.bloodmagic.api.util.helper.RitualHelper.isRuneType(RitualHelper.java:126)
at WayofTime.bloodmagic.api.util.helper.RitualHelper.checkValidRitual(RitualHelper.java:102)
at WayofTime.bloodmagic.api.util.helper.RitualHelper.getValidRitual(RitualHelper.java:61)
at WayofTime.bloodmagic.block.BlockRitualController.func_180639_a(BlockRitualController.java:67)
at net.minecraft.client.multiplayer.PlayerControllerMP.func_187099_a(PlayerControllerMP.java:410)
at net.minecraft.client.Minecraft.func_147121_ag(Minecraft.java:1518)
at net.minecraft.client.Minecraft.func_184117_aA(Minecraft.java:2184)
at net.minecraft.client.Minecraft.func_184118_az(Minecraft.java:1961)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1749)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1055)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:371)
at net.minecraft.client.main.Main.main(SourceFile:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

commented

wait just re read the log, its seems like something from refined storage seems to be messing with it. ill removed it and try again. (sorry dont want to post useless things)

commented

seems like removing the refined storage cables fixed it, but this is still an issue, i reported it the other mod author as well ๐Ÿ‘

commented

Refined storage mod dev said this, "Blood magic issue, they are casting my cable to a tile of blood magic. "

commented

The only way for us to get that far is if their tile tells us that it has our capability. https://github.com/WayofTime/BloodMagic/blob/1.9/src/main/java/WayofTime/bloodmagic/api/util/helper/RitualHelper.java#L125

I do not see how this is our issue.

commented

If this was a pure BM issue, then it would happen with ALL Tile Entities.

commented
commented

So the question is: if both of our codes are right, where is the screw up?

commented

It truly is a mystery.

commented

Only reason that this wouldn't work, I think... is if both of the capabilities were somehow null.

commented

Where do you register your capability?

commented

No problem :)

commented
public final class RefinedStorageCapabilities {
    @CapabilityInject(INetworkNode.class)
    public static final Capability<INetworkNode> NETWORK_NODE_CAPABILITY = null;
}
commented

I did not. That was Alex with #641

commented

Mah bad. But looking at the capabilities that Forge adds (CapabilityItemHandler.ITEM_HANDLER_CAPABILITY and CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) it seems that it is necessary.

commented

AFAIK, CababilityInject is to get an instance of the cap. Not to register it.

commented

this is very exciting to watch. I applaud you all, and praise you all.

commented

I got rid of the capability alltogether in dev branch, so you can close this.

commented

Thanks for your time! ^_^