Skip to content

Commit 437c5f9

Browse files
authored
Create README.md
1 parent 952048b commit 437c5f9

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

README.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
## Stop blocks from random ticks or ticks
2+
3+
#### Random ticks
4+
Most blocks in the game perform randomTicks and this part is quiet optimized in itself. Yet, the more blocks you have the bigger the strain on a server. Even stairs do randomTick() for some mysterious reason.
5+
Preventing randomTick() is a somewhat safe option. You just prevent some mechanics from running, like copper weathering, bamboo growing. At least in vanilla I haven't found any breaking blocks that crash the game if they are banned. I have randomly selected 50% of all the blocks in the game and banned them. No issues.
6+
7+
Here is some data from profiler:
8+
Versions: Minecraft 1.20.1, Forge 4.30.0.
9+
Mods: NoRandomTicks and WorldEdit
10+
Blocks: 3800 bamboo, 5800 acacia stairs, 4200 birch leaves
11+
12+
[How to understand this numbers](https://docs.minecraftforge.net/en/latest/misc/debugprofiler/)
13+
14+
Vanilla:
15+
```
16+
[08] | | | | | | | | tickBlocks(40401/201) - 64.88%/5.94%
17+
[09] | | | | | | | | | randomTick(53667/267) - 72.67%/4.32%
18+
[10] | | | | | | | | | | #getChunkCacheMiss 4309/21
19+
[10] | | | | | | | | | | #getChunk 97830/486
20+
[10] | | | | | | | | | | unspecified(53667/267) - 82.14%/3.55%
21+
[10] | | | | | | | | | | queueCheckLight(4755/24) - 8.67%/0.37%
22+
[10] | | | | | | | | | | updateSkyLightSources(4755/24) - 8.45%/0.37%
23+
[10] | | | | | | | | | | no_random_tick_check_blocks(6428/32) - 0.74%/0.03%
24+
```
25+
26+
Blacklisted:
27+
```
28+
[08] | | | | | | | | tickBlocks(40401/201) - 40.26%/1.50%
29+
[09] | | | | | | | | | unspecified(40401/201) - 75.91%/1.14%
30+
[09] | | | | | | | | | randomTick(53064/264) - 24.09%/0.36%
31+
[10] | | | | | | | | | | #getChunkCacheMiss 43/0
32+
[10] | | | | | | | | | | #getChunk 882/4
33+
[10] | | | | | | | | | | unspecified(53064/264) - 92.69%/0.34%
34+
[10] | | | | | | | | | | no_random_tick_check_blocks(5231/26) - 7.31%/0.03%
35+
```
36+
37+
Consider +-1% as error
38+
39+
| Vanilla | Mod | Difference |
40+
| ------------- |:-------------:| -----:|
41+
| tickBlocks(40401/201) - 64.88%/5.94% | tickBlocks(40401/201) - 40.26%/1.50% | +4.44% |
42+
| randomTick(53667/267) - 72.67%/4.32% | randomTick(53064/264) - 24.09%/0.36% | +3.96% |
43+
| no_random_tick_check_blocks(6428/32) - 0.74%/0.03% | no_random_tick_check_blocks(5231/26) - 7.31%/0.03% | no change |
44+
45+
#### Ticks
46+
This territory is full of surprizes. Some blocks may be unaffected at all while others may stop working or only half of the functionality may be gone. E.g. minecraft:fire, if you ban it from ticking the only thing that will happen is it won't destroy block (if set on wood for example) and extinguish. So, basically behaves like on netherrack.
47+
Furnaces don't give a shit. So, unless you know how a block works or ready for a long process of trail & error, I recommend to avoid this feature.
48+
49+
#### Fluids
50+
I couldn't prevent them from ticking because they have a very specific logic tied to this method which is unique to every liquid. So, if you prevent it from happening the game crashes.
51+
If you know how to do that, please tell me.
52+
53+
## Usage
54+
The way I see it, this mod may help you:
55+
- Squeeze some performance if you are in a really tight spot. This is for a server, remember, this mod helps the server way more than to a client.
56+
- Prevent some mechanics from happening while leaving the block.
57+
- Debugging
58+
59+

0 commit comments

Comments
 (0)