What are you searching for?

Unloaded Activity

Unloaded Activity

Achieves "infinite simulation distance" by keeping track of how long things have not simulated for, and then updating them like they've always been simulating.

download 247.4K Downloads · favorite 374 Followers · Updated 1 month ago
Fabric Forge Neoforge Quilt Utility 1.19.2 1.19.3 1.19.4 1.20 1.20.1 +17 more

Versions

inventory_2
Unloaded Activity v0.6.10+1.21.11

v0.6.10+1.21.11 · 1 month ago · 354.96 KB

Fabric Neoforge Quilt 1.21.11
inventory_2
Unloaded Activity v0.6.9+1.21.9-1.21.10

v0.6.9+1.21.9-1.21.10 · 3 months ago · 358.61 KB

Fabric Neoforge Quilt 1.21.9 1.21.10
inventory_2
Unloaded Activity v0.6.8+1.21.6-1.21.8

v0.6.8+1.21.6-1.21.8 · 4 months ago · 323.71 KB

Fabric Neoforge Quilt 1.21.6 1.21.7 1.21.8
inventory_2
Unloaded Activity v0.6.7+1.21.5

v0.6.7+1.21.5 · 7 months ago · 323.58 KB

Fabric Neoforge Quilt 1.21.5
inventory_2
Unloaded Activity v0.6.7+1.21.4

v0.6.7+1.21.4 · 7 months ago · 321.23 KB

Fabric Neoforge Quilt 1.21.4

About

Unloaded Activity

When things such as crops get out of simulation distance, normally they wouldn't grow. This mod changes that by doing a calculation once they get within simulation distance and update them so it's like they never left the simulation distance. So now you can explore while waiting for crops to grow or furnaces to cook.

This also works similarly when skipping the night, crops will have grown and furnaces will have cooked as if you were awake the entire time waiting for the day.

Here is a video showcasing the mod.

<iframe width="560" height="315" src="https://www.youtube.com/embed/c1hAEfe_zVY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

Currently supported blocks/entities (if you use the latest version):

  • All crops
  • Furnaces
  • Saplings
  • Bushes
  • Cocoa beans
  • Sugar canes
  • Baby animals
  • Copper blocks
  • Cactus
  • Leaves
  • Amethyst
  • Kelp
  • Glow berries
  • Bamboo
  • Turtle eggs
  • Snow
  • Water freezing
  • Cauldrons
  • Dripstone

Currently planned:

  • Updating blocks in account of each other
  • Support for other mods (probably once this mod is out of beta)

Inspiration

I got this idea from a video by DigiDigger where he talks about how Terraria can handle all of its tiles. Even though the video isn't really accurate to how Terraria actually works, he did bring up an optimisation which I feel like could also be implemented to Minecraft. The timestamp where he talks about this optimisation is at 5:11.

Simulation accuracy:

Instead of using bruteforce and repeatedly ticking blocks/entities for the amount it was unloaded, the mod instead has a simulation function for every supported block/entity which will calculate the state of a block/entity after a certain amount of time. The most complicated things to simulate are blocks which use randomness in their ticks. To be able to simulate these we randomly sample from a binomial distribution and sometimes also a negative binomial distribution to get what state the blocks should be in after a certain amount of time. By doing this, you will get pretty accurate results without bruteforce.

However, some blocks do stuff that I am not able to find a good way to simulate. Because of this, certain blocks will not be accurately simulated.
Here's a list of those blocks:

  • Copper blocks
    The copper oxidation speed and max oxidation depends on how many blocks of copper are nearby and the state of those copper blocks. Right now my mod simulates one block at a time which means that I won't be able to accurately simulate blocks that are dependent on other blocks. This results in copper blocks being very inaccurate. However, when spaced optimally the simulation will be pretty accurate. Except that the first oxidation step has a lower chance of happening compared to the rest. To not have to deal with that as well I just made all steps have that lower chance.

  • Water freezing
    This has pretty much the same problem as copper blocks. Normally ice only generates if one of the surrounding blocks also is not water. The way my mod handles it is that it doesn't. I was too lazy to come up with any decent alternative, so I just used the original logic if a position is valid for ice to generate. This will definitely be fixed in the future once I come up with a good way to simulate multiple blocks together.

  • Turtle eggs
    The turtle eggs doesn't really have any issues regarding accuracy. The biggest issue I had was what age the turtles should have once hatched, but I managed to solve it. I just wanted to mention that the accurate simulation can be a slight bit more expensive. So there's an option to turn it off.

Anything that didn't get mentioned here most likely has a pretty accurate simulation function with no issues at all.

Feedback / Suggestions

If you got any feedback or suggestions for this mod, feel free to join my discord server!

open_in_new View on Modrinth
Categories
Compatibility
Client: Unsupported Server: Required
gavel LGPL-3.0-only

Conversation

What are your thoughts?

Related projects

Optimization Utility
FerriteCore
FerriteCore

by malte0811

Memory usage optimizations

download 84.3M
favorite 12,712
Utility
Mod Menu
Mod Menu

by Prospector

Adds a mod menu to view the list of mods you have installed.

download 77.7M
favorite 22,127
Library Management Utility
YetAnotherConfigLib (YACL)
YetAnotherConfigLib (YACL)

by isxander

A builder-based configuration library for Minecraft!

download 66.1M
favorite 7,607
Adventure Transportation Utility
Xaero's Minimap
Xaero's Minimap

by thexaero

Displays a map of the nearby world terrain, players, mobs, entities in the corner of your screen. Lets you create waypoints which help you find the locations you've marked.

download 60.9M
favorite 13,668
lock Cookie consent

SkinMC uses cookies to provide functionality and features.