Mariculture

Mariculture

2M Downloads

Mariculture WorldEdit and AE compability

kevinkk525 opened this issue ยท 8 comments

commented

Maybe this is a problem on the WorldEdit side but maybe there is a way.
The problem probaby is known, copying and pasting or moving mariculture custom blocks lead to a corrupted world.

Is it maybe possible to get these blocks to work with Applied Energistic's Spatial storage system?
That would be awesome.

commented

If AE is moving tile entities correctly, there should be no issue with spatial storage and with them. Same with WorldEdit moving/copying tile entities.

commented

I do not understand your post, the only possibility for AE to move tile entities is through the spatial storage system. And for it to work you have to have special code in your mod otherwise the spatial storage system will leave your blocks untouched (as it is at the moment).
And moving/copying blocks with WorldEdit corrupts my complete World, so that it is not usable any more.

commented

I have never used AE(much) so I didn't know how it works. I assumed that like with most block moving mods it would support the moving itself. I'm not gonna add support for something I will never use when Mariculture is 'feature done' for 1.7. As for world edit, without knowing wtf is happening, I can't do anything and honestly, custom blocks should be moveable, because they are simple. If worldedit is corrupting the world by moving/placing them incorrectly then it's not my problem.

commented

ok. So it sounds like you have never tried to move your own blocks with worldedit? Because otherwise you would have encountered that issue. Of course this could be on WorldEdit's side, not on yours. If you like I could upload the server logs during the pasting of the blocks before the server shuts down.

I do not expect everyone to know AE in depth but it is quite popular and awesome to move whole buildings without the need of worledit.. BTW: the methods to add support for AE Spatial Storage are rather well documented.

commented

Interesting. Well the AE thing is of course a feature not a bugfix. I understand that.
Here are the logs during the crash, thanks for looking into it:

 [Server thread/ERROR]:     Cause of unexpected exception was
java.lang.IllegalArgumentException: Empty string not allowed
    at net.minecraft.nbt.NBTTagString.<init>(SourceFile:15) ~[dx.class:?]
    at net.minecraft.nbt.NBTTagCompound.func_74778_a(SourceFile:84) ~[dh.class:?]
    at mariculture.factory.tile.TileCustom.writeData(TileCustom.java:77) ~[TileCustom.class:?]
    at mariculture.factory.tile.TileCustom.func_145841_b(TileCustom.java:90) ~[TileCustom.class:?]
    at mariculture.factory.tile.TileCustom.func_145844_m(TileCustom.java:96) ~[TileCustom.class:?]
    at net.minecraft.server.management.PlayerManager$PlayerInstance.func_151252_a(PlayerManager.java:637) ~[mr.class:?]
    at net.minecraft.server.management.PlayerManager$PlayerInstance.func_73254_a(PlayerManager.java:622) ~[mr.class:?]
    at net.minecraft.server.management.PlayerManager.func_72693_b(PlayerManager.java:84) ~[mq.class:?]
    at net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:280) ~[mt.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:920) ~[MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:423) ~[lt.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:798) ~[MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:658) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_31]
[00:10:57] [Server thread/ERROR]: This crash report has been saved to: /opt/msm/servers//./crash-reports/crash-2015-03-02_00.10.57-server.txt
[00:10:57] [Server thread/INFO]: Stopping server
[00:10:57]

Then during world save at server stop I get this for every moved block of mariculture:

[Server thread/ERROR]: A TileEntity type mariculture.factory.tile.TileCustom has throw an exception trying to write state. It will not persist. Report this to the mod author
java.lang.IllegalArgumentException: Empty string not allowed
    at net.minecraft.nbt.NBTTagString.<init>(SourceFile:15) ~[dx.class:?]
    at net.minecraft.nbt.NBTTagCompound.func_74778_a(SourceFile:84) ~[dh.class:?]
    at mariculture.factory.tile.TileCustom.writeData(TileCustom.java:77) ~[TileCustom.class:?]
    at mariculture.factory.tile.TileCustom.func_145841_b(TileCustom.java:90) ~[TileCustom.class:?]
    at net.minecraft.world.chunk.storage.AnvilChunkLoader.func_75820_a(AnvilChunkLoader.java:391) [aqk.class:?]
    at net.minecraft.world.chunk.storage.AnvilChunkLoader.func_75816_a(AnvilChunkLoader.java:218) [aqk.class:?]
    at net.minecraft.world.gen.ChunkProviderServer.func_73242_b(ChunkProviderServer.java:338) [ms.class:?]
    at net.minecraft.world.gen.ChunkProviderServer.func_73151_a(ChunkProviderServer.java:418) [ms.class:?]
    at net.minecraft.world.WorldServer.func_73044_a(WorldServer.java:1052) [mt.class:?]
    at net.minecraft.server.MinecraftServer.func_71267_a(MinecraftServer.java:519) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.func_71260_j(MinecraftServer.java:571) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:718) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_31]
commented

I've never used worldedit to move anything. Havent even used it since I stopped playing vanilla... You can pass me the logs for worldedit crash, so I can see if it's anything on my end. But I'm not touching AE stuff, as to me that's not a bugfix.

commented

The only way that can happen, is if the data for which block is on which side is messed up, aka becomes null/non existing block. If it's erroring there, even if i stop it crashing the custom blocks will appear as stone when moved.

commented

If this is the only possible solution then it is still better than accidently corrupting the world when working with WE.