Closed Rsslone closed 4 years ago
Thanks for reporting! Capsule is telling you that one of the blocks could not be captured because of a crash. The expected behaviour is that the "crashing" block remains in place and the rest of the structure is in captured. So when undeploying it's expected the crashing block is no longer part of the structure.
Can this expection be reproduced in a specific modpack I could run to experience it myself ? If yes, where can I download this pack ?
Is the starter capsule one of the default provided with the mod or is there a specific configuration with alternative starters ?
The capsule is from the vanilla mod, nothing has been changed. The door does not get placed back down correctly so I am guessing this could be Malisis Doors.
Here is my pack. https://www.technicpack.net/modpack/tommytek-1122.1228216
Capsule only comes with vanilla blocks (and Immersive engineering blueprints if present in the pack) so this is a standard door. In the stack I see "spongepowered" lines which puzzles me because
Are you running the pack on a sponge server ? Do you know how sponge and forge interacts ?
If using SpongeForge (https://github.com/SpongePowered/SpongeForge) it's currently specified the mod is currently in development and unstable, so I would recommand against using it until it has reached some stable state.
The pack does not come with it, but the pack is designed for a particular server in mind and the server runs sponge. I'm not a developer so take this with a grain of salt but I believe Spongeforge hooks into forge in order to do its optimizations, there is rarely ever a mod issue but i've run into it once or twice in the past. If you believe this to be a Sponge related problem I can report the bug to them.
Thanks for the details. I might not be able to fix the issue from the capsule side directly (not sure), but i'll give you some insight to help everyone understand what's going on and give the Spongeforge dev enough information so they can fix. They might also evaluate the issue as being a misuse of the Forge event system (but in this cas I'll need an example of correct use so that I can fix).
How capsule work :
When removing or placing a block, capsule force the trigger of a BlockEvent.PlaceEvent
to forge, to simulate the player placing a dirt block with main hand.
PlaceEvent
is oxposed by forge so that mods can react to or even modify the placement of a block. In the case of capsule, this event is not related to the actual placement of a dirt block, but is only sending the event to "ask" eventual zone control mods if the player is allowed to place a block there by listening to the cancelation of the event. This is how zone protection mod works to prevent grieffing: they cancel events from forbidden players.What I understand from reading the crash log :
PlaceEvent
is triggered for each block to check if the player is allowed to recall the block. This event is captured by spongforge, I can't tell if the event is modified or altered by spongeforge.snapshotFor
method of avanilla minecraft BlockStateContainer
class, which triggers the IllegalStateException
for reason I can't tell from the log.Also, I'd like to point your attention to the fact that I don't have any vanilla mincraft BlockStateContainer.snapshotFor
in the version of minecraft I'm developping capsule for (1.12.2). This indicates you might be trying to run capsule on another version of minecraft OR the minecraft vanilla class or modified by sponge or forge, which likely can't work. Can you confirm the version of minecraft and the version forge that are running on the server ?
Thanks for the detailed explanation, I'll link this ticket to SpongeForge and see if anything can be seen wrong. The versions are forge-1.12.2-14.23.5.2847-universal and spongeforge-1.12.2-2838-7.1.7.jar so yeah this might be sponge.
Additional information from this issue. I've come to the conclusion this has something to do with the door, and probably from Malisis Doors. I've deployed a fresh capsule that works fine, but if I seal it up, it errors. My theory is whatever NBT that is being attached to the door is causing a issue. Here is the NBT tags that are being saved.
The nbt tells this is a vanilla door (id minecraft:acacia_door
). Also Malisis doors mod does not appear in the crash log. You might want to try replacing the door by another vanilla door to convince yourself.
The forge version is a bit more recent that the one capsule is built against but it should not be a problem, I'll try to update forge version the ensure that.
My apologies, everything works fine in single player (Without spongeforge), its only on the server that's running sponge.
I'll have to wait for sponge to reply or find a workaround. Thanks for the help, great mod dragon ball themed mod!
The mod reports a crash and when I redeploy the capsule the door does not get placed down, instead its on the ground. Don't know if they are related. (the door issue was from a built in starter capsule)
https://gist.github.com/Rsslone/9f2058d44ae680ec6ed5452c0cbf6249