BentoBoxWorld / BentoBox

Expandable Minecraft server plugin for island-type games like SkyBlock or AcidIsland.
https://bentobox.world
Eclipse Public License 2.0
334 stars 137 forks source link

Addon Request: Per-Island Sleep #1656

Open Fredthedoggy opened 3 years ago

Fredthedoggy commented 3 years ago

Description

Is your feature request related to a problem?

Players can get very annoyed when there are more than a few players online since its basically impossible to get 10+ players to all sleep at once. I've had multiple people leave because of this

Describe the solution you'd like us to implement.

I would like an addon that however possible, overrides the vanilla mob spawn rates, crop growth, how the sun looks, sleeping & other time-affected features of Minecraft. Then people would just need players on their island to sleep, and not the whole server.

Describe alternatives you've considered.

I can't find anything similar

Additional context

This would also fix the fact that if a player can (For example) see that its night time, and leave the server for 5 minutes, then its daytime when they get back, basically abusing the system of having all islands in 1 world

tastybento commented 3 years ago

Does anyone have any ideas about how to do this?

Poslovitch commented 3 years ago

It's going to be "purely" visual. There's a packet (or maybe even a method in Bukkit now) that allows to do that, but if it's day on the player side and "actually" night on the server, the server will still think it's night. Thus plants might stop growing, phantoms might spawn, mobs won't burn in the sun, etc.

BONNe commented 3 years ago

Well, The visual thing can be implemented easily. There are already some plugins that do it. However, other stuff... well it is complicated. It could be doable with NMS editing, and implementing a feature that could overwrite sky light level per block. So when a player has a night and the server has a day, you could overwrite all light levels on loaded chunks and set it to 0. But I do not know if it would work, it is just an idea... Crop growth is not affected by the day/night cycle.

The things that are affected by the day/night cycle is a) the light level that is emmited b) villager working hours c) beds usage d) mob spawning

However, mob spawning is directly affected by light level. Probably the same is for burning, but do not know exactly.

About villagers and beds usage... well... I do not know if it is possible to modify them, as the effort would be enormous.

It is possible in Forge, as there are some things done it.

Fredthedoggy commented 3 years ago

I think having it purely visual wouldent actually be useful, as then there is an off-sync with the mobs & such, making everything complicated. I've made a suggestion to the folks at purpur to implement a "Timezone" api, which would make this much easier, instead of having to replicate everything-plugin side, but I'm not sure if it would be added, since its a niche idea