MLG-Fortress / ExtraHardMode

The now-official repository for the ExtraHardMode Bukkit Plugin.
http://dev.bukkit.org/bukkit-plugins/fun-hard-mode/
Other
24 stars 19 forks source link

Shulkers & Guardians [Suggestion] #46

Open StefanVonRanda opened 8 years ago

StefanVonRanda commented 8 years ago

I would like to propose adding a feature to spawn shulkers in underground cave and let Guardians spawn instead of squid at a configurable rate. This I think is in the vein of Big_Scary's original idea in that it takes rare mobs and makes them more common throughout the world.

PS. I'd would be great if the "better treefeller" was toggle-able per player.

RoboMWM commented 8 years ago

PS. I'd would be great if the "better treefeller" was toggle-able per player.

This wouldn't fit with how the rest of this plugin works, imo. These are considered gameplay elements, not just utilities/features; there's no player-toggle for any other element. (Not to mention I'd also need to store data for each player, I know it has some SQL storage for recording who received tutorial messages but that's about it.) Big_Scary's Gravitree plugin would probably be better suited anyways, his algorithm is different than the one in here (and probably more accurate, though I haven't tested much with either).

let Guardians spawn instead of squid at a configurable rate.

Sounds doable, would make the waters a bit more treacherous and encourage using/building a boat. Until Mojang adds sharks... :P

I would like to propose adding a feature to spawn shulkers in underground cave

Just anywhere underground, as long as there's air present? Any specific y-value? I'd probably place these where new chunks are generated.

StefanVonRanda commented 8 years ago

Thanks for the reply, I see what you mean about the tree feller, thanks for clarifying.

As for guardians, I'm glad you like the idea :)

Shulkers should probably only spawn in air pockets, as you say. Any specific Y cordinate? I don't have a preference.. maybe at around 16-24?

Again, thanks for taking the time and considering this :)

RoboMWM commented 8 years ago

Alright, so air pockets. Question is, how to easily select such an air pocket. Randomly select a stone and check if any adjacent block is an air block, then replace stone with shulker? Maybe on populateevent, chance of replacing a mushroom with a shulker? (Guessing on that one, don't know if that's possible.) Or selecting a random (x,z) coord, then iterate from bottom to top until we hit an air block, and spawn a shulker there? Trying to think of an effective yet efficient way to do this.

Is the ravine its own biome?

StefanVonRanda commented 8 years ago

If possible I would say replacing a mushroom with shulker would be a great way to find air pockets.

If nothing else, maybe replace a mob as it spawn in airpockets near the player?

RoboMWM commented 8 years ago

maybe replace a mob as it spawn in airpockets near the player?

Not sure how this would work for new chunks, as well as the fact that mobs can spawn anywhere - though I could do a y-limit restriction, not sure if "respawning" shulkers is ideal...?

StefanVonRanda commented 8 years ago

I think so! Limiting the Y coord to below sealevel and only spawning them once would work just fine.

RoboMWM commented 8 years ago

only spawning them once

That won't work if I'm replacing mobs, which spawn all the time...

RoboMWM commented 8 years ago

Hmm, I wonder if shulkers despawn like other monsters. If not, probably best to do on chunk generation only, and to replace blocks like mushrooms to easily and efficiently determine an area with some degree of open space. Also todo: see if it's possible to determine biome of generated chunk (ravine is a biome, right? Or is it a structure?)

Also, can shulkers be "collected?"