Chisels & Bits - For Fabric

Chisels & Bits - For Fabric

2M Downloads

Error trying to chisel Polished Granite

Lana-chan opened this issue ยท 12 comments

commented

I only noticed this happen with polished granite (vanilla block), unsure if it happens with other types of blocks. All other blocks I tried seem to work fine.

Every time I try to chisel granite, it flickers back onto the block. Block is now called chiseled bit until placed back down when it reverts back to polished granite. There is no server crash.

This appears in the server log every time you try to chisel it:

java.util.concurrent.ExecutionException: java.lang.ClassCastException
        at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_181]
        at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_181]
        at net.minecraft.util.Util.func_181617_a(SourceFile:47) [h.class:?]
        at org.spongepowered.common.SpongeImplHooks.onUtilRunTask(SpongeImplHooks.java:293) [SpongeImplHooks.class:1.12.2-2705-7.1.0-BETA-3361]
        at net.minecraft.server.MinecraftServer.redirect$onRun$zjj000(MinecraftServer.java:3963) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:723) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397) [nz.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
Caused by: java.lang.ClassCastException
  • MC Version: 1.12.2
  • C&B Version: 14.26
  • Do You have Optifine: Yes, HD U E2

I tried updating to 14.27 and it wiped all chisel blocks and items from the world and the chisel was nowhere to be found to be crafted in JEI.

commented

nevermind. i fucked up the update and it was my fault. successfully updating to 14.27 fixes the granite problem.

commented

okay, nevermind, now it's worse. blocks cannot be placed where old chisel blocks used to be now, the world is just corrupted. is there a way to fix this

[18:32:25] [Server thread/FATAL] [minecraft/MinecraftServer]: Error executing task
java.util.concurrent.ExecutionException: java.lang.ClassCastException: mod.chiselsandbits.chiseledblock.HarvestWorld cannot be cast to org.spongepowered.common.
interfaces.world.IMixinWorld
        at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_181]
        at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_181]
        at net.minecraft.util.Util.func_181617_a(SourceFile:47) [h.class:?]
        at org.spongepowered.common.SpongeImplHooks.onUtilRunTask(SpongeImplHooks.java:293) [SpongeImplHooks.class:1.12.2-2705-7.1.0-BETA-3361]
        at net.minecraft.server.MinecraftServer.redirect$onRun$zjj000(MinecraftServer.java:3963) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:723) [MinecraftServer.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397) [nz.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
Caused by: java.lang.ClassCastException: mod.chiselsandbits.chiseledblock.HarvestWorld cannot be cast to org.spongepowered.common.interfaces.world.IMixinWorld
        at net.minecraftforge.common.ForgeHooks.canHarvestBlock(ForgeHooks.java:1687) ~[ForgeHooks.class:?]
        at net.minecraft.block.Block.canHarvestBlock(Block.java:1154) ~[aow.class:?]
        at mod.chiselsandbits.chiseledblock.BlockChiseled.canHarvestBlock(BlockChiseled.java:1131) ~[BlockChiseled.class:?]
        at mod.chiselsandbits.items.ItemChisel.canMine(ItemChisel.java:409) ~[ItemChisel.class:?]
        at mod.chiselsandbits.items.ItemChisel.chiselBlock(ItemChisel.java:326) ~[ItemChisel.class:?]
        at mod.chiselsandbits.network.packets.PacketChisel.doAction(PacketChisel.java:190) ~[PacketChisel.class:?]
        at mod.chiselsandbits.network.packets.PacketChisel.server(PacketChisel.java:92) ~[PacketChisel.class:?]
        at mod.chiselsandbits.network.ModPacket.func_148833_a(ModPacket.java:57) ~[ModPacket.class:?]
        at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:92) ~[PacketUtil.class:1.12.2-2705-7.1.0-BETA-3361]
        at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zle000(SourceFile:539) ~[hv$1.class:?]
        at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[hv$1.class:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_181]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_181]
        at net.minecraft.util.Util.func_181617_a(SourceFile:46) ~[h.class:?]
        ... 7 more
commented

what i learned from this: can't get the same error from the second traceback anymore after updating spongeforge but the empty spaces where chiseled blocks used to be still aren't buildable, but the server gives off no errors

apparently if you start minecraft with it unable to load the chisel mod (same thing as removing the chisel mod) it doesn't remove the chisel block data, it just corrupts them. there were no fml prompts saying the mod was missing, the server just started normally with those blocks corrupted and i can't find a way to fix the block data.

EDIT: and somehow, not all chisel data was corrupted. a few chiseled blocks are still there like nothing happened, while others appear to be completely gone (but actually aren't, they're just corrupted)

commented

That last error looks like a an issue with sponge, its casing the C&B test world into a sponge specific type. I thought they had fixed that before, but I'm not really sure.

commented

like i said, that might be, it disappeared when i updated sponge since i hadn't realized i was out of date on it too. now i'm just trying to either recover the chisel data or find a safe way to remove only the corrupted blocks and starting over again (since some blocks still survived somehow)

commented

If you remove the mod, then place a block where a bad block would be with the mod, it should save the chunk and remove the corrupted block.

commented

wouldn't that also remove the ones that survived too?

looking in mcedit, i see there is block data where chiseled blocks existed. some still have NBT data, some are blank. the ones that survived all have NBT data. does this mean anything?

commented

Unfortunately, probably.

If you use MCEDIT, you should be able to just mark the ones without NBT as air. That would probably work much better then the other option.

commented

is there any reason fml didn't warn about missing mod and corrupted the world? (the problem i had when updating was i didn't pay attention to unix permissions and forge couldn't load the chisel jar and plowed through ahead anyway)

since fml didn't make a missing mod warning with prompt, it didn't backup the world like it should...

there's no way the data could've survived somewhere, right?

commented

That does seem suspect, it normally should. I'm honestly not sure.

Unfortunately unless you have a second backup to use, if the NBT is in the block is gone, then its definitely lost.

commented

ah well :( thanks anyway

in summary: i guess this problem was simply down to me using wrong versions of mods and not paying attention to the unix permissions when updating on my server. nothing wrong with the mod itself. closing

commented

Sorry to hear it, You might want to look into something to keep some automated backups in the future. I know how these things can happen.