Jason Penilla
4597f04a6d
0.1.0-beta.9
v0.1.0-beta.9
2024-11-17 10:56:53 -07:00
Jason Penilla
20764890a7
Update lithium, NeoForge, loom
2024-11-16 17:37:11 -07:00
Jason Penilla
f719abdb64
Update NeoForge lithium overrides
2024-11-16 17:35:43 -07:00
Jason Penilla
0dce47bba6
Apply FerriteCore config overrides automatically
...
New versions of FC added this mechanism
closes #66
2024-11-05 16:13:46 -07:00
Jason Penilla
47584ceee1
Use declaration order for state holder property iteration
...
Mostly an aesthetic change for serialization, should not have any impact on performance or correctness.
2024-10-27 18:32:42 -07:00
Jason Penilla
2fc858a683
Back to 0.1.0-SNAPSHOT
2024-10-26 11:05:51 -07:00
Jason Penilla
68ea18bc51
0.1.0-beta.8
v0.1.0-beta.8
2024-10-26 11:03:18 -07:00
Jason Penilla
9944946b29
Update Fabric API and call ServerChunkEvents.CHUNK_GENERATE
2024-10-26 09:54:34 -07:00
Jason Penilla
ec1120ed10
Back to 0.1.0-SNAPSHOT
2024-10-24 11:48:08 -07:00
Jason Penilla
8040c7a264
0.1.0-beta.7
v0.1.0-beta.7
2024-10-24 11:40:46 -07:00
Jason Penilla
a9e36795e5
fabric: fix crash when fabric-lifecycle-events-v1 not present
2024-10-23 18:32:06 -07:00
Jason Penilla
a70073ae3e
Setup issue templates ( #53 )
...
* Setup issue templates
* try to change order
2024-10-22 09:21:13 -07:00
Jason Penilla
6724814c02
Apply Lithium overrides on NeoForge ( #57 )
...
* Apply Lithium overrides on NeoForge
closes #56
* Update readme
* Sort overrides
2024-10-22 09:20:40 -07:00
Jason Penilla
f32a08738e
Adjust min/max section optimizations ( #55 )
...
* Change min/max section optimisations
* Correctly init dimension type
We need to initialise the field as early as possible in the constructor
to avoid problems.
Also, do not cache min/max section in EntityLookup. Note that mods
that implement worlds with variable heights will not work still,
as the entity slices expect a fixed height.
* Cache calculated height values
---------
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com >
2024-10-17 18:02:22 -07:00
Jason Penilla
56e48ed069
Back to 0.1.0-SNAPSHOT
2024-10-15 13:04:47 -07:00
Jason Penilla
9da99576a6
0.1.0-beta.6
v0.1.0-beta.6
2024-10-15 12:56:32 -07:00
Jason Penilla
dfbe1bcf8b
Fix Mixin application failure in production
...
Work around https://github.com/FabricMC/tiny-remapper/issues/137
2024-10-15 12:45:22 -07:00
Jason Penilla
ae29196221
Back to 0.1.0-SNAPSHOT
2024-10-14 19:45:01 -07:00
Jason Penilla
f1eb61cc51
0.1.0-beta.5
v0.1.0-beta.5
2024-10-14 19:17:38 -07:00
Jason Penilla
58c933938f
fabric: Call ServerChunkEvents.CHUNK_LOAD/CHUNK_UNLOAD, add and call FabricHooks.ON_EXPLOSION event ( #52 )
...
fixes #16
related to #45
2024-10-14 19:06:58 -07:00
Jason Penilla
1dc3cb5f14
Improve LeafProfiler output formatting ( #28 )
...
make it readable
2024-10-14 18:03:04 -07:00
Jason Penilla
2acfc6a68e
Add missing require = 3 to util_threading_detector PalettedContainer constructor injection, and simplify fast_palette PalettedContainer constructor injection.
2024-10-02 10:54:52 -07:00
Jason Penilla
c22538c364
Back to 0.1.0-SNAPSHOT
2024-09-30 19:22:12 -07:00
Jason Penilla
e244c60375
0.1.0-beta.4
v0.1.0-beta.4
2024-09-30 19:10:12 -07:00
Jason Penilla
65253d5199
Re-fix dev-time conflict with lithium height overrides
...
See cfa80c44 and 2acd5cc2
2024-09-30 19:00:00 -07:00
Jason Penilla
6e82b034b7
Fix typo in previous commit
...
Also for some reason the issue resolved by cfa80c44 seems to be back...
2024-09-30 18:52:01 -07:00
Jason Penilla
a7cd78e63b
Disable lithium mixin.util.entity_movement_tracking mixins, see #33
2024-09-30 18:43:25 -07:00
Jason Penilla
05ba7066d9
Add NeoForge/Mojang names for redirects in NaturalSpawnerMixin
2024-09-30 10:17:28 -07:00
Spottedleaf
340ac4e8f5
Fix incorrect fluid pushing velocity
...
Forgot to re-assign the flow vector variable with the scaled
flow.
2024-09-30 04:39:05 -07:00
Spottedleaf
a4770aca2b
Fix performance regression in Entity#updateFluidHeightAndDoFluidPushing
...
The upper bounds from Vanilla are exclusive, but we were treating
them as inclusive which changes behavior and increases the number
of blocks read.
2024-09-30 04:39:05 -07:00
Spottedleaf
a8d4ce526b
Optimise block/chunk reading in Entity#updateFluidHeightAndDoFluidPushing
...
Like other block reading code, a lot of time gets spent retrieving
the chunk and retrieving the section which we can avoid.
2024-09-30 04:39:05 -07:00
Spottedleaf
2acd5cc213
Optimise Level#isOutsideBuildHeight
...
We can cache the min/max build height to avoid the indirection
required to compute them.
2024-09-30 04:39:05 -07:00
Spottedleaf
07dce0ffe6
Change ShapesMixin#or to perform unoptimised intermediate joins
...
We can delay the shape optimisation to the final operation, which
should provide a perform boost for merging many shapes.
2024-09-30 04:39:05 -07:00
Spottedleaf
c2e2f0b9f2
Optimise countEntries for low size SimpleBitStorage
...
We can use a simple array lookup table by palette id when the
number of palette entries is low. This eliminates the need for
the map lookup on each entry.
2024-09-30 04:39:05 -07:00
Spottedleaf
1374ea34ee
Replace ticking block coordinate set with ShortList
...
We can store a position (ranging from 0-4095) into a short,
so we can use ShortList to cut the memory usage in half.
2024-09-30 04:39:05 -07:00
Spottedleaf
fef4872a3a
Do not calculate block counts on the client
...
It appears that this call is very expensive. We instead substitute
an exact check with setting the special colliding blocks to whether
the palette initially contains a special colliding block, and after
on block updating by whether any special colliding block was set.
2024-09-30 04:39:04 -07:00
Spottedleaf
a9678c76eb
Fix missing range scale for passenger entities in entity tracker
2024-09-30 04:39:04 -07:00
Spottedleaf
bafa195546
Ensure relative block position methods return an immutable instance
...
If the relative distance is 0, then we would return the current
instance - which may be a mutable instance. However, Vanilla overrides
the relative function to return an immutable instance even when
the distance is zero. To ensure that this behavior is kept, we return
an immutable instance when the distance is zero.
2024-09-30 04:39:04 -07:00
Spottedleaf
04c6e6c01a
Track broadcast chunks separately from player ticking chunks
...
Not all broadcast chunks are ticking in the new chunk system,
so we need to track them separately to ensure updates take place
in non-simulation range chunks.
2024-09-30 04:39:04 -07:00
Spottedleaf
7351872730
Avoid performing biome lookup for mob cost when entity has no cost
...
Most mob types do not have a cost with any biomes, so there is
no point in performing the lookup.
2024-09-30 04:39:04 -07:00
Spottedleaf
77b977ac17
Reduce chunk tick iteration count
...
By only iterating over chunks that are both ticking AND near players
or marked for ticking, we can reduce the number of chunks to iterate
over in higher SD settings.
2024-09-30 04:39:04 -07:00
Spottedleaf
f0d122f358
Optimise MobCounts implementation
...
Use of a map for category->count is inefficient as the key
is an enum. We can use a simple int array, which reduces
the get() and compute() calls to an array access.
2024-09-30 02:29:22 -07:00
Spottedleaf
aa240eb16d
Modify isInWall to use same block retrieval as CollisionUtil
2024-09-30 02:25:24 -07:00
Spottedleaf
f9c99d1e32
Avoid streams for block retrieval in Entity#move
...
Profiling shows that the streams alone account for half of the time
for this specific check (inside fire/lava).
2024-09-30 02:25:24 -07:00
Spottedleaf
3fa0ff67a7
Optimise checkInsideBlocks
...
Use the same block retrieving algorithm as CollisionUtil
2024-09-30 02:25:24 -07:00
Spottedleaf
f7d9e5b422
Optimise findSupportingBlock to be like CollisionUtil
...
CollisionUtil's block iteration supports using the special
colliding blocks, as well as a superior (but more verbose)
chunk iteration.
2024-09-30 02:25:24 -07:00
Spottedleaf
5d1975154b
Add dev override for max view distance
2024-09-30 02:25:24 -07:00
Spottedleaf
d21fa9f48c
Use SimpleRandom for chunk tick shuffling
2024-09-30 02:25:24 -07:00
Spottedleaf
1c150afe83
Add and use reference counted ChunkData
...
ChunkData is stored directly on chunk holders, entity slices,
and on entities. Currently, this allows access to
NearbyPlayers$TrackedChunk without performing a map lookup.
2024-09-30 02:25:24 -07:00
Spottedleaf
d9988c86f4
Add direct lookup by chunk for NearbyPlayers
...
This simplifies the lookup code by reducing the number of "random"
accesses to 1 (get() call) assuming that the directByChunk array
is cached.
2024-09-30 02:25:24 -07:00