Commit Graph

24 Commits

Author SHA1 Message Date
Spottedleaf
4b0bc74c90 Initialise default nibble arrays in ChunkAccess directly
When ChunkAccess was converted to an abstract class some versions
ago, the code to initialise nibble arrays should have been moved.
However, the code was not moved and so now mods constructing their
own implementations of ChunkAccess would not have the nibble arrays
initialised.

This is ported to Paper from Starlight to keep the code base in sync,
not because it fixes anything known.
2023-10-16 18:57:45 -07:00
Spottedleaf
00331d943e Fix mushrooms not generating in swamps
During feature generation, light data is not initialised and
will always return 15 in Starlight. Vanilla can possibly return
0 if partially initialised, which allows some mushroom blocks to
generate.

In general, the brightness value from the light engine should not
be used until the chunk is ready. To emulate Vanilla behavior better,
we return 0 as the brightness during world gen unless the target
chunk is finished lighting.

The regular light retrieval outside of WorldGenRegion remains
the same, as behaviorally chunks not lit should be at max
skylight and zero block light.
2023-10-16 18:52:28 -07:00
Spottedleaf
2f4281e2b4 Remove unused skyLightSources
There is no point in initialising the sources in Starlight,
as we do not use them. Additionally, they are not saved to
disk so we do not need them.

Maintaining and initialising them is not a negligible cost,
which is why they are being removed.
2023-10-16 18:49:41 -07:00
Spottedleaf
38dc3b25d8 Optimise chunk tick iteration
When per-player mob spawning is enabled we do not need to randomly
shuffle the chunk list. Additionally, we can use the NearbyPlayers
class to quickly retrieve nearby players instead of possible
searching all players on the server.
2023-09-23 22:31:00 -07:00
Jason Penilla
896aa8b54a
Rebuild patches 2023-09-22 10:59:56 -07:00
MiniDigger | Martin
1ebaffacf5 some compile fixes 2023-09-22 19:31:02 +02:00
Jake Potrebic
7b29d1f4c5
even more work 2023-09-21 19:17:21 -07:00
Noah van der Aa
20253f478f
more more work 2023-09-21 21:54:46 +02:00
Noah van der Aa
6267e26420
So it begins... 2023-09-21 19:18:04 +02:00
Spottedleaf
fb06829845 Optimise multiple block updates occurring in the same chunk
We can avoid multiple ticket additions for the same ChunkTasks
instance. This will help in situations where significant number of
block updates occur for the same chunk in the same tick, such as
water draining.
2023-09-11 07:15:18 -07:00
Md5Lukas
b4e3b3d1dd
Allow non-op players to execute the click event callback (#9652) 2023-08-28 13:21:13 +02:00
Spottedleaf
3f237e869a Fix IntegerUtil#getDivisorNumbers
Use unsigned mod operation for initialization of anc

Also includes
- 5a0cefb45e
- acc8ed9634
2023-06-16 09:05:36 -07:00
Jason
2e363c73ba
1.20.1 (#9333) 2023-06-13 09:10:07 +02:00
Noah van der Aa
b1a2378144
1.20: Fix a bunch of compile issues (#9273) 2023-06-07 16:21:20 -07:00
Jake Potrebic
0b8147f68e
fix a bunch of compile errors 2023-06-07 15:28:06 -07:00
Nassim Jahnke
c1bbde4bc6
Let's hope this is fine 2023-06-07 20:08:03 +02:00
Nassim Jahnke
965cf53cd5
Start working on 1.20 2023-06-07 19:06:55 +02:00
Jake Potrebic
29b17a892d
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9088)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
5efeb7bd Also update compiler version
c13b867a Update some Maven plugin versions
deb28d9f PR-837: Add more bell API
e938d62a PR-819: Allow Player#sendBlockDamage() to specify a source entity
0e75532c PR-818: Add more Guardian API, particularly for its laser
a10155aa PR-839: Add BlockData#rotate and BlockData#mirror
77e690b4 PR-836: Add missing API for explosive minecarts
60722059 PR-832: Allow getting chunks without generating them and optimize chunk data request for ungenerated chunks
0a2c4b4b PR-834: Add Player#sendHurtAnimation()

CraftBukkit Changes:
be8682aa8 Also update compiler version
08e305f5b Update some Maven plugin versions
187bdd463 PR-1160: Add more bell API
2f8e5bc7c PR-1145: Allow Player#sendBlockDamage() to specify a source entity
bcbb61b36 PR-1144: Add more Guardian API, particularly for its laser
722ddff6d PR-1162: Add BlockData#rotate and BlockData#mirror
80998277c PR-1159: Add missing API for explosive minecarts
1fddefce1 PR-1155: Allow getting chunks without generating them and optimize chunk data request for ungenerated chunks
20e8a486f PR-1157: Add Player#sendHurtAnimation()

Spigot Changes:
b31949f2 Rebuild patches
2023-04-07 19:39:13 +01:00
Jake Potrebic
23b0ef524a
[ci skip] rebuild patches 2023-03-23 14:57:03 -07:00
Riley Park
9087a644a3 chore: cleanup annotations in api adventure patch 2023-03-23 10:51:08 -07:00
Nassim Jahnke
73cf1257ca
Update adventure to 4.13.0 2023-03-15 13:21:52 +01:00
Nassim Jahnke
2b6be6f1b3
More patches 2023-03-14 19:05:23 +01:00
Nassim Jahnke
2ed604cf72
Start working on 1.19.4 2023-03-14 18:11:24 +01:00
Owen
841da90501
Paper Plugins (#8108) 2023-02-19 08:57:10 -06:00