Open Bogden opened 3 years ago
Related, but slightly different is the idea of having specific chests at certain blocks. Here I put a placeholder for "CHEST_WITH_WATER_BUCKET", and for reference the original OneBlock drops a chest with an oak sapling and some torches at block 47, which is crucially important for a renewable wood resource that an otherwise unlucky player could end up without for an extremely long period of time.
Other reference points: A Water Bucket at block 36 A Birch Sapling at block 282 (end of Plains phase) A Spruce Sapling and Map at block 680 (end of Underground phase)
These are just examples of course, with the necessary functionality being the ability to drop specific chests at specific blocks
Some more notes on what I think could make sense for a default progression order, just purely opinions that you can feel free to take or leave. Basically this order implies that the next block should not appear until the previous block has appeared enough times. This could be achieved through shifting the drop tables of the phases, or through sequenced blocks as referenced in this issue.
Thanks for the ideas. I added the fixed blocks option. You'll need to delete phases 0 and 700 yml files to see the new format. It's what you wrote above. I just randomly stuck a sponge in at block 50 on the first phase.
For the other ideas, the chest values can be manipulated to give players a chance with the various things you mentioned. I'll look at them again and see if some tweaking is in order. I also like the idea of some predefined keys like "CHEST_WITH_X" where X can be an item.
By the way, I purposely heavily restricted water access in the early phases on OneBlock. It was to try to avoid SkyBlock-esqe game play, i.e., force players to think differently. I really, really, wanted to avoid cobblestone generators. In other words, the idea was to try and create a game really distinct from SkyBlock. I know one major difference is that there's no lava early on, but as soon as you have water and lava - bam, you have SkyBlock and dribbles of cobblestone all over the place. So, that's a very long way of saying, I kept water to the ocean phase! Of course admins can changed the phases, but that's my rational.
Awesome! Thanks so much for such a speedy implementation on this!
In terms of water, I totally am on board with avoiding cobble gens early on, but water alone I think is so crucial to a lot of the experience. For me it serves two main purposes.
As long as you restrict lava to a very late game section, then I don't think there's any issues with giving out water very early on, as the original OneBlock did. I'd strongly recommend giving out a single water bucket very early on, but of course this is just an opinion on the overall game design and not necessarily any particular feature.
Wait a sec, I just realized the sponge at block 50 is also a big tease for not having water haha
For the chest thing, I think it's more relevant when you want the player to have exactly some number of something, instead of a chance at various things. Fences and whatnot, super cool to have as random drops. A second bucket of water on the other hand, has pretty huge implications for the average player who doesn't know about tricks like bonemealing a stream to generate a water source from tall seagrass.
Same kind of logic applies to giving the player their first (and only) carrot, pumpkin seed, acacia sapling, etc.
If left to random chance, it's entirely possible for the player to go past an entire phase and never get that one carrot.
Took a crack at fleshing out the initial drops a bit more to help ease the curve a bit:
fixedBlocks:
0: GRASS_BLOCK
1: GRASS_BLOCK
2: GRASS_BLOCK
3: OAK_LOG
4: OAK_LOG
5: CHEST
6: OAK_LOG
7: GRASS_BLOCK
8: OAK_LOG
9: GRASS_BLOCK
10: OAK_LOG
11: OAK_LOG
12: OAK_LOG
12m: PIG
13: GRASS_BLOCK
14: GRASS_BLOCK
15: GRASS_BLOCK
16: CHEST
17: OAK_LOG
18: GRASS_BLOCK
19: OAK_LOG
20: GRASS_BLOCK
21: OAK_LOG
22: MELON
23: DIRT
24: DIRT
25: STONE
26: STONE
27: STONE
50: CHEST_WITH_WATER_BUCKET
The water bucket and melon are new, if you decide against water, then the melon should probably also not appear.
Not sure if there's a good way to set fixed mob spawns, but I put 12m: PIG
here. Dunno how hard it is to parse this kind of stuff, but maybe 12: OAK_LOG, PIG
would be easier to implement?
I also removed GOLD_ORE, DIAMOND_ORE, EMERALD_ORE from blocks to avoid running into stuff you can't mine until you have iron, and I removed VILLAGER from mobs. Villagers are actually incredibly powerful in skyblock/oneblock, because as soon as you have two, you can immediately breed them and access an incredibly large number of tools and blocks. Full diamond armor, full diamond tools, etc. I tend to think of villagers as a pretty mid-late game reward overall.
On the same note, guaranteeing two villager spawns would be nice to be able to do. In the original map, you get two villagers during Phase 6 - Red Desert.
The only other big design issue that I think needs to be addressed is the fact that you can get obsidian before you get 3 diamonds. Incredibly painful whenever it happens of course, since it takes around 5 minutes to break an obsidian block without a diamond pickaxe. Might even want to just remove obsidian as a possible drop until a later phase, otherwise fixing a sequence of blocks during the underground phase that ensures no obsidian is hit before 3 diamonds (or a chest with a diamond pickaxe) are encountered.
Id just like to point out that the bucket on obsidian to pickup lava feature is a thing. I totally over looked this and players ended up with lava early on ( they didn't have to mine the obsidian tho, )
From a game design perspective, the beginning of the game is a bit flawed in that players can generate blocks that they have not yet been given the resources to mine. An early sequence of cobblestone, for instance, before the player has gotten 3 logs. An iron ore before the player has gotten three stone, diamond before iron, etc.
For reference, this is how the original begins:
In terms of AOneBlock, maybe something like this could work: