Commit Graph

1534 Commits

Author SHA1 Message Date
Jason
f97bb11e4b
Account for splash water bottles now extinguishing entities (#8622)
* Account for splash water bottles now extinguishing entities

* improvements and javadocs

* reorder patches

* rename event to WaterBottleSplashEvent

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2022-12-08 16:33:22 -08:00
Jake Potrebic
b8d33f406e
fix a few structure seed configs 2022-12-08 12:15:18 -08:00
Jake Potrebic
244a523df3
readd missing structure set seeds patch 2022-12-08 11:06:54 -08:00
Jake Potrebic
6120bc9206
properly handle xray bypass perm 2022-12-08 10:35:33 -08:00
Jake Potrebic
9bace84b44
check now succeeds 2022-12-08 10:23:12 -08:00
Jake Potrebic
49f57cc170
fix some tests and DoNotUse violations 2022-12-08 09:47:29 -08:00
Nassim Jahnke
93ee9e63c9
Readd fixes for SpawnReason API patch 2022-12-08 17:51:06 +01:00
Jake Potrebic
5256716ffb
fix ChatProcessor 2022-12-08 08:32:29 -08:00
Nassim Jahnke
12fee1cf81
Update Velocity modern forwarding reading 2022-12-08 12:16:44 +01:00
Nassim Jahnke
4074d4ee99
Fix bad AT 2022-12-08 12:00:10 +01:00
Nassim Jahnke
dcc290167f
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:
dea9ce0a SPIGOT-7198: Add Sittable interface to Camel

CraftBukkit Changes:
eecb4c0dc SPIGOT-7196: Exception loading alternate worlds
0ff61e8fa SPIGOT-7198: Add Sittable interface to Camel
676441aac PR-1121: Handle additional missing SpawnEggs in MetaSpawnEgg
e85280e02 Handle missing SpawnEggs in MetaSpawnEgg

Spigot Changes:
d90018e0 SPIGOT-7199: NPE loading or creating world with custom chunk generator
2022-12-08 11:53:14 +01:00
Jake Potrebic
66a288b4f4
fix some startup issues 2022-12-08 00:52:08 -08:00
Jake Potrebic
04801b7982
fix more compile issues 2022-12-07 22:11:20 -08:00
Jason Penilla
4a3753dbb1
more compile fixes 2022-12-07 21:24:59 -07:00
Jason Penilla
0b291cccce
compile fixes 2022-12-07 20:24:00 -07:00
Noah van der Aa
7aa90a8535
More 1.19.3 registry fun (#8618) 2022-12-07 23:49:41 +00:00
Owen
e21c1b41a7
Properly resend entities (#8617) 2022-12-07 23:11:44 +00:00
Nassim Jahnke
0f275cc228
Fix MCVersions 2022-12-07 23:29:30 +01:00
Noah van der Aa
be9a0677b1
Add missing spawn eggs: Electric Boogaloo (#8616) 2022-12-07 23:10:51 +01:00
Nassim Jahnke
93507a8e41
Almost all patches 2022-12-07 23:05:32 +01:00
Nassim Jahnke
f8430d1de7
More patchidy patched patch patches 2022-12-07 22:57:15 +01:00
Noah van der Aa
f207880ec8
Fix a handful of 1.19.3 compile issues (#8615) 2022-12-07 22:36:56 +01:00
Nassim Jahnke
4710881e40
More patchidy patched patches 2022-12-07 22:35:34 +01:00
Nassim Jahnke
5b6d903302
More patchy patched patches 2022-12-07 22:05:01 +01:00
Nassim Jahnke
d0620624d7
Patching patched patched patches 2022-12-07 21:16:54 +01:00
Nassim Jahnke
7f3d2ff503
Patching patched patches 2022-12-07 20:22:28 +01:00
Nassim Jahnke
dfab659e53
Moar, fix API 2022-12-07 19:52:24 +01:00
Nassim Jahnke
0edb5458e5
Patching patches 2022-12-07 19:32:25 +01:00
Nassim Jahnke
4d6f28bab3
Patches 2022-12-07 18:53:34 +01:00
Nassim Jahnke
4fbe8d0b9b
First server patches 2022-12-07 18:08:55 +01:00
Nassim Jahnke
fd58a696cb
API patches 2022-12-07 17:46:46 +01:00
Noah van der Aa
b07d5e0aca
Limit pet look distance (#8612) 2022-12-06 19:10:58 +01:00
Shane Freeder
407a445aac
Fix dumplisteners missing folder creation 2022-12-06 04:02:44 +00:00
Yannick Lamprecht
96fdafd935
Player Entity Tracking Events (#4722) 2022-12-03 16:46:38 -06:00
Jake Potrebic
ec6a9a3e47
Updated Upstream (Bukkit/CraftBukkit) (#8604)
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:
38866413 SPIGOT-6765: Pass WorldInfo, Random and coordinates to ChunkGenerator should methods

CraftBukkit Changes:
f3dab3a48 SPIGOT-7191: TNT minecart explosions crash the server
b5aa0bed9 SPIGOT-7184: ExplosionPrimeEvent not called for ExplosiveMinecart
e7aab5493 SPIGOT-6765: Pass WorldInfo, Random and coordinates to ChunkGenerator should methods
2022-12-03 10:19:09 -08:00
Bjarne Koll
425baed78f
Fully deserialise persistent anger post async load (#8560)
The modified patch prevents entity loading off the main thread when
entities are initially loaded.

However, the initial loading of an entity is not the only time the
Entity#readAdditionalSaveData method is called. Commands like /data also
invoke the method (through Entity#load) to update an entities data
without completely re-creating it.

This however breaks with the current patch, as the patch moves parts of
the entity lookup for persistent anger deserialisation into the first
tick of an entity (which obviously is only called once and hence not
re-run when an already ticking entity is modified as laid out above).

This change actively runs the now split logic for deserialisation again
if the entity has already ticked its first tick. This way, initial
deserialisation is still split into one off thread and the first tick
parts, but following main thread deserialisations can happen completely
inside Entity#readAdditionalSaveData is called.
2022-12-02 18:09:41 +01:00
Jake Potrebic
c40f8d59a9
Sync offhand slot in menus (#7341) 2022-12-01 13:01:49 -08:00
Jason Penilla
54daefa0ca
Fix whitespace error in recent patch 2022-11-28 11:10:26 -07:00
Lulu13022002
8796175d79
Handle legacy quirk in the console formatter (#8434) 2022-11-28 14:41:29 +01:00
Denery
309133e2e1
Fix preemptive connection dropping during shutdown process (#8546) 2022-11-27 11:20:31 -06:00
sandtechnology
28b4027d45
Fix packet duplicating at some points (#8566)
Due to the weakly consistent of ConcurrentLinkedQueue iterator, at some points, packet will be resent twice times or more, causing some weird behaviors (e.g. kicked for illegal movement since the same ClientboundPlayerPositionPacket was sent two times). This changes for the patch add a flag for marking if the packet was consumed to prevent such issue and ensure consistently of the packet queue.
2022-11-27 10:36:35 -06:00
Jason
f1583fcd74
Add /paper dumplisteners tofile and increase detail of command output (#8592) 2022-11-26 10:36:11 -07:00
Ján Villim
21b964af4e
Added ability to control player's insomnia and phantoms spawning (#6500) 2022-11-26 10:59:04 -06:00
Owen
f59c802697
Schoolable Fish API (#7089) 2022-11-25 20:21:40 -06:00
SoSeDiK
4048d3ec68
Allow using degrees for ArmorStand rotations (#7847) 2022-11-25 19:42:30 -06:00
Noah van der Aa
9f7eef81fd
Friction API (#6611) 2022-11-25 18:23:12 -06:00
Jake Potrebic
d98c370fb5
Add displayName methods for advancements (#8584) 2022-11-24 23:05:48 -08:00
Jake Potrebic
414ea80d74
ItemStack damage API (#7801) 2022-11-24 22:52:00 -08:00
Jake Potrebic
f637b1a0a7
Fix async entity add due to fungus trees (#7626) 2022-11-24 22:32:29 -08:00
Jake Potrebic
b4beac0c9d
Fixes potential issues arising from optimizing getPlayerByUUID (#8585) 2022-11-24 22:22:19 -08:00
Amy
185fa48ac4
Fix chest relooting mechanics (#8580) 2022-11-25 00:21:40 +01:00
Warrior
8aff07afb0
Add /paper dumplisteners command (#8507)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Co-authored-by: TwoLeggedCat <80929284+TwoLeggedCat@users.noreply.github.com>
2022-11-23 16:28:38 -06:00
Lulu13022002
da230d521c
More vanilla friendly methods to update trades (#8478) 2022-11-23 15:38:49 -06:00
Jake Potrebic
e6e37ba5d7
Add api to resolve components (#7648) 2022-11-22 20:53:50 -08:00
Shane Freeder
55a16d8581
Fix Varint21FrameDecoder cached length buf usage 2022-11-22 17:50:31 +00:00
Lulu13022002
3ab194e185
Avoid a cubed max search distance for POIs (#8576)
The max search distance used to get the closest Poi data on X/Z axis is cubed
instead of squared (one time in the parameter and another time in the function)
for almost all search.
Generally this has been hidden by another check that already does a pre
distance check between the poi pos and the source pos for individual
component but the issue still happens for diagonal distance search.
Discovered by Samsuik
2022-11-21 16:02:21 +01:00
Jakub Žáček
a7df847aad
Add Player Warden Warning API (#8470) 2022-11-20 12:53:58 -06:00
Jake Potrebic
b95d4b28b8
Moving ATs from the at file to individual patches (#8573) 2022-11-19 15:53:20 -08:00
Noah van der Aa
76503f8887
Strip coordinates from lodestone compasses (#8561) 2022-11-19 15:41:09 -06:00
Owen
0a6f100a2a
Add more collision code skipping logic (#7581) 2022-11-19 15:14:19 -06:00
Lulu13022002
8f498dc19a
Sync chunk load command improvements (#8554) 2022-11-19 14:10:13 -05:00
William Blake Galbreath
669fed4b57
Fix MC-179072 (#8421) 2022-11-19 12:23:31 -06:00
Melncat
b4c1ae645f
Fix MC-121048 (#8429)
This moves the setHealth call to below the recordDamage call to prevent
recordDamage from clearing the CombatTracker, since recordDamage will
clear the CombatTracker if the entity is dead. This fixes death messages
such as the "doomed to fall" messages.
2022-11-18 22:04:52 -06:00
Lulu13022002
84b5d4a352
Reorder bukkit damage source entity for explosion (#8553) 2022-11-18 20:14:52 -06:00
Jake Potrebic
215111213b
Fix/improve Affects Spawning API (#7329) 2022-11-15 11:15:01 -08:00
Jake Potrebic
e22dacf4d2
update yarn param mappings (#8563) 2022-11-12 12:57:41 -08:00
braindead
7955bcc87b
fix MC-252817 (green map markers do not dissappear) (#8545) 2022-11-12 13:16:25 -06:00
Jake Potrebic
564356d1e0
ensure reset EnderDragon boss event name (#8562) 2022-11-12 10:34:14 -08:00
Owen
5f4952fbce
Cleanup reputation API + back with an EnumMap instead of array (#8258)
Resolves: #7142
2022-11-12 18:41:22 +01:00
Noah van der Aa
112fa18bac
Show exception when headless JRE detection is triggered (#8559) 2022-11-12 13:09:54 +01:00
Owen
117579c6bb
Add PrePlayerAttackEntityEvent (#8369)
Allows you to cancel player event attacking, preventing things like attack sounds from being played.
2022-11-09 22:05:58 -05:00
Jake Potrebic
e6ee4cdffe
Updated Upstream (CraftBukkit) (#8548) 2022-11-09 16:05:46 -08:00
Shane Freeder
3ac1a8d708
Cleanup misc import from last commit 2022-11-06 22:46:23 +00:00
Shane Freeder
3e9f39faa2
Prevent compass from loading chunks 2022-11-06 22:37:34 +00:00
Owen
df5fb9475b
Properly resend entities (#7041) 2022-11-05 13:50:16 -05:00
Jason
2b47227e38
Update Commodore modifications (#8542)
* Handle ldc insn for getOriginalOrRewrite in Commodore

* Remove fastutil rewrite

It's no longer relocated upstream
2022-11-04 22:16:57 -07:00
Jake Potrebic
3d15120f7e
Fix Advancement#getDisplay() api break (#8541) 2022-11-04 15:59:15 -07:00
Jake Potrebic
ab1c072320
Remove old redundant fix (#8530) 2022-11-03 14:03:31 -07:00
Lulu13022002
ebc0f6bfb5
Call PlayerLaunchProjectileEvent for trident (#8027) 2022-11-03 19:43:50 +01:00
Shane Freeder
e30b082262
Fix setting difficulity inside of API (Fixes #8533)
Vanilla moved some logic around setting the world difficulty which
was not adopted for inside of upstream properly, this addresses another
such case
2022-11-01 18:29:52 +00:00
Jason Penilla
4a9c9b3fb0
Build updates 2022-10-31 15:25:30 -07:00
Denery
93b2246851
Fix EntityCombustEvent cancellation issues (#8529) 2022-10-31 17:31:40 +01:00
Jake Potrebic
b3b04f2ca1
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#8515)
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:
9a4de097 SPIGOT-7171: Ability to get the IP/hostname players are requesting status of

CraftBukkit Changes:
f43634ae4 SPIGOT-7170: Cannot set slots in custom smithing inventory
48f3a2258 SPIGOT-7171: Ability to get the IP/hostname players are requesting status of
30e31b4d1 SPIGOT-7177: Certain blocks don't call BlockCanBuildEvent
982364797 SPIGOT-7174: Avoid adding air to CraftMetaBundle

Spigot Changes:
6198b5ae PR-122: Add missing parentheses to pumpkin and melon growth modifier
1aec3fc1 Rebuild patches
2022-10-30 19:44:25 -07:00
Noah van der Aa
13cf5461d4
Fix pumpkin growth modifier (#8517) 2022-10-30 13:27:37 +01:00
William Blake Galbreath
b743144a12
Fix MC-147659 (#8423) 2022-10-27 19:53:16 -05:00
Jason
8acb05d567
Make CommandSyntaxException implement ComponentMessageThrowable (#8513) 2022-10-27 10:10:28 -07:00
Jason
0249750b8f
Fix EntityArgument suggestion permissions to align with EntitySelector#checkPermissions (#8511) 2022-10-26 18:31:55 -07:00
Jake Potrebic
32d95e9bab
Track projectile source for fireworks from dispensers (#8044) 2022-10-26 17:44:28 -07:00
Jake Potrebic
954e6f00f3
Fix a bunch more forceDrops for dropping items (#8095) 2022-10-26 17:32:03 -07:00
Noah van der Aa
2432233d24
Add allow server listing & text filtering client options (#7595) 2022-10-26 18:09:03 -05:00
Lulu13022002
36869ccd90
Fix new block data in EntityChangeBlockEvent for silverfish when mobGriefing isn't enabled (#8099) 2022-10-26 17:05:15 -05:00
Spottedleaf
25cd3eee99 Add dirty flag to chunk tick lists
For whatever reason, vanilla does not mark the chunk as
dirty when changing its tick lists.

We also have it return dirty if the time since the last
save has changed, since it would affect the tick offsets
in the ticklist.
2022-10-24 20:51:48 -07:00
Spottedleaf
fc5ae5be82 Fix incorrect handling of mustNotSave
CB used the dirty flag to construct the chunk unload event,
but then sets mustNotSave to the inverted value of the event
after calling the event without considering that the chunk may
actually be brought up to loaded status again later. Then, CB
overrides the isUnsaved method of LevelChunk to additionally
use mustNotSave.

Thus, if the chunk is not marked dirty when unloading, the
mustNotSave value will be set to true. Then, once the chunk
is reloaded and edited the dirty flag will be set. However,
when unloading the chunk finally, the isUnsaved method
will return false due to mustNotSave being true. Thus, the
chunk will never be saved.

To fix these issues, no longer make mustNotSave override
isUnsaved and always set the save flag for the chunk unload
event.

This issue started popping up recently due to the recent
change to mark chunks as not dirty after saving them, which
increased the chance of the save issue occurring in the first
place.
2022-10-24 19:34:03 -07:00
Jason
519cb4b214
Move classes added to net.minecraft.server to paper packages (#8500) 2022-10-24 12:43:46 -07:00
evan
1c1aeb20e2
Only limit global sounds to same world if limiting radius (#8499) 2022-10-23 20:52:40 +02:00
Jake Potrebic
44ce9b3e9c
Updated Upstream (Bukkit/Spigot) (#8445) 2022-10-23 10:41:34 -07:00
Spottedleaf
b8131a09b2 Mark chunks as saved after saving them
Prevents re-saving them again later.
2022-10-23 09:09:18 -07:00
Owen
05bd9d67b7
Ignore impossible spawn tick (#8493)
Co-authored-by: dannyball710 <dannyball710@gmail.com>
2022-10-22 23:45:07 -05:00
Owen
0b8f40cf6a
Don't fire EntityToggleSitEvent on deserialization & reorder some api patches (#8495) 2022-10-22 21:55:28 -05:00
Owen
6665076342
Add Moving Piston API (#7019) 2022-10-22 19:37:37 -05:00
uku
4e67c73b03
Add config setting for grindstone overstacking (#8156) 2022-10-22 18:25:17 -05:00
vytskalt
58483c1e18
Add fire-tick-delay option (#8037) 2022-10-22 17:57:09 -05:00
IEatBeans
6ea5aa37bd
Added EntityToggleSitEvent (#7579)
* Added EntityToggleSitEvent Patches

* Updated event phrasing, fixed Boolean not being primitive, pandas now fire event, and event is defined and called in 1 line

* Updated event phrasing, fixed Boolean not being primitive, pandas now fire event, and event is defined and called in 1 line

* Added EntityToggleSitEvent Patches

* Added EntityToggleSitEvent Patches

* Added EntityToggleSitEvent Patches
2022-10-22 17:20:52 -05:00
Lukas Alt
5cdb5f9585
Optimized dirt and snow spreading (#5124)
* Optimized dirt and snow spreading

* Add optimization to bukkit event call

* Clarify var names

Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
2022-10-22 13:13:59 -05:00
Lukas Alt
60da35e359
fixed entity vehicle collision event not called (#5053) 2022-10-22 12:09:45 -05:00
Noah van der Aa
7187cab3b6
Detect headless JREs (#8491)
Crashes caused by the missing AWT dependency come up in the support channels fairly often.
This patch detects the missing dependency and stops the server with a clear error message,
containing a link to instructions on how to install a non-headless JRE.
2022-10-22 11:57:21 -05:00
Noah van der Aa
a163a96a8d
Load Allay duplication cooldown as a long (#8410)
It is saved as a long, and the API exposes a long, so loading it as an int may cause issues like overflows.
2022-10-22 16:16:24 +02:00
Jason
3dcfec4499
Add stacktrace deobfuscation in more places (#8484) 2022-10-18 19:21:07 -07:00
Spottedleaf
f7da209586 Fix inconsistent isChunkLoaded calls
When we update the chunk state to border, it should be
the case that isChunkLoaded returns true and that
getChunkIfLoadedImmediately returns a non-null value.
Now add the chunk to the loaded map before making any
callbacks after updating to border state.
2022-10-18 08:11:23 -07:00
Nassim Jahnke
e1d4b26a62
Fix another case of missing chat headers 2022-10-18 10:20:35 +02:00
Melncat
ed2c88ba89
Add LivingEntity knockback API (#8479) 2022-10-18 09:33:58 +02:00
Jakub Žáček
ec00f991a4
Fix package for PlayerInventorySlotChangeEvent (#8475)
Co-authored-by: Jakub Zacek <dawon@dawon.eu>
2022-10-16 08:49:47 +01:00
19MisterX98
603df98897
FIx bedrock patterns (#8474) 2022-10-16 00:34:10 +02:00
SoSeDiK
eb68bd49a2
Allow changing bed's 'occupied' property (#8458) 2022-10-14 10:37:01 +02:00
Lulu13022002
2094011485
Update settings directory path in exceptions (#7968) 2022-10-13 13:38:06 +02:00
SoSeDiK
514a60647d
Elder Guardian appearance API (#8455) 2022-10-13 12:26:51 +02:00
Shane Freeder
7fe34e9508
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
b9cf1ac580
Fix a classloading issue in tests (#8459) 2022-10-11 20:05:28 -07:00
Jason Penilla
f7c8d79667 Fix stacktrace in server tests 2022-10-11 16:52:49 -07:00
Jakub Žáček
de2d2d4d94
Add PlayerInventorySlotChangeEvent (#7321) 2022-10-11 22:49:10 +01:00
Owen
6b26cfcd31
Add missing Entity + Projectile API (#7632) 2022-10-11 22:04:26 +01:00
SoSeDiK
b097a241c0
Expose isUnderWater to Entity (#8454) 2022-10-11 14:43:10 +02:00
Jake Potrebic
57555b8c6a
Add missing structure set seed configs (#8030) 2022-10-09 22:19:35 +02:00
Jake Potrebic
c389b1c408
Fix configs that relied on outdated min/max y levels (#6986) 2022-10-09 08:52:09 +02:00
Warrior
60c973e461
Exempt players in creative/spectator from nether ceiling damage (#8427) 2022-10-07 20:43:26 +02:00
Jake Potrebic
bcb4220b5f
Correctly handle interactions with items on cooldown (#8008) 2022-10-07 17:22:45 +02:00
Jake Potrebic
ff67f1fa18
EntityPickupItemEvent fixes (#8096) 2022-10-04 21:38:39 -07:00
Jake Potrebic
9d63b070a1
Fix custom piglin interest items (#8097) 2022-10-04 20:28:46 -07:00
Nassim Jahnke
ad3d35751a
Remove unnecessary onTrackingStart during nav warning
Closes #8396
2022-10-03 20:50:53 +02:00
Gero
15e1748fd5
Avoid resizing of ArrayList in ChunkMap#getPlayers (#8416) 2022-10-03 19:22:01 +02:00
Nassim Jahnke
011caa4d8e
[ci skip] Minor patch cleanup 2022-10-03 19:07:03 +02:00
Friwi
616db7118d
Fix nothing mlg (#8432) 2022-10-03 18:44:19 +02:00
Nassim Jahnke
928bcc8d3a
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
ec3cfa9b7f
Only create paper.yml-README.txt on config conversion (#8334) 2022-10-02 09:29:09 +02:00
Jake Potrebic
ec76e36a4e
Fix a handful of vanilla bugs (#8187) 2022-10-01 19:39:42 +02:00
Melncat
6d1409316e
Add getDrops to BlockState and isPreferredTool to BlockData (#8284) 2022-10-01 12:30:00 +02:00
Remynfv
2534e5cbbf
Fix other jigsaw related disconnect bug (#8414) 2022-10-01 10:08:07 +02:00
Nassim Jahnke
f5fa69173c
Don't print full packages in new chunk system classes
Closes #8391, #8412
2022-09-30 23:19:51 +02:00
Pasqual Koschmieder
14c32bc43d
Fix wrong yaw and pitch of CommandSourceStack#getBukkitLocation (#8411) 2022-09-30 21:03:42 +02:00
Remynfv
c6d737528d
use BlockFormEvent for mud converting into clay (#8398)
Co-authored-by: Legitimoose <legitimoose@gmail.com>
2022-09-30 20:33:31 +10:00
Ilari Suhonen
8d69cfc6ce Reduce allocation rate for checkBlock
Use ObjectOpenHashSet instead of HashSet
Remove unnecessary chunkToSave modification
2022-09-29 09:04:52 -07:00
Spottedleaf
7d3a882670 Do not log throwable for duplicate entity adds 2022-09-29 08:55:47 -07:00
Bjarne Koll
8a7dd61348
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 08:54:47 -07:00
F1rsi
017af785ff
[ci skip] Added the missing "d" character (#8267) 2022-09-29 15:36:01 +01:00
Remynfv
21661a7557
Fix jigsaw block kicking user (#8404) 2022-09-29 12:37:56 +01:00
Jason
79f2aa3eed
Update Velocity natives (#8387) 2022-09-29 12:18:20 +01:00
Shane Freeder
bd496d0e0d
[ci skip] shuffle patches and rebuild 2022-09-28 04:27:26 +01:00
Nassim Jahnke
1bbd273bbd
Fix user auth thread pool queue 2022-09-27 18:00:46 +02:00
Jake Potrebic
f7d16f656a
Fixes a couple issues with entity spawn reasons (#8390) 2022-09-27 01:24:56 +01:00
Spottedleaf
01a13871de
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
Owen
b4c025b92c
Fix player desync on dimension change (#8253) 2022-09-24 06:45:13 +01:00
Lulu13022002
62680d5f83
Avoid item meta usage for itemstack enchantment getter (#8373) 2022-09-24 06:19:51 +01:00
willkroboth
4d52f1d247
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 06:19:05 +01:00
Shane Freeder
6736f390a2
Fix mangled patch 2022-09-24 05:48:46 +01:00
willkroboth
d3326235f0
Avoid potential place where the world map could be modified after its iterator is created (#8315) 2022-09-24 05:33:20 +01:00
Shane Freeder
3996e6ef29
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
f528f53e81
Correct javadocs on PlayerArmorStandManipulateEvent (#7719) 2022-09-23 06:55:02 +01:00
Lulu13022002
ec0c550482
Call BlockPhysicsEvent more often (#8264) 2022-09-23 06:35:15 +01:00
Lulu13022002
8681503d10
Call EntityChangeBlockEvent for frogs egg (#8136) 2022-09-23 06:32:32 +01:00
Shane Freeder
980c1d1f90
Updated Upstream (Bukkit/CraftBukkit) (#8378) 2022-09-23 06:08:43 +01:00
Jake Potrebic
9e614e6f9a
Fix ground pathfinding (#7683) 2022-09-20 14:06:11 -07:00
ChristopheG
8db45c4312
Copper clear on lightning strike calls EntityChangeBlockEvent (#8126) 2022-09-20 03:35:38 +01:00
Owen
ad3dffe715
Respect preventMovingIntoUnloadedChunks for optimized collision checking (#8259) 2022-09-20 03:02:52 +01:00
tahmid-23
f7e68091a0
Fix Pathfinding After World Has Changed (#8068) 2022-09-20 02:39:46 +01:00
Shane Freeder
dbc2d60ce0
Make WorldCreator#keepSpawnLoaded return the WorldCreator (Fixes #8321) (#8371)
* Make WorldCreator#keepSpawnLoaded return the WorldCreator (Fixes #8321)

Thought that I fixed this before push/merge, apparently not, hence, fix
the return type and add mitigation for this.

* Fix patch/build

* Rebuild patches
2022-09-20 01:28:22 +01:00
Shane Freeder
470c6388d2
Configurable chat thread limit (#7878) 2022-09-20 01:16:23 +01:00
Melncat
ea777c345b
Add a consumer parameter to ProjectileSource#launchProjectile (#8374)
Co-authored-by: MelnCat <melncatuwu@gmail.com>
2022-09-20 01:03:59 +01:00
Nex
63cb7472ac
Added byte array serialization/deserialization for PersistentDataContainers (#7505) 2022-09-18 05:06:53 +01:00
Lulu13022002
dbda887457
Missing some effect cause (#8307) 2022-09-18 04:46:20 +01:00
Lulu13022002
34777cdcbe
Missing eating regain reason (#8244) 2022-09-18 04:24:28 +01:00
Jake Potrebic
b826065a4b
fire EntityChangeBlockEvent in more places (#6371)
* fire EntityChangeBlockEvent in more places

* Rebuild patches

Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
2022-09-18 04:03:54 +01:00
elmital
ef670ebafb
EndDragonFight killed statuses should be false for newly created worlds (#8354) 2022-09-18 02:44:06 +01:00
Peter Crawley
05f6a5c005
Limit size of Authenticator Cache Thread Pool (#8360) 2022-09-17 22:58:51 +01:00
Fruxz
f5f84ff476
Add custom destroyerIdentity parameter to the sendBlockBreak function (#5840) 2022-09-17 22:27:46 +01:00
Bjarne Koll
751d092af3
Properly close section storage managed files (#8364) 2022-09-17 19:50:01 +01:00
Shane Freeder
36f0c1b3cc
Rebuild patches 2022-09-17 04:35:39 +01:00
Jaren
267dd180b6
Stop large look changes from crashing the server (#8326) 2022-09-17 04:30:00 +01:00
karthanistyr
178f035aa7
Restore no-crash behaviour when read-only config file(s) (#8318) 2022-09-17 04:22:17 +01:00
Nassim Jahnke
ef0e5a642d
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:
9ae3f10f SPIGOT-3842: Add Player#fireworkBoost() and expand Firework API
48c0c547 PR-786: Add methods to get sounds from entities

CraftBukkit Changes:
5cc9c022a SPIGOT-7152: Handle hand item changing during air interact event
4ffa1acf6 SPIGOT-7154: Players get kicked when interacting with a conversation
4daa21123 SPIGOT-3842: Add Player#fireworkBoost() and expand Firework API
e5d6a9bbf PR-1100: Add methods to get sounds from entities
b7e9f1c8b SPIGOT-7146: Reduce use of Material switch in ItemMeta

Spigot Changes:
4c157bb4 Rebuild patches
2022-09-12 13:31:45 +02:00
Jake Potrebic
51183af967
Fix console completer/highlighter having invalid source stack (#8346) 2022-09-09 14:25:54 -07:00
Jake Potrebic
e51401e764
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#8347) 2022-09-09 11:54:00 -07:00
okx-code
36a5f150c5
Allow preventing BlockDestroyEvent from dropping items (#8349) 2022-09-08 17:13:50 +02:00
Spottedleaf
09904fd780 Re-add legacy getChunkAtAsynchronously to ChunkProviderServer
Apparently some plugins use it
2022-09-02 04:42:05 -07:00
Spottedleaf
e8c2c3bfda Fix World#refreshChunk not working for chunks in no-tick range
The chunk would not be marked as ticking in this case, so
retrieving the ticking chunk would not work.
2022-09-01 15:39:24 -07:00
Spottedleaf
046466f3ba
Re-arrange most chunk system patches to front (#8338)
* Re-arrange most chunk system patches to front

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2022-09-01 09:51:59 -07:00
Spottedleaf
eff22eb054 Ensure players are removed from pendingLogin
Looks like they would not have been removed if they disconnected
during the chunk load, preventing the world from being unloaded.
2022-08-29 06:21:45 -07:00
Spottedleaf
aabf676721 Prevent unloading worlds with pending player logins
Logging into an unloaded world isn't going to end well.
This may fix the cases of people seeing errors about regionfiles
being closed, as loading chunks in an unloaded world will cause this
as the regionfile cache is closed but not cleared.
2022-08-26 22:20:27 -07:00
Nassim Jahnke
0bf8790c9c
Fix client lag spikes due to client light recalc 2022-08-25 12:59:08 +02:00
José Miguel Moreno
a76998d235
Fix plugin loggers on shutdown (#5592)
Potentially this should be merged back into the original logging changes patches
2022-08-21 03:57:17 +01:00
Nassim Jahnke
2da891fcfa
Updated Upstream (Bukkit/CraftBukkit)
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:
0b32cbaa PR-782: ThrownPotion now extends ThrowableProjectile
474238ca SPIGOT-7138: Can't retrieve pixel color from map

CraftBukkit Changes:
cdef8fc72 PR-1097: CraftThrownPotion now extends CraftThrowableProjectile
419010b13 SPIGOT-7112: Mobs added 1.17 and after do not create an EntityTargetEvent properly
e71426201 SPIGOT-7079: Allays don't call EntityTargetEvent on ground items
f80adb8b9 SPIGOT-7138: Can't retrieve pixel color from map
2022-08-17 13:02:35 +02:00
petersv5
4ba43fe02a
Grant temporary immunity to hopper minecarts while actively pulling (fixes #8281) (#8282)
Reduce the impact from EAR on hopper minecart based unloaders by making them immune to
EAR while pulling objects. The EAR is still active outside misc activation range when
the hopper minecart is idle, keeping lag low.
2022-08-14 19:41:15 +02:00
Nassim Jahnke
4516aedb43
More ThrownPotion API 2022-08-14 19:12:02 +02:00
Josh Roy
5bf259115c Add NamespacedKey biome methods
Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com>
2022-08-14 13:09:10 -04:00
Nassim Jahnke
9592da1f84
Add method to get highest anger level of warden 2022-08-14 10:25:28 +02:00
Nassim Jahnke
0ddd20c6f7
Updated Upstream (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

CraftBukkit Changes:
ead719a65 SPIGOT-7136: Cancelling PlayerInteractEntityEvent with the Allay desyncs
8468e167e SPIGOT-7137: StructureGrowEvent isFromBonemeal and getPlayer have incorrect values
d45057c59 SPIGOT-7089: Crash when command blocks attempt to load worlds

Spigot Changes:
450dcaa8 Rebuild patches
2022-08-14 10:03:13 +02:00
Shane Freeder
3f0415b453
Use thread safe Random inside of ServerLoginPacketListenerImpl
Vanilla uses a Random instance which is not thread safe inside of the
constructor for ServerLoginPacketListenerImpl, this is an issue because
instances of that class are created on the network worker threads, which
means that there is a potential (which we have reports confirming) that
multiple users logging on could trip this
2022-08-11 14:38:45 +01:00
TheTuso
7e11afa426
Fix mad cursor addition via API (#8276) 2022-08-11 10:40:19 +02:00
Spottedleaf
2a74071bcb Simple patch changes for chunk system
Major ones soon
2022-08-10 08:07:49 -07:00
Shane Freeder
2cab6963a7
Don't manually send ClientboundPlayerPositionPacket for refreshPlayer
in 1.19, mojang made it so that teleporations validate that an awaiting pos was
set in the server when teleporting, thus we need to ensure that this is set when
sending the player pos, otherwise the player will be kicked when the client sends
back the aknowledgement
2022-08-10 15:01:55 +01:00
Nassim Jahnke
954b3fb7d5
Send signature headers when chat event viewers are modified
Fixes #8275
2022-08-10 09:59:28 +02:00