Commit Graph

315 Commits

Author SHA1 Message Date
Spottedleaf
6ec14ff755 Set version to 0.2.0-beta.7 v0.2.0-beta.7 2024-12-23 00:04:55 -08:00
Jason Penilla
18e872ad12 Compile against latest NeoForge and misc build updates 2024-12-20 19:12:51 -08:00
Spottedleaf
13c6499854 Set version to 0.2.0-SNAPSHOT 2024-12-20 11:33:39 -08:00
Spottedleaf
b70443edd5 Set version to 0.2.0-beta.6 v0.2.0-beta.6 2024-12-20 11:33:26 -08:00
Spottedleaf
38bab21ddf Update cloth config version for 1.21.4 2024-12-20 11:31:41 -08:00
Spottedleaf
f7d98327e0 Move ChunkSystem class to PlatformHooks
This is required for Paper's hard fork, as the Moonrise patch
needs to replace the base implementation of the chunk system
hooks.
2024-12-16 10:09:43 -08:00
Jason Penilla
271a58d2af Exclude transitive deps provided by Minecraft 2024-12-04 10:17:10 -07:00
Spottedleaf
a4f5ef1abd Add ConcurrentUtil and YamlConfig to .gitignore 2024-12-04 02:21:25 -08:00
Spottedleaf
d87df61412 Apply coordinate offset only to VoxelShape
VoxelShape coordiantes generally are an integer + a sum of powers of
two between [-1, -3]. Most offsets are generally an integer. As
a result, applying an offset to the coordinates generally results
in an error of 0. However, coordinate inputs do not follow such
trends. Thus, when applying an offset to the coordinate input,
there may be some floating point error.

By applying the offset to the VoxelShape coordinates, we can
eliminate additional floating point error.

This change also fixes the inconsistency when using
the single AABB, as input coordinates were not offset
when using the single AABB as the single AABB is already
offset.

Fixes https://github.com/Tuinity/Moonrise/issues/81
This specific issue is caused by floating point error resulting
in the falling anvil's y position becoming around -8E-17 when it
should be 0.
While this is still very comfortably in the collision
epsilon (1.0E-7), this results in the falling anvil's y block
position to become -1 (as the block position is simply
the floor of the coordinate).
2024-12-04 02:20:48 -08:00
Jason Penilla
e917272d3a Use libraries from Paper repo (#82)
* Use YamlConfig from Paper repo

* Add comment to settings

* Use ConcurrentUtil from Paper repo and use release of YamlConfig

* Use ConcurrentUtil release
2024-12-03 20:19:06 -07:00
Jason Penilla
bff8caea54 Update modmenu and use fabric api bom
Fixes fabric runs for 1.21.4
2024-12-03 17:08:09 -07:00
Jason Penilla
97a865c532 update lithium versions for 1.21.4 2024-12-03 12:37:32 -07:00
Spottedleaf
f6541b0d91 Fix AcquirePoiMixin
Just needed to update the method targets
2024-12-03 11:28:23 -08:00
Jason Penilla
6b4139a5ab add neoforge test 2024-12-03 11:58:07 -07:00
Jason Penilla
43164acf5e Add Mixin audit unit test for Fabric
Doing this for NeoForge may need to wait until we build using ModDevGradle
2024-12-03 11:58:07 -07:00
Jason Penilla
73d73c935a temporary fix for reproducible at files 2024-12-03 11:57:49 -07:00
Jason Penilla
7863c556f9 fix archive extension 2024-12-03 11:57:48 -07:00
Jason Penilla
c0b02ea709 fix jarjar being missing from final neoforge jar 2024-12-03 11:57:48 -07:00
Jason Penilla
9004f12be6 remove todo 2024-12-03 11:57:48 -07:00
Jason Penilla
b2144a55aa use asm fix from adventure-platform-mod 2024-12-03 11:57:48 -07:00
Jason Penilla
882d733203 More work on runs 2024-12-03 11:57:48 -07:00
Jason Penilla
9b6982bf65 Work on fixing runs 2024-12-03 11:57:48 -07:00
Jason Penilla
5635373cff Replace AT task dependency workaround 2024-12-03 11:57:47 -07:00
Jason Penilla
76d2c36481 WIP: Use ModDevGradle instead of archloom for common and NeoForge 2024-12-03 11:57:47 -07:00
Jason Penilla
ca791ddc74 update metadata for 1.21.4 2024-12-03 11:57:33 -07:00
Spottedleaf
7f08c11a11 Start update to 1.21.4
Remove the EnderDragon entity retrieval inside ChunkEntitySlices
and move it to PlatformHooks#addToGetEntities for fabric (neoforge
already did this).
2024-12-03 10:48:55 -08:00
Spottedleaf
93b908350e Throw when sync loading chunks after shutdown
The caller would block indefinitely if a sync load is requested
during shutdown. Rather than block indefinitely, we should throw
an exception to indicate to the caller that the chunk system is
unable to process requests.
2024-12-02 23:13:22 -08:00
Spottedleaf
4bd7eb8b72 Set version to 0.2.0-SNAPSHOT 2024-12-01 16:05:06 -08:00
Spottedleaf
a6cf977c5f Set version to 0.2.0-beta.5 v0.2.0-beta.5 2024-12-01 16:00:29 -08:00
Spottedleaf
8ed23bc8f3 Fix several off-by-one errors in view distance calculations
1. For NearbyPlayers, we need to be using the view distance, and
   not the load distance (which is +1 of the view distance).
2. Correctly clamp tick distance to view distance. Since
   load distance is +1 of view distance, we need to subtract
   one from the load distance when clamping.

Additionally, add checks inside ViewDistances to ensure that
the inputs are in range to catch future errors.
2024-12-01 15:30:33 -08:00
Spottedleaf
7034995878 Clamp simulation distance
Values above MAX_VIEW_DISTANCE do not make sense to configure,
as it is clamped to the load view distance.
2024-12-01 15:29:49 -08:00
Spottedleaf
ca3d776562 Adjust constant collision shape determination
Our previous hack did not actually catch every case. For now,
it will only assume a constant collision shape of EMPTY for
air blocks.

Fixes https://github.com/PaperMC/Paper/issues/11697
2024-12-01 12:00:31 -08:00
Spottedleaf
1a077389c2 Force LazyEntityCollisionContext#getEntity() to delegate
By delegating when the entity is retrieved, we can correctly catch
cases where the collision method is inspecting some entity state.
2024-12-01 12:00:18 -08:00
Spottedleaf
49bcc60cf5 Only call config initialisers if reload succeeded 2024-12-01 11:31:16 -08:00
Spottedleaf
8b1f31ade8 Drop RegionFileStorage.RegionFileSizeException diff in MoonriseRegionFileIO
This diff should be implemented in Paper. Previously, the diff was
in the chunk system patch in Paper - but it should be in its own
separate patch.
2024-11-28 17:53:36 -08:00
Spottedleaf
4d88e04e3c Do not call modifyEntityTrackingRange on own range
The range is already modified, so this call will not do anything.
2024-11-27 12:20:50 -08:00
Spottedleaf
33889c3850 Replace Level/Entity randoms with ThreadUnsafeRandom
This avoids the expensive CAS logic at the expense of losing the
thread check.
2024-11-27 05:56:34 -08:00
Spottedleaf
37ac3003cb Replace SimpleRandom with (Simple)ThreadUnsafeRandom
ThreadUnsafeRandom is a random implementation that is
identical to LegacyRandomSource behaviourally, but
without the thread checks.

SimpleThreadUnsafeRandom is ThreadUnsafeRandom except with
its nextInt(int) function replaced with a faster
but more biased implementation when bound is very large.
2024-11-27 05:56:34 -08:00
Jason Penilla
28128d06c1 Disable immediate loading screen closure by default 2024-11-26 15:51:35 -07:00
Spottedleaf
6f9620787b Use https for YamlConfig repo
SSH isn't setup in actions so it cannot clone via SSH.
2024-11-25 09:30:49 -08:00
Spottedleaf
cbf6c118dc Mark install_deps.sh as executable 2024-11-25 09:25:32 -08:00
Spottedleaf
d44fa1f8aa Move YamlConfig to own project 2024-11-25 09:17:11 -08:00
Spottedleaf
3d9ae3f018 Fix non block ticking chunks not sending block/light updates
Needed to redirect the getTickingChunk call in
broadcastChangedChunks to use the chunk to send method.
2024-11-18 13:24:24 -08:00
Spottedleaf
d24f6c2874 Do not create unneccessary callback in ChunkTaskScheduler#scheduleChunkLoad
If the parameter has addTicket = false and onComplete = null,
then the loadCallback would do no work and as a result does
not need to be created.
2024-11-17 14:09:00 -08:00
Jason Penilla
f190cdd8cb Back to 0.2.0-SNAPSHOT 2024-11-17 11:31:37 -07:00
Jason Penilla
e7510eda16 0.2.0-beta.4 v0.2.0-beta.4 2024-11-17 10:49:05 -07:00
Jason Penilla
d9442c1492 Update lithium overrides 2024-11-17 10:28:38 -07:00
Jason Penilla
93eb2786f2 Update ServerExplosionMixin for NeoForge changes 2024-11-17 10:27:31 -07:00
Jason Penilla
1bef6823c5 Update lithium, NeoForge, loom 2024-11-16 17:35:27 -07:00
Jason Penilla
01152eec95 Update NeoForge lithium overrides 2024-11-16 17:34:44 -07:00