OpenNBS / OpenNoteBlockStudio

An open-source Minecraft music maker.
https://noteblock.studio
MIT License
757 stars 50 forks source link

Schematic export must be rewritten to support 1.13+ #29

Open Andrew-J-Larson opened 5 years ago

Andrew-J-Larson commented 5 years ago

When exporting a song, it works fine, however... with how Minecraft works, if you have a large enough song, some note blocks have sand and gravel, but are in the air... When playing the song, the sand or gravel (or any other gravity following block) will fall after the note block plays.

The fix? Include a solid block under any blocks that can fall.

Andrew-J-Larson commented 5 years ago

Also, here's a schematic to test... it has some sand that will fall as soon as a note block is played (in the zip). Coldplay - Clocks.zip

HielkeMinecraft commented 5 years ago

Are you sure there is always room for a block below the gravel/sand?

Andrew-J-Larson commented 5 years ago

Actually I'm not entirely sure, but I'm sure a check to see if a block is underneath it could be done, to prevent replacing another noteblock.

On Sun, May 26, 2019, 11:51 AM Hielke notifications@github.com wrote:

Are you sure there is always room for a block below the gravel/sand?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/HielkeMinecraft/OpenNoteBlockStudio/issues/29?email_source=notifications&email_token=AEV3C5BBLCGQ4PRJRZXHS6TPXLLZVA5CNFSM4HPVDGS2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWILJIA#issuecomment-496022688, or mute the thread https://github.com/notifications/unsubscribe-auth/AEV3C5EHF2SBMETRU4XZ4TTPXLLZVANCNFSM4HPVDGSQ .

rsp4jack commented 5 years ago

I have encountered similar problems. Most of the time, there is a block of space under the sand and each time the note box is activated, it falls onto another note box.

HielkeMinecraft commented 5 years ago

Placing a block under the sand or gravel won't be a solution. When working with multiple layers, there are note blocks under the top ones. So placing a support block under the top ones would mute the lower note block's sound.

As you can see here: (bedrock = support) 2019-07-28_20 17 14

This issue used to be not a problem, because clay would make the same sound as gravel/sand. But alas, here we are.

Only way to fix this is to write it in the note block's block state. This does persist after being powered by redstone, but it will reset when the block under it is broken. Not bad.

2 problems with this approach.

Edit: Switching formats doesn't seem like a good option too.

Another way to fix this is by making the schematic file bigger and having more space between the note blocks. This is kind of a dirty fix and I don't think this is the best way to go.

rsp4jack commented 5 years ago

You can try to sign.

Andrew-J-Larson commented 5 years ago

Instead of using solid blocks then why not use something like a sign to hold the sand in place? It would work and allow the blocks underneath to play. you would just have to make sure the block state of the sign is set to be on the side of the stone or whatever block is being used for the frame of the note blocks.

Andrew-J-Larson commented 5 years ago

Or another idea is having slime blocks being used to keep the falling blocks in place? (of course though I know this would limit older versions of the game)

HielkeMinecraft commented 5 years ago

Signs don't work. I placed a sign above a note block, and it still wasn't able to play.

And slime blocks don't work either, because falling blocks will fall even if they are attached to slime.

Andrew-J-Larson commented 5 years ago

Well... Looks like you're going to have to fix it the long way sometime then...

HielkeMinecraft commented 5 years ago

The bad part about switching formats is that the schematics won't work with MCEdit anymore... But that's what you get when you don't update your program in years.

AlsoScratch commented 5 years ago

The bad part about switching formats is that the schematics won't work with MCEdit anymore... But that's what you get when you don't update your program in years.

What's the problem with WorldEdit?

HielkeMinecraft commented 5 years ago

It only uses the .schematic format.

I've discovered that switching to .schem isn't an option anyway, because WorldEdit for older versions of Minecraft only support .schematic. Ugh. This is getting real difficult.

AlsoScratch commented 5 years ago

What about if I am using the latest version of Minecraft and WorldEdit? (Just assuming)

HielkeMinecraft commented 5 years ago

That would work just fine, but then schematic export would only work for Minecraft 1.13 and up. And I think people aren't too thrilled with that.

rsp4jack commented 5 years ago

That would work just fine, but then schematic export would only work for Minecraft 1.13 and up. And I think people aren't too thrilled with that.

Can you create a new feature to create a structure for Minecraft above 1.13?

HielkeMinecraft commented 5 years ago

Yeah that's possible. But it would make it kind of confusing for people. (.schematic <1.13 and .schem >1.13) There must be a better way. It's better to handle both the same way.

untuned commented 5 years ago

Why not increase the distance between layers, and then add a support block?

Andrew-J-Larson commented 5 years ago

The reason that would be some faulty thinking is, what if someone has all minecraft instruments in a song??? Then the spacing apart from each layer would be a bit too much... Though, horizonally, if we zig-zag'd the lines so it would be like a zipper like fashion, adding a support block shouldn't conflict.

Quent12b0 commented 4 years ago

I've got the same issue, but I use this command block system. (French video)

https://www.youtube.com/watch?v=jLQWplYyKfY

Quent12b0 commented 4 years ago

Other solution: place your percussion layer at the top on the studio (layer 1 or 2).

Yanchen-wang commented 3 years ago

instead of the compact note block layers make an option to make a flat plane where there are several different lines of noteblocks, or even multiple plains

Andrew-J-Larson commented 3 years ago

That would be an easy thing to implement too.

Pepe20129 commented 3 years ago

Something to consider would be to use the .litematic format for schematics in 1.13+ as Litematica is a mod that has widely replaced Schematica in 1.13+, it supports block states & the MCEdit/Schematica .schematic format with support for the Worldedit/Sponge format coming soon.

chenxi050402 commented 3 years ago

Using structure blocks won't solve the issue because the structure block updates all note block instruments when loading in.