Commit graph

7363 commits

Author SHA1 Message Date
SoSeDiK
254a07415d Allow changing bed's 'occupied' property (#8458) 2022-10-14 11:37:01 +03:00
Lulu13022002
c0e86f0599 Avoid cycle deprecation (#8466) 2022-10-13 13:52:04 +02:00
Lulu13022002
e827d176c4 Update settings directory path in exceptions (#7968) 2022-10-13 13:38:06 +02:00
SoSeDiK
683149f9a1 Elder Guardian appearance API (#8455) 2022-10-13 13:26:51 +03:00
Shane Freeder
c0e803bfd2 Make CraftMinecartTNT public
adding the getHandle method causes some issues with things like ProtocolLib
due to the expectation that all classes which provide a getHandle method
are public.
2022-10-12 16:10:52 +01:00
Jake Potrebic
c8d979234f Fix a classloading issue in tests (#8459) 2022-10-11 20:05:28 -07:00
Jason Penilla
420e6ac365 Fix stacktrace in server tests 2022-10-11 16:52:49 -07:00
Jakub Žáček
07f0c9755b Add PlayerInventorySlotChangeEvent (#7321) 2022-10-11 23:49:10 +02:00
Owen1212055
e7535118d9 Add missing Entity + Projectile API (#7632) 2022-10-11 17:04:26 -04:00
SoSeDiK
9ff21585db Expose isUnderWater to Entity (#8454) 2022-10-11 15:43:10 +03:00
Jake Potrebic
5afab91756 Add missing structure set seed configs (#8030) 2022-10-09 13:19:35 -07:00
Jake Potrebic
5eb4ada324 Fix configs that relied on outdated min/max y levels (#6986) 2022-10-08 23:52:09 -07:00
Jake Potrebic
68ca16f075 Add Unmodifiable annotations to getDrops methods (#8440) 2022-10-07 11:51:54 -07:00
Warrior
3ef916da77 Exempt players in creative/spectator from nether ceiling damage (#8427) 2022-10-07 20:43:26 +02:00
Jake Potrebic
9e43d68e57 Correctly handle interactions with items on cooldown (#8008) 2022-10-07 08:22:45 -07:00
Jake Potrebic
365d10556b EntityPickupItemEvent fixes (#8096) 2022-10-04 21:38:39 -07:00
Jake Potrebic
6e4207e2d9 Fix custom piglin interest items (#8097) 2022-10-04 20:28:46 -07:00
Nassim Jahnke
bf82a75a52 Remove unnecessary onTrackingStart during nav warning
Closes #8396
2022-10-03 20:50:53 +02:00
Gero
bb41ef89ff Avoid resizing of ArrayList in ChunkMap#getPlayers (#8416) 2022-10-03 19:22:01 +02:00
Nassim Jahnke
ad03c22822 [ci skip] Minor patch cleanup 2022-10-03 19:07:03 +02:00
Friwi
b483d1d056 Fix nothing mlg (#8432) 2022-10-03 18:44:19 +02:00
Nassim Jahnke
0254c46a8b Updated Upstream (Bukkit/CraftBukkit) (#8430)
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:
09943450 Update SnakeYAML version
5515734f SPIGOT-7162: Incorrect description for Entity#getVehicle javadoc
6f82b381 PR-788: Add getHand() to all relevant events

CraftBukkit Changes:
aaf484f6f SPIGOT-7163: CraftMerchantRecipe doesn't copy demand and specialPrice from BukkitMerchantRecipe
5329dd6fd PR-1107: Add getHand() to all relevant events
93061706e SPIGOT-7045: Ocelots never spawn with babies with spawn reason OCELOT_BABY
2022-10-02 09:56:36 +02:00
TetraTheta
1fc4118bd8 Only create paper.yml-README.txt on config conversion (#8334) 2022-10-02 16:29:09 +09:00
Jake Potrebic
88d5b59398 Fix a handful of vanilla bugs (#8187) 2022-10-01 10:39:42 -07:00
Melncat
4a28b308a5 Add getDrops to BlockState and isPreferredTool to BlockData (#8284) 2022-10-01 03:30:00 -07:00
Nassim Jahnke
18149f8cb2 Add system property to dump stack on bad plugin class access (#8417) 2022-10-01 11:49:27 +02:00
Remynfv
f064550583 Fix other jigsaw related disconnect bug (#8414) 2022-10-01 01:08:07 -07:00
Nassim Jahnke
bcbb7dae76 Don't print full packages in new chunk system classes
Closes #8391, #8412
2022-09-30 23:19:51 +02:00
Pasqual Koschmieder
99a00c8e1c Fix wrong yaw and pitch of CommandSourceStack#getBukkitLocation (#8411) 2022-09-30 21:03:42 +02:00
Remynfv
1fe1b8b78e use BlockFormEvent for mud converting into clay (#8398)
Co-authored-by: Legitimoose <legitimoose@gmail.com>
2022-09-30 03:33:31 -07:00
Ilari Suhonen
87abd1cde2 Reduce allocation rate for checkBlock
Use ObjectOpenHashSet instead of HashSet
Remove unnecessary chunkToSave modification
2022-09-29 09:04:52 -07:00
Spottedleaf
3acabf7aa9 Do not log throwable for duplicate entity adds 2022-09-29 08:53:33 -07:00
Bjarne Koll
f044bd9e6c Mark parsed PoiChunks with data as not loaded (#8405)
Previously, PoiChunk#empty would create a new empty poi chunk with
loaded already set to true, as no data was contained in the chunk.
This allowed the poi chunk to skip expensive trips to the main thread.

However, PoiChunk#parse used #empty to create the initial PoiChunk
instance that is then filled with data.
This leads to PoiChunks returned from #parse to already be marked as
loaded, preventing the then needed trip to the tick thread to update
things like the village distance tracker.

To fix this, this commit now marks the PoiChunks loaded state as false
if the parse logic actually read and parsed any data.
This allows the PoiChunk#load method to properly run its callbacks when
called for the first time.
2022-09-29 17:54:47 +02:00
F1rsi
b1d359f247 [ci skip] Added the missing "d" character (#8267) 2022-09-29 17:36:01 +03:00
Remynfv
484512facb Fix jigsaw block kicking user (#8404) 2022-09-29 04:37:56 -07:00
Jason Penilla
79f4c49afc Update Velocity natives (#8387) 2022-09-29 04:18:20 -07:00
Shane Freeder
bf718e5334 [ci skip] shuffle patches and rebuild 2022-09-28 04:27:26 +01:00
Nassim Jahnke
60161bb02c Fix user auth thread pool queue 2022-09-27 18:00:46 +02:00
Jake Potrebic
f7c05166ab Fixes a couple issues with entity spawn reasons (#8390) 2022-09-26 17:24:56 -07:00
Nassim Jahnke
9fdc8516b8 Update snekyaml 2022-09-26 19:47:22 +02:00
Spottedleaf
0f1a8717e8 Rewrite chunk system (#8177)
Patch documentation to come

Issues with the old system that are fixed now:
- World generation does not scale with cpu cores effectively.
- Relies on the main thread for scheduling and maintaining chunk state, dropping chunk load/generate rates at lower tps.
- Unreliable prioritisation of chunk gen/load calls that block the main thread.
- Shutdown logic is utterly unreliable, as it has to wait for all chunks to unload - is it guaranteed that the chunk system is in a state on shutdown that it can reliably do this? Watchdog shutdown also typically failed due to thread checks, which is now resolved.
- Saving of data is not unified (i.e can save chunk data without saving entity data, poses problems for desync if shutdown is really abnormal.
- Entities are not loaded with chunks. This caused quite a bit of headache for Chunk#getEntities API, but now the new chunk system loads entities with chunks so that they are ready whenever the chunk loads in. Effectively brings the behavior back to 1.16 era, but still storing entities in their own separate regionfiles.

The above list is not complete. The patch documentation will complete it.

New chunk system hard relies on starlight and dataconverter, and most importantly the new concurrent utilities in ConcurrentUtil.

Some of the old async chunk i/o interface (i.e the old file io thread reroutes _some_ calls to the new file io thread) is kept for plugin compat reasons. It will be removed in the next major version of minecraft.

The old legacy chunk system patches have been moved to the removed folder in case we need them again.
2022-09-26 01:02:51 -07:00
Bjarne Koll
614f528234 Fix typos in isTickingWorlds API javadocs (#8382) 2022-09-25 02:01:17 +02:00
Lulu13022002
f059f8fce5 Fix setEggCount method from TurtleLayEggEvent (#8385) 2022-09-24 18:34:20 +02:00
Owen1212055
aba5839fde Fix player desync on dimension change (#8253) 2022-09-24 01:45:13 -04:00
Lulu13022002
2e51143433 Avoid item meta usage for itemstack enchantment getter (#8373) 2022-09-24 07:19:51 +02:00
willkroboth
28f9b1a3cb Add method isTickingWorlds to Bukkit (#8316)
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>

Also, restores un/loading worlds mid tick. This will not be officially supported API contract that such a routine is safe, and these restrictions may be restored in the future.
2022-09-24 01:19:05 -04:00
Shane Freeder
fb6addf9e6 Fix mangled patch 2022-09-24 05:48:42 +01:00
willkroboth
60fa7be5b1 Avoid potential place where the world map could be modified after its iterator is created (#8315) 2022-09-24 00:33:20 -04:00
Shane Freeder
8e18842fbc Updated Upstream (Bukkit/CraftBukkit/Spigot)
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:
c7c11188 SPIGOT-2620: Add Player#sendBlockChanges()
f63d2b44 Improve annotation test on parameters
3372e7b4 SPIGOT-1244, SPIGOT-6860, SPIGOT-6874: Various Javadoc and formatting fixes
a1e8a9ab PR-793: Ignore .checkstyle file generated by Eclipse IDE

CraftBukkit Changes:
c2c39089e SPIGOT-2620: Add Player#sendBlockChanges()
8209158db PR-1113: Ignore .checkstyle file generated by Eclipse IDE

Spigot Changes:
4aa5ead2 Rebuild patches
2022-09-24 02:38:12 +01:00
Jake Potrebic
d885450b81 Correct javadocs on PlayerArmorStandManipulateEvent (#7719) 2022-09-22 22:55:02 -07:00