Wiki 9Minecraft Wiki 9Minecraft
Minecraft Legends › BSharpReferenceSheet › Villages & Suspension

Villages & Suspension

Minecraft Legends

BSharpReferenceSheet
Official docs

A core concept in Minecraft Legends (not just B#) are villages. You can think of villages as a “Location” - an area in the game world which can house entities such as buildings, mobs, or even invisible things (like music emitters, trigger volumes, etc.).

Suspension is the act of saving out an entity and having it enter a state of stasis due to our massive open world which makes keeping everything loaded infeasible. Special care has been made sure to ensure B# only ever works with fully loaded active entities (so all the information on the entity will be on as you expect).

Villages are crucial to B# as they can guarantee what entities are queryable and useable at the time of your snippet execution. When a listener that belongs to a village executes it is guaranteed that all entities belonging to the same village will also be loaded.

  • For example: querying the number of structures in a village when a village owned listener executes is safe.
Note when a village is suspended, your listener will also be suspended.
  • For example: listening for a global variable is generally not safe in a village owned listener as the village may be unloaded.

The mechanism that drives this group un/suspension is called Atomic Village Suspension which you may hear BSharpies refer to.