Shane Freeder
f5e9a14a25
Prevent compass from loading chunks
2022-11-06 22:37:34 +00:00
Owen1212055
0ea0d39edf
Properly resend entities ( #7041 )
2022-11-05 14:50:16 -04:00
Jason Penilla
d8be0e795b
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
2f0e0c5f2b
Fix Advancement#getDisplay() api break ( #8541 )
2022-11-04 15:59:15 -07:00
Astro Angelfish
bf532ab0fb
[ci-skip] Rename Paper stop tp Paper end. ( #8539 )
2022-11-05 00:08:01 +08:00
Jake Potrebic
a5e916fc00
Remove old redundant fix ( #8530 )
2022-11-03 14:03:31 -07:00
Lulu13022002
4400eb6600
Call PlayerLaunchProjectileEvent for trident ( #8027 )
2022-11-03 19:43:50 +01:00
Shane Freeder
857ece0812
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
bfdafa934b
Build updates
2022-10-31 15:25:30 -07:00
Denery
ffceefa32f
Fix EntityCombustEvent cancellation issues ( #8529 )
2022-10-31 19:31:40 +03:00
Jake Potrebic
13442cd5c9
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
f40ba18fd0
Fix pumpkin growth modifier ( #8517 )
2022-10-30 13:27:37 +01:00
Owen1212055
4fad96576f
Deprecate unused VehicleEntityCollisionEvent methods ( #8498 )
2022-10-29 13:18:17 -04:00
William Blake Galbreath
d786bfda5c
Fix MC-147659 ( #8423 )
2022-10-27 19:53:16 -05:00
Hannes Greule
878600ebbc
Fix wrong descriptor in ASMEventExecutorGenerator ( #8506 )
2022-10-28 02:27:33 +02:00
Jason Penilla
3b7ad4bb6f
Make CommandSyntaxException implement ComponentMessageThrowable ( #8513 )
2022-10-27 10:10:28 -07:00
Jason Penilla
731f32f889
Fix EntityArgument suggestion permissions to align with EntitySelector#checkPermissions ( #8511 )
2022-10-26 18:31:55 -07:00
Jake Potrebic
f8cf06b774
Track projectile source for fireworks from dispensers ( #8044 )
2022-10-26 17:44:28 -07:00
Jake Potrebic
219d159e4d
Fix a bunch more forceDrops for dropping items ( #8095 )
2022-10-26 17:32:03 -07:00
Noah van der Aa
f84fb32dc5
Add allow server listing & text filtering client options ( #7595 )
2022-10-27 01:09:03 +02:00
Lulu13022002
0af5c64201
Fix new block data in EntityChangeBlockEvent for silverfish when mobGriefing isn't enabled ( #8099 )
2022-10-27 00:05:15 +02:00
Spottedleaf
1e44e31be7
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 19:48:19 -07:00
Spottedleaf
11bb97e66c
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:23:46 -07:00
Jason Penilla
b9481cae74
Move classes added to net.minecraft.server to paper packages ( #8500 )
2022-10-24 12:43:46 -07:00
evan
95bd943ca3
Only limit global sounds to same world if limiting radius ( #8499 )
2022-10-23 13:52:40 -05:00
Jake Potrebic
bac7ba4c5a
Updated Upstream (Bukkit/Spigot) ( #8445 )
2022-10-23 10:41:34 -07:00
Spottedleaf
0aa7d1a07f
Mark chunks as saved after saving them
...
Prevents re-saving them again later.
2022-10-23 09:09:18 -07:00
Owen1212055
646d59a575
Ignore impossible spawn tick ( #8493 )
...
Co-authored-by: dannyball710 <dannyball710@gmail.com>
2022-10-23 00:45:07 -04:00
Owen1212055
c1aac9ca35
Don't fire EntityToggleSitEvent on deserialization & reorder some api patches ( #8495 )
2022-10-22 22:55:28 -04:00
Owen1212055
fc19cbd800
Add Moving Piston API ( #7019 )
2022-10-22 20:37:37 -04:00
SoSeDiK
e7b3fba8e6
Add EquipmentSlot convenience methods ( #8477 )
2022-10-23 02:50:12 +03:00
uku
9e743bccff
Add config setting for grindstone overstacking ( #8156 )
2022-10-23 01:25:17 +02:00
vytskalt
201ba4d328
Add fire-tick-delay option ( #8037 )
2022-10-23 01:57:09 +03:00
IEatBeans
634f212bd5
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 15:20:52 -07:00
thelooter
28e6d9fd86
Add MaterialTags for the different Types of Tools ( #8049 )
...
* Add MaterialTags for the different Types of Tools
* Add Netherite Tools Tag
2022-10-22 23:51:34 +02:00
Lukas Alt
6ffb491076
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 20:13:59 +02:00
Lukas Alt
d68e096dd8
fixed entity vehicle collision event not called ( #5053 )
2022-10-22 19:09:45 +02:00
Noah van der Aa
95e37fca48
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 18:57:21 +02:00
Noah van der Aa
ddc8e1fd7c
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 Penilla
13f7207665
Add stacktrace deobfuscation in more places ( #8484 )
2022-10-18 19:21:07 -07:00
Spottedleaf
03245caed0
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
2f1aaaa85c
Fix another case of missing chat headers
2022-10-18 10:20:35 +02:00
Melncat
cd71f3c427
Add LivingEntity knockback API ( #8479 )
2022-10-18 00:33:58 -07:00
Jakub Žáček
154762a316
Add converted Slot number to PlayerInventorySlotChangeEvent ( #8482 )
2022-10-18 09:32:22 +02:00
SoSeDiK
50c3dccb29
Add LivingEntity#swingHand(EquipmentSlot) convenience method ( #8456 )
2022-10-16 14:49:56 +03:00
Jakub Žáček
fc419cfa50
Fix package for PlayerInventorySlotChangeEvent ( #8475 )
...
Co-authored-by: Jakub Zacek <dawon@dawon.eu>
2022-10-16 09:49:47 +02:00
19MisterX98
a35758c72d
FIx bedrock patterns ( #8474 )
2022-10-16 00:34:10 +02:00
Lexi
11281d0789
Avoid usages of RecipeChoice#getItemStack() ( #8453 )
...
Replaces some internal usages of this method with RecipeChoice#test(ItemStack) and deprecates every other method still utilizing this legacy method.
2022-10-15 15:20:12 -04:00
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
Lulu13022002
2277da6ec5
Call BlockPhysicsEvent more often ( #8264 )
2022-09-23 07:35:15 +02:00
Lulu13022002
6d4edceb20
Call EntityChangeBlockEvent for frogs egg ( #8136 )
2022-09-23 07:32:32 +02:00
Shane Freeder
eb3f66c6da
Updated Upstream (Bukkit/CraftBukkit) ( #8378 )
2022-09-23 06:08:43 +01:00
Jake Potrebic
99640f47f1
Fix ground pathfinding ( #7683 )
2022-09-20 14:06:11 -07:00
ChristopheG
bb10a5d633
Copper clear on lightning strike calls EntityChangeBlockEvent ( #8126 )
2022-09-20 04:35:38 +02:00
Owen1212055
d56d06cb3c
Respect preventMovingIntoUnloadedChunks for optimized collision checking ( #8259 )
2022-09-19 22:02:52 -04:00
tahmid-23
72772baccf
Fix Pathfinding After World Has Changed ( #8068 )
2022-09-19 21:39:46 -04:00
Nick Hensel
ad4ca0a429
Also load resources from LibraryLoader ( #8335 )
2022-09-20 03:07:03 +02:00
Shane Freeder
ede4468516
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
e14a2a0cce
Configurable chat thread limit ( #7878 )
2022-09-20 01:16:23 +01:00
Melncat
d2239c40a5
Add a consumer parameter to ProjectileSource#launchProjectile ( #8374 )
...
Co-authored-by: MelnCat <melncatuwu@gmail.com>
2022-09-19 17:03:59 -07:00
Nex
d843d7659e
Added byte array serialization/deserialization for PersistentDataContainers ( #7505 )
2022-09-18 04:06:53 +00:00
Lulu13022002
661b30a785
Missing some effect cause ( #8307 )
2022-09-18 05:46:20 +02:00
Lulu13022002
d146ab42bd
Missing eating regain reason ( #8244 )
2022-09-18 05:24:28 +02:00
Jake Potrebic
7e1f4ba55c
fire EntityChangeBlockEvent in more places ( #6371 )
...
* fire EntityChangeBlockEvent in more places
* Rebuild patches
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
2022-09-17 20:03:54 -07:00
elmital
fb4e4f7a34
EndDragonFight killed statuses should be false for newly created worlds ( #8354 )
2022-09-18 03:44:06 +02:00
Peter Crawley
44c7404b51
Limit size of Authenticator Cache Thread Pool ( #8360 )
2022-09-17 22:58:51 +01:00
Fruxz
d92d75fb7b
Add custom destroyerIdentity parameter to the sendBlockBreak function ( #5840 )
2022-09-17 23:27:46 +02:00
Bjarne Koll
0ed6315664
Properly close section storage managed files ( #8364 )
2022-09-17 20:50:01 +02:00
Jaren
5666320311
Stop large look changes from crashing the server ( #8326 )
2022-09-16 23:30:00 -04:00
karthanistyr
24d3f7bb49
Restore no-crash behaviour when read-only config file(s) ( #8318 )
2022-09-17 05:22:17 +02:00
Nassim Jahnke
39ae9b75e9
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
d1129b0ded
Fix console completer/highlighter having invalid source stack ( #8346 )
2022-09-09 14:25:54 -07:00
Jake Potrebic
328360359a
Updated Upstream (Bukkit/CraftBukkit/Spigot) ( #8347 )
2022-09-09 11:54:00 -07:00
okx-code
2cb0061b0a
Allow preventing BlockDestroyEvent from dropping items ( #8349 )
2022-09-08 16:13:50 +01:00
Spottedleaf
a2df674cc0
Re-add legacy getChunkAtAsynchronously to ChunkProviderServer
...
Apparently some plugins use it
2022-09-02 04:41:08 -07:00
Spottedleaf
0ee53db50a
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
90da9124c5
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
61a8488806
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
9760e8f86a
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 21:56:55 -07:00
Nassim Jahnke
b81ec3b8b5
Fix client lag spikes due to client light recalc
2022-08-25 12:59:08 +02:00
José Miguel Moreno
df753f9b3f
Fix plugin loggers on shutdown ( #5592 )
...
Potentially this should be merged back into the original logging changes patches
2022-08-21 04:57:17 +02:00
Nassim Jahnke
0446f518f4
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
53102645d2
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
1e9ec27588
More ThrownPotion API
2022-08-14 16:53:36 +02:00
Josh Roy
89ee9379b2
Add NamespacedKey biome methods
...
Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com>
2022-08-14 12:23:57 -04:00
Pedro
a16e146a5b
[ci skip] Show @org.bukkit.UndefinedNullability in javadocs ( #8291 )
2022-08-14 12:18:39 -04:00
Nassim Jahnke
e8d9f65042
Add method to get highest anger level of warden
2022-08-14 10:25:28 +02:00
Nassim Jahnke
4c6f66a6a3
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
f7b33b60b0
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
6d7a5c31d1
Fix mad cursor addition via API ( #8276 )
2022-08-11 10:40:19 +02:00
Spottedleaf
e48774fd72
Simple patch changes for chunk system
...
Major ones soon
2022-08-10 08:07:49 -07:00
Shane Freeder
53885ac491
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:39 +01:00
Nassim Jahnke
7fdee6200b
Send signature headers when chat event viewers are modified
...
Fixes #8275
2022-08-10 09:59:28 +02:00
Owen1212055
9541fc32dc
Fix command pool submitting on shutdown ( #8272 )
2022-08-09 23:51:17 -04:00
Nassim Jahnke
d4b4d5b95b
Updated Upstream (Bukkit/CraftBukkit) ( #8270 )
...
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:
d43a1e72 SPIGOT-2450: Improve scoreboard criteria API, add missing DisplaySlots
9d6e4847 SPIGOT-7122: New Allay Methods from 1.19.1
CraftBukkit Changes:
c379a6b4e SPIGOT-2450: Improve scoreboard criteria API, add missing DisplaySlots
051fcced1 SPIGOT-7122: New Allay Methods from 1.19.1
2022-08-09 09:18:08 +02:00
FivePB (Xer)
eb5b0d0edf
Update modern forwarding to v3 ( #8219 )
2022-08-08 15:25:41 +00:00
Owen1212055
fa737884a7
Separate Command Sending to Separate Thread Pool ( #8170 )
2022-08-08 07:32:17 -04:00
Josh Roy
a7ca38de1f
Fix Player#chat kicking all clients ( #8262 )
2022-08-08 03:31:10 -04:00
Jake Potrebic
7e03e79e50
Improve documentation of Inventory#removeItem ( #8263 )
2022-08-07 23:17:51 -07:00
Jason Penilla
b9991242f3
Allow old behavior for CommandRegisteredEvent ( #8249 )
2022-08-06 16:22:51 -07:00
Jake Potrebic
2782b0c375
1.19.2 ( #8250 )
2022-08-05 15:58:34 -07:00
Jake Potrebic
522db24de0
Updated Upstream (Bukkit/CraftBukkit) ( #8240 )
...
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:
caa7c486 SPIGOT-7109: Add WorldBorder#setSize using TimeUnit
CraftBukkit Changes:
1e3bf58cd SPIGOT-7109: Add WorldBorder#setSize using TimeUnit
2022-08-05 07:10:44 -07:00
ChristopheG
6fedc22e4b
Remove RAW_COPPER and add COPPER_BLOCK in MaterialTags.UNWAXED_COPPER_BLOCKS and MaterialTags.COPPER_BLOCKS ( #8237 )
2022-08-05 11:57:21 +02:00
Owen1212055
e77a4a70b7
Block Ticking API ( #7202 )
2022-08-03 17:14:04 -04:00
Jake Potrebic
ea1ffc2e95
Fix null profile key breaking nullability contracts for PlayerProfile API ( #8233 )
2022-08-03 13:46:33 -07:00
Spottedleaf
d1d02c9237
Add async catcher to PlayerConnection internalTeleport
2022-08-03 12:59:54 -07:00
Nassim Jahnke
e08395b4c2
Readd patch to remove invalid signature on login error
2022-08-03 15:25:11 +02:00
Jake Potrebic
15ce56cb40
Leave a paper.yml.txt stub pointing to new location ( #8090 )
2022-08-02 13:24:57 -07:00
Nassim Jahnke
08e93ca29f
Fix command preprocess cancelling and command changing
...
When a command with signed arguments is cancelled, message headers need to be sent out. Same thing for when the executed command is changed.
2022-08-02 19:19:16 +02:00
chickeneer
bb92b1c699
Fix suggest command message for brigadier syntax exceptions ( #8221 )
2022-08-02 02:51:21 -05:00
Nassim Jahnke
3669c95014
Don't call AsyncTabCompleteEvent from netty IO thread ( #8218 )
2022-08-01 21:56:28 +02:00
Jake Potrebic
aea4847e26
Initial support for signed messages ( #8198 )
2022-08-01 12:34:55 -07:00
Nassim Jahnke
73c81910c0
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:
ff64962b SPIGOT-7124: MapPalette.getColor(0) returns the wrong color
CraftBukkit Changes:
8f3647242 SPIGOT-7127: /say doesn't work from console
2022-08-01 16:01:20 +02:00
Maddy Miller
20a8246572
Undeprecate and fix Boat#getBoatMaterial ( #8217 )
2022-08-01 23:02:23 +10:00
Jake Potrebic
f0d198d6b2
Undeprecate Bed's tile entity interface ( #7330 )
2022-07-31 11:25:24 -07:00
Jake Potrebic
004e444f9b
Fix issues with CreeperIgniteEvent ( #7507 )
2022-07-31 10:14:54 -07:00
Owen1212055
c3eaa827e3
Collision API ( #6736 )
2022-07-31 11:30:34 -04:00
Owen1212055
164651e497
Add missing BlockFadeEvents ( #8171 )
2022-07-30 12:58:37 -04:00
Owen1212055
31c2f40b64
Use Worldheight for Activation Ranges ( #8061 )
2022-07-30 12:47:35 -04:00
Owen1212055
e05d694e8c
Custom Chat Completions API ( #8212 )
2022-07-30 12:28:24 -04:00
Owen1212055
342ffb25ec
Add more needed BlockStateListPopulator Methods ( #8021 )
2022-07-29 19:28:46 -04:00
Owen1212055
8d6013b4be
Warn on plugins accessing faraway chunks ( #8208 )
2022-07-29 19:16:26 -04:00
Owen1212055
792f264084
Send block entities after destroy prediction ( #8053 )
2022-07-29 18:26:41 -04:00
Jake Potrebic
7d25a137c4
Added 1.19 kick event causes ( #8204 )
2022-07-29 09:31:02 -07:00
Nassim Jahnke
5f5f19fe4a
Updated Upstream (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
CraftBukkit Changes:
401f1ad58 Re-enable outdated build delay
40eaff8a5 SPIGOT-7125: Command execution exceptions are not logged
639814683 SPIGOT-7123: NullPointerException thrown by Player#chat method
2022-07-29 09:11:11 +02:00
stonar96
47415b7efd
[ci skip] Fix xray patch code style ( #8196 )
2022-07-28 10:30:32 +02:00
Jake Potrebic
89a13124cf
Separate out chat and commands sent via API ( #8131 )
2022-07-27 19:07:26 -07:00
Nassim Jahnke
1df091a778
Readd deobfuscation of chat executor stacktraces
2022-07-28 02:02:40 +02:00
Nassim Jahnke
8b829bd611
Don't fire preview event for non-player senders
...
Fixes #8195
2022-07-28 01:59:19 +02:00
Nassim Jahnke
8e886a3c0a
Fix chat message api using overlay
2022-07-28 00:38:37 +02:00
Nassim Jahnke
d1727177ba
Make it compie
2022-07-28 00:20:14 +02:00
Nassim Jahnke
365fe29e02
More compile fixed
2022-07-28 00:10:27 +02:00
Nassim Jahnke
9364ea991a
Compile fixes
2022-07-28 00:04:27 +02:00
Jake Potrebic
037e6ff905
some compile fixes
2022-07-27 15:00:14 -07:00
Nassim Jahnke
2f8a665549
More more more more more more more work
2022-07-27 23:50:05 +02:00
Nassim Jahnke
983a4b0b2b
More more more more more more work
2022-07-27 23:32:15 +02:00
Nassim Jahnke
ca9ce05bb0
More more more more work
2022-07-27 23:19:52 +02:00
Nassim Jahnke
f7123fdddb
More more more more work
2022-07-27 22:55:55 +02:00
Nassim Jahnke
b0694bd518
More more more work
2022-07-27 22:46:05 +02:00
Nassim Jahnke
ee2c1caf9b
More more work
2022-07-27 22:17:18 +02:00
Nassim Jahnke
24201b38ce
More work
2022-07-27 21:49:24 +02:00
Nassim Jahnke
d45c7916e1
Fix timings diff
2022-07-27 21:22:02 +02:00
Nassim Jahnke
8bf425f456
New work
2022-07-27 21:18:51 +02:00
Nassim Jahnke
858aabab7c
Move patches over, start with first few
2022-07-27 20:52:03 +02:00
Nassim Jahnke
a07371fed1
Fix custom merchant trade event world reference
2022-07-25 19:21:31 +02:00
Nassim Jahnke
5946313531
Updated Upstream (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
CraftBukkit Changes:
ef0946409 PR-1091: Fix exit position in entity travel with portals
d12768f75 PR-1090: Remove no longer needed world reference from CraftMerchantCustom
7550f6854 SPIGOT-7115: Support hex color codes in custom merchant inventory titles
2022-07-25 18:44:24 +02:00
Nassim Jahnke
af3f0a17cf
Add internal netty pipeline events
2022-07-25 16:13:09 +02:00
Nassim Jahnke
6149f6f5e3
Fix regenerate chunk method
2022-07-24 22:11:35 +02:00
Shane Freeder
f9f8a78753
Fix plugin update IO logic when replacing jars
2022-07-23 05:52:57 +01:00
Shane Freeder
226468f7b0
Cache Component MOTDs
2022-07-23 02:56:50 +01:00
Jake Potrebic
7b09f21566
Fix wrong world being passed into portal event ( #8174 )
2022-07-22 17:42:34 -07:00
Jake Potrebic
656d32e99f
Don't use level random in entity constructors ( #8122 )
2022-07-22 16:42:13 -07:00
Jake Potrebic
edab698dbe
Add EntityPortalReadyEvent ( #5619 )
2022-07-22 16:23:12 -07:00
Owen1212055
09a1be7aef
Teleportation API ( #6562 )
2022-07-22 14:36:43 -05:00
Jake Potrebic
d6e0ab24da
Updated Upstream (Bukkit/CraftBukkit) ( #8172 )
...
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:
23f557a0 SPIGOT-5380, SPIGOT-6958, PR-772: Add some missing entity API
CraftBukkit Changes:
fc3071161 SPIGOT-5380, SPIGOT-6958, PR-1085: Add some missing entity API
2022-07-22 11:18:00 -07:00
ChristopheG
220055020e
Add yaw and pitch to CommandSourceStack#getBukkitLocation() ( #8167 )
2022-07-21 09:26:36 +02:00
Noah van der Aa
e484f0dd39
Make Biome implement Translatable ( #8161 )
2022-07-20 18:23:26 +02:00
Pedro
aa949f7a32
Add SpawnReason to Tadpoles spawned by Frogspawn ( #8165 )
2022-07-20 12:18:28 -04:00
Lulu13022002
d2bed83767
Call jump event for the beast ( #8100 )
2022-07-20 18:17:42 +02:00
Emily
9026cda053
[ci skip] Readd "Use" Javadoc tab ( #8162 )
2022-07-20 13:16:13 -03:00
Jake Potrebic
2dddcb7bf1
Fix update future return type ( #8120 )
2022-07-18 23:06:59 -07:00
Space Walker
2a189a99cd
Fix missing redstone event call with Eigencraft redstone ( #8148 )
2022-07-18 13:46:52 +02:00
stonar96
b4e9e20e79
1.19 Anti-Xray cleanup ( #8104 )
2022-07-18 12:30:31 +02:00
Pedro
20a1a62469
Log IOException in plugin update ( #7960 )
2022-07-18 05:31:33 -04:00
Pedro
ea72c007be
Fix spigot config not using commands.spam-exclusions ( #8151 )
2022-07-17 12:37:39 -04:00
Space Walker
bf9672aeac
Fix #8138 ( #8139 )
2022-07-13 23:20:26 +02:00
Noah van der Aa
952ccf3125
Move old user conversion down slightly ( fixes #8050 ) ( #8052 )
2022-07-12 23:13:27 +02:00
Jake Potrebic
820aef3f3c
Updated Upstream (Bukkit/CraftBukkit/Spigot) ( #8124 )
...
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:
607ce370 SPIGOT-7069: Material.BARREL has Directional data class, should also be Openable
f14cea82 SPIGOT-7070: Material.SCULK_VEIN has Waterlogged data class, should also be MultipleFacing
8e43b278 PR-767: Add support checking/survivability methods for BlockData
b3dee151 SPIGOT-7083: Add Boat.WoodenType, Boat.Status; deprecate TreeSpecies
CraftBukkit Changes:
9a8e08010 SPIGOT-7069: Material.BARREL has Directional data class, should also be Openable
26bd88ccd SPIGOT-7070: Material.SCULK_VEIN has Waterlogged data class, should also be MultipleFacing
7ba06e15b SPIGOT-7095: StructureGrowEvent doesn't fire for mangrove propagules growing to a tree
163e35c91 PR-1079: Add support checking/survivability methods for BlockData
4230f8f0e SPIGOT-7083: Add Boat.WoodenType, Boat.Status; deprecate TreeSpecies
Spigot Changes:
14a2382f Rebuild patches
2022-07-12 10:16:05 -07:00
Jason Penilla
35eca19853
Refactor paper command ( #8112 )
...
* Refactor paper command
* Improve paper dumpitem output
* Register paper command permissions
Would be nice to add descriptions for these too, but that's an enhancement for another time
* Update MobcapsCommandTest fail message
* Notify on bad radius for fix light
* fixup rebase
2022-07-08 16:01:42 -07:00
Jason Penilla
21e92425e9
Use getChunkForLighting instead of getChunkAtImmediately in fixlight to properly ignore imposter chunks
...
We need chunks to actually have their light status future done to relight them, an imposter with for example only the empty future complete but with a light status cannot be relit.
getChunkForLighting gives the desired behavior and is the method used by the light engine, so updating fixlight to use it as well fixes #8115
2022-07-08 15:27:37 -07:00
Bjarne Koll
c908ebcbcb
Add ZombieVillager conversion without entity event ( #8111 )
...
The ZombieVillager#setConversionTime API method internally calls
startConversion which always broadcasts the entity event responsible for
playing the respective sound at the beginning of a conversion.
This is not always wanted by developers when modifying already
converting zombies in particular.
This commit expands the ZombieVillager interface with another overload
of the setConversionTime method that also takes a simple toggle flag
indicating whether or not the entity event should be published to the
world.
2022-07-07 23:43:28 +02:00
Lulu13022002
913ca9381e
Add xp orb spawn reason for frogs ( #8045 )
2022-07-07 23:38:12 +02:00
Jake Potrebic
22c788cb7e
Fix Bee setFlower NPE ( #8107 )
2022-07-06 15:21:56 -07:00
Shane Freeder
93f19c4e41
Add a bit of extra debugging to chat order/time errors
...
I do wanna add some leeway to the kick, if message was sent within 30-60
seconds of the last message, assume clock drift and just ignore the kick
(send a message? just silently ignore?), but, I'm not 100% on this one
2022-07-06 05:53:16 +01:00
Bjarne Koll
569283aecf
Call EntityDropItemEvent for goats dropping horns ( #8094 )
2022-07-04 21:26:43 +02:00
Jake Potrebic
6e7a5755b8
Add missing EntityDropItemEvent calls ( #5674 )
2022-07-04 12:01:17 -07:00
Nassim Jahnke
6a3d83f459
Updated Upstream (Bukkit/CraftBukkit/Spigot) ( #8092 )
...
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:
d41796de SPIGOT-7071: Add Player#stopSound(SoundCategory category)
61dae5b2 SPIGOT-7011, SPIGOT-7065: Overhaul of structures
CraftBukkit Changes:
991aeda12 SPIGOT-1729, SPIGOT-7090: Keep precision in teleportation between worlds
5c9a5f628 SPIGOT-7071: Add Player#stopSound(SoundCategory category)
68f888ded SPIGOT-7011, SPIGOT-7065: Overhaul of structures
0231a3746 Remove outdated build delay.
Spigot Changes:
475f6008 Rebuild patches
8ce1761f Rebuild patches
2022-07-04 16:38:06 +02:00
Noah van der Aa
71cd2d00b6
Call StructureGrowEvent for mangrove propagule ( #8023 )
2022-07-04 16:20:43 +02:00
Spottedleaf
8d19ec3f2b
Do not sync load chunk for dynamic game event listener registration
...
These can be called while an entity is being added to the world,
and if the entity is being added from a chunk load context the
sync load will block indefinitely (because the chunk load context
is for completing the chunk to FULL).
This does raise questions about the current system for these
dynamic registrations, as it looks like there is _zero_ logic
to account for the case where the chunk is _not_ currently loaded
and then later loaded.
2022-07-03 22:42:58 -07:00
Spottedleaf
0ad5dc6e60
Do not use worldgen executor for api profile completions
...
We cannot put blocking network I/O onto the worldgen threads,
this will crash the server if it stalls
2022-07-03 14:55:56 -07:00
u9g
93c9630699
Add Player#getFishHook ( #7988 )
2022-07-03 15:24:29 -04:00
pop4959
49891f0144
Don't print component in resource pack rejection message ( #8084 )
2022-07-02 02:19:53 -07:00
Noah van der Aa
d652ff68f2
Don't allow world unloading while ticking worlds ( fixes #8080 ) ( #8081 )
2022-07-01 18:14:50 +02:00
Space Walker
41248e83a4
update eigencraft patch ( #8076 )
2022-06-30 09:20:40 +02:00
Jason Penilla
03335ed6fe
[ci skip] Scan built jars for bad method usages ( #8051 )
2022-06-27 15:41:59 -07:00
Jake Potrebic
ce8e37904d
Fix CCE for SplashPotion and LingeringPotion spawning ( #7758 )
2022-06-25 14:21:47 -07:00
Owen1212055
ed2321032d
Use safe method for handling Files#createDirectories ( #7997 )
2022-06-25 16:40:28 -04:00
Jake Potrebic
69b406ca45
Updated Upstream (Bukkit/CraftBukkit) ( #8042 )
...
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:
d5a777e7 SPIGOT-7078: Add EntityPotionEffectEvent.Cause#WARDEN
CraftBukkit Changes:
82f757467 SPIGOT-7078: Add EntityPotionEffectEvent.Cause#WARDEN
c924fa531 SPIGOT-7072: Call events for stepping on sculk sensors and sculk shriekers
2022-06-25 13:26:00 -07:00
Noah van der Aa
a0bca1d513
[ci skip] Fix tiny mistake in adventure javadocs ( #8046 )
2022-06-24 18:39:44 +02:00
Owen1212055
bd0ca3a1fc
Cleanup LivingEntity Hand Raised/Item Use API ( #7995 )
2022-06-24 04:04:02 -04:00
Space Walker
11ebcf8061
Update Alternate Current to v1.4.0 ( #8028 )
2022-06-24 09:58:59 +02:00
Jake Potrebic
3091fb476a
Fix Player#loadData and Player#saveData javadocs ( #8039 )
2022-06-22 20:46:13 -07:00
Shane Freeder
a029f5d67c
Parse MOTD as legacy sectioned string ( Fixes #8036 )
...
This is not ideal but this is how MOTDs have been parsed for years,
ensure that this is performed for all things getting the MOTD from
the server
2022-06-22 09:15:20 +01:00
Jake Potrebic
4d6659b9ff
Use non-deprecated super ctor in PaperServerListPingEventImpl ( #8029 )
2022-06-21 08:54:52 -07:00
Nassim Jahnke
95e9506512
Updated Upstream (Bukkit/CraftBukkit) ( #8015 )
...
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:
05ae036c PR-746: Add option to use cached map color palette
57849c1b PR-759: Add preview chat option in ServerListPingEvent
0169e65d PR-758: Add missing server properties methods from 1.19
CraftBukkit Changes:
622dbe6c2 SPIGOT-7068: SKULK and SKULK_VEIN BlockSpreadEvents Still do not reference the correct source (SKULK_CATALYST)
6c61b73f3 PR-1052: Add option to use cached map color palette
c882f38ea SPIGOT-7066: Fix custom END worlds not generating DragonBattle
6866aab59 SPIGOT-2420: Can't set exp drops for EnderDragon death
9dcd46530 PR-1067: Add preview chat option in ServerListPingEvent
36c2681af PR-1066: Add missing server properties methods from 1.19
031eaadd0 Increase outdated build delay
8fda4b12f SPIGOT-7060: SCULK and SCULK_VEIN BlockSpreadEvents do not reference the correct source
2022-06-20 19:12:05 +02:00
Shane Freeder
348b3a541d
Fix missing null check in ChunkGenerator#findNearestMapStructure
2022-06-20 15:01:29 +01:00
Spottedleaf
4c6e227360
Sync Starlight SaveUtil with 1.1.1
...
Code isn't used, but still should be synced
2022-06-18 14:48:08 -07:00
Jake Potrebic
c517b28adc
Fix number parsing ( #8013 )
2022-06-17 11:28:18 -07:00
Shane Freeder
efcee6889d
[ci skip] restore jd.io
2022-06-17 18:28:38 +01:00
Shane Freeder
bf6042c329
Temp: Disable javadoc.io for now
2022-06-17 08:26:11 +01:00
Jake Potrebic
b20573ca8c
Fix incorrect random nextLong to nextInt ( #8009 )
2022-06-17 00:00:17 -07:00
Jake Potrebic
969129420b
Add missing deprecation to AdvancementDisplayType ( #7876 )
2022-06-16 15:19:47 -07:00
Jake Potrebic
92e54e030d
Couple fixes for command blocks ( #8004 )
2022-06-16 15:03:02 -07:00
Owen1212055
86832e42a4
Prevent empty items from being added to world ( #7998 )
...
The previous solution caused a bunch of bandaid fixes inorder to resolve edge cases where minecraft/the api might spawn items that are air.
Just simply prevent them from being added to the world instead.
2022-06-16 17:31:23 -04:00
Jake Potrebic
fe2520594d
Fix advancement saving before reloads ( #8003 )
2022-06-16 13:59:53 -07:00
Noah van der Aa
a3f2d9b81e
Fix MC-252439 ( #7994 )
2022-06-16 20:23:36 +02:00
Owen1212055
211ef55f82
Nameable Banner API ( #7711 )
2022-06-15 23:54:54 -04:00
Owen1212055
92967098bf
Fix incorrect ansi code being used for bold ( #8000 )
...
Co-authored-by: BillyGalbreath <blake.galbreath@gmail.com>
2022-06-15 23:40:14 -04:00
Owen1212055
9d34379685
Add missing important BlockStateListPopulator methods ( #7952 )
2022-06-15 12:30:58 -04:00
Jake Potrebic
e08802e9ef
Add option for strict advancement dimension checks ( #7954 )
2022-06-14 16:31:20 -07:00
u9g
4bb10a5761
Add ARMOR tag to MaterialTags (1.19) ( #7987 )
2022-06-14 19:04:19 -04:00
chickeneer
9a120dfa41
Fix the growth modifier for glowberries ( #7986 )
2022-06-14 17:37:14 -05:00
Dustin
53c7e9ec71
Add WardenAngerChangeEvent ( #7943 )
2022-06-14 12:34:41 +02:00
Jake Potrebic
15181a7c74
Fix command signs patch update ( #7976 )
2022-06-14 01:51:53 -07:00
Jake Potrebic
c3f403dd76
Couple config fixes ( #7975 )
2022-06-13 15:29:44 -07:00
froobynooby
98b65200d8
Use deserialised row keys in config tables ( #7962 )
2022-06-14 06:20:43 +09:30
Nassim Jahnke
e4e33753a4
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:
4d37bf30 PR-762: Add SpawnReason and TransformReason for Tadpole metamorphosis into Frog
788174ae PR-761: Add Hangable interface to MangrovePropagule
CraftBukkit Changes:
3571ca8d1 PR-1070: Add SpawnReason and TransformReason for Tadpole metamorphosis into Frog
8f097b92f PR-1068: Add Hangable interface to MangrovePropagule
Spigot Changes:
56be6a84 Rebuild patches
c6c8886d PR-118: Add config option to disable hopper-chunk-loading
2022-06-13 18:06:25 +02:00
Shane Freeder
5e5e561112
Bump netty
2022-06-12 23:53:18 +01:00
Josh Roy
ba31ce5451
Update Adventure to 4.11.0 and implement ComponentLogger ( #7937 )
2022-06-12 17:07:40 -04:00
Jake Potrebic
dbb094a30e
Dont reassign the hiddenConfigs field in TimingsManager ( #7951 )
2022-06-12 10:29:27 -07:00
Nassim Jahnke
8d1748a6f9
Add paper-settings-directory cl argument ( #7949 )
2022-06-12 10:07:43 +02:00
Jake Potrebic
9c10476c94
Fire kick event for out-of-order chat on main thread ( #7942 )
2022-06-11 18:11:18 -07:00
Shane Freeder
1ef1281f21
Ensure that Log4J is shutdown when stopping the server ( Fixes #7932 )
2022-06-12 01:59:24 +01:00
Shane Freeder
945316dc5d
Add support for Velocity forwarding v2
...
This is strictly not needed, however, I wanted to write this in part
to test the new forwarding logic, parsing and advertising the latest
featureset is also not exactly a bad thing
2022-06-09 14:27:06 +01:00
Jake Potrebic
df842f3d43
Adjust config headers
2022-06-11 13:43:59 -07:00
Spottedleaf
26325213c7
Fix keep spawn loaded patch
...
Needs to be in blocks
2022-06-11 07:58:17 -07:00
Spottedleaf
dca4b90844
Don't explode on light data in the nether
...
It shouldn't be there but whatever
2022-06-11 07:28:18 -07:00
Jake Potrebic
5a405cfe8e
Updated Upstream (Bukkit/CraftBukkit) ( #7936 )
...
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:
c1d911a2 Add compat constructor to PlayerAnimationEvent
CraftBukkit Changes:
effea36a2 PR-1065: Add missing calls for BlockSpreadEvent when Sculk spreads
2022-06-11 02:02:57 -07:00
Nassim Jahnke
4e76d31387
Fix some references to obfuscated code
2022-06-11 11:02:09 +02:00
Owen1212055
624ed50aa0
Readd mc-4 fix
2022-06-11 10:41:59 +02:00
Owen1212055
1762939321
Readd remove vec allocations diff ( #7930 )
2022-06-11 04:30:20 -04:00
Evan
6a3bf07946
correct argument check in PlayerHandshakeEvent#setFailMessage(String) ( #7940 )
2022-06-11 02:37:00 -05:00
Spottedleaf
1c4ca26d6e
Make starlight light read non-fatal if it throws
...
Brings behavior in line with the mod, we shouldn't kill the chunk
if the light data is corrupt, we can regenerate the light data
2022-06-10 21:08:37 -07:00
Spottedleaf
91cf4f0392
Correct dataconverter diff
...
Missed renames + game event listener walker stuff
2022-06-10 20:54:05 -07:00
Jake Potrebic
33d48ed240
Keep default keys in some maps
...
Fixes https://github.com/PaperMC/Paper/issues/7913#issuecomment-1152780671
2022-06-10 17:11:12 -07:00
Jake Potrebic
e44a2dc4ac
Fixes parsing tags in selectors in command functions
...
Fixes #7928
2022-06-10 10:02:04 -07:00
Jake Potrebic
43f46a5f0b
Improve migration file errors ( #7929 )
2022-06-10 10:01:09 -07:00
Owen1212055
3ce03e2d23
Remove unneeded patch
2022-06-10 16:15:38 +02:00
Owen1212055
ed313fe695
port Significantly improve performance of the end generation ( #7919 )
2022-06-10 10:11:41 -04:00
Nassim Jahnke
6463d02dac
Don't print stacktrace when client with invalid signature logs in
2022-06-10 16:03:48 +02:00
Nassim Jahnke
a488132e74
Remove bad warning
2022-06-10 14:58:25 +02:00
Nassim Jahnke
d2519b507e
Updated Upstream (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
CraftBukkit Changes:
cc7edd6bc SPIGOT-7051: Worldgen API does not run vanilla noise generation when shouldGenerateNoise is true
2022-06-10 14:45:58 +02:00
Nassim Jahnke
9b68662b17
Readd PlayerAnimationEvent constructor removed by upstream
2022-06-10 14:43:59 +02:00
Jake Potrebic
29e793489c
improve packet config serializer ( #7920 )
2022-06-10 01:45:41 -07:00
Jake Potrebic
89e9e14344
couple more migration issues
2022-06-09 22:03:37 -07:00
Jake Potrebic
b347f25afc
fix 2 more migration issues
2022-06-09 18:40:07 -07:00
Jake Potrebic
d8a7b12368
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:
45d9c73c SPIGOT-7043: EnderChest does not implement Lidded
86b95f34 SPIGOT-7047: Add Player#getLastDeathLocation
CraftBukkit Changes:
b2557f6ac SPIGOT-7041: Custom BiomeProvider not used when world set to type FLAT
732c50cab SPIGOT-7043: EnderChest does not implement Lidded
6209029ea SPIGOT-7048: addPassenger() not working when vehicle is player
3aa7836df SPIGOT-7047: Add Player#getLastDeathLocation
7d522cd26 SPIGOT-7050: Enchantment data of items will not be saved correctly when saved in YAML configuration file
Spigot Changes:
1dffefb4 Rebuild patches
2022-06-09 18:20:47 -07:00
Owen1212055
589dcea57a
Fix light ( #7917 )
2022-06-09 21:09:55 -04:00
Jason Penilla
7997ea59e0
Don't use deprecated permission message method
2022-06-09 17:03:05 -07:00
Nassim Jahnke
9f383d8097
Fix migration of packet limiter
2022-06-10 01:55:53 +02:00
Owen1212055
797d43f5ef
Update starlight + read null light data ( #7912 )
2022-06-09 19:49:23 -04:00
Jason Penilla
b953c4baa7
Fix tests
2022-06-09 16:19:38 -07:00
Jason Penilla
0c33aa5134
Remove todo
2022-06-09 16:08:23 -07:00
Jason Penilla
afbc7b84cd
Update player chunk loader patch, re-add ticket level propagator patch
2022-06-09 16:01:48 -07:00
Noah van der Aa
b3386c382b
Make slime spawn checks use tag again and rename config option ( #7910 )
2022-06-10 00:48:46 +02:00
Jake Potrebic
35d5998b02
remove more unused config options
2022-06-09 15:15:01 -07:00
Jake Potrebic
288cf1e073
fix more config migration issues
2022-06-09 15:03:02 -07:00
Jake Potrebic
1aa8052d41
fix compile issue
2022-06-09 14:50:05 -07:00
Jake Potrebic
4d7c2c787c
move commands out of configuration
2022-06-09 14:43:27 -07:00
Shane Freeder
c0a157eb9f
Fix don't lookup profiles for blank names patch
2022-06-09 22:37:26 +01:00
Nassim Jahnke
44b93e65f2
Add sendRichMessage and sendPlainMessage methods
2022-06-09 23:34:06 +02:00
Nassim Jahnke
5a75d2ebe7
Minor patch changes
2022-06-09 23:27:06 +02:00
Jake Potrebic
b89848009c
minimessage conversion
2022-06-09 14:11:43 -07:00
Owen1212055
d433a16bb7
Remove old config options ( #7908 )
2022-06-09 16:48:35 -04:00
Owen1212055
ae952f4189
Keyed cat Type ( #7901 )
2022-06-09 16:38:59 -04:00
Jake Potrebic
82fbae146b
catch IAE from empty transformation builder
2022-06-09 13:06:03 -07:00
Owen1212055
6eaa203f77
Remove locname ( #7909 )
2022-06-09 15:56:21 -04:00
Jake Potrebic
3e0a6e62bb
more configuration fixes/changes
2022-06-09 12:51:26 -07:00
Owen1212055
d68c295dc1
Correctly handle ElderGuardianAppearanceEvent canceling ( #7902 )
2022-06-09 15:04:10 -04:00
Noah van der Aa
44548b8544
Don't validate chunk before it's been run through DataConverter ( #7907 )
2022-06-09 18:39:02 +02:00
Nassim Jahnke
c6f937f660
Fix config migration error preventing server startup
...
There's at least two more, but those are less pressing
2022-06-09 14:27:48 +02:00
Nassim Jahnke
6c0ab6d3ef
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:
0a4b84d6 SPIGOT-7003: Add missing PlayerAnimationType
830db7d5 SPIGOT-5984: Add non deprecated / magic value way to set pixel in MapCanvas
20caf8ff PR-754: Add DamageCause.SONIC_BOOM
CraftBukkit Changes:
576a03704 SPIGOT-7003: Add missing PlayerAnimationType
0dcc5fdd0 SPIGOT-5984: Add non deprecated / magic value way to set pixel in MapCanvas
d75aacb43 Update Netty version
3b34c6bea SPIGOT-7044: Modified RandomSourceWrapper to ensure random is not null before setting seed
4b60bfd18 PR-1059: Add DamageCause.SONIC_BOOM
2022-06-09 13:55:33 +02:00
Nassim Jahnke
929bb263c3
Update configurable feature seed patch
2022-06-09 13:16:00 +02:00
Nassim Jahnke
5dc0509d47
Fixes
...
Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
2022-06-09 11:57:19 +02:00
Nassim Jahnke
2514a4d5ca
Readd dummy PaperConfig and PaperWorldConfig classes
2022-06-09 11:46:41 +02:00
Jason Penilla
1eeec9f2ca
Update Optimise general POI access ( #7903 )
2022-06-09 02:37:28 -07:00
Jake Potrebic
2168417373
Move to configurate for paper.yml ( #7609 )
2022-06-09 01:51:45 -07:00
Owen1212055
01cf853f91
Deprecate origin for vibrations ( #7898 )
2022-06-08 16:44:59 -04:00
Jake Potrebic
130e8c090b
fallback to default locate logic if no API found
2022-06-08 13:42:54 -07:00
Noah van der Aa
5a7519440e
(1.19) Make timings link clickable ( #7897 )
2022-06-08 22:27:24 +02:00
Owen1212055
da6d6a433d
Add missing spawn eggs ( #7896 )
2022-06-08 16:25:47 -04:00
Nassim Jahnke
7b0c67ff2e
Slightly untrash Spigot chat handling
...
Vanilla technically allows chat messages with starting slashes now,
Spigot still accepts them as commands, most likely due to being too
lazy to properly differentiate between chat and command intent in
their implementation. This disallows modified clients to send chat
messages with slashes and makes sure chat validation always happens
on the netty event loop, rather than there and possibly being moved
to the main thread, thus having the delayed handling cause a bad
process order of message ids.
2022-06-08 21:42:49 +02:00
Owen1212055
113a6b72c2
Dont resent entity on art update ( #7887 )
2022-06-08 15:25:15 -04:00
Jake Potrebic
f823b12e0a
Fix structures issues/api ( #7895 )
2022-06-08 12:00:19 -07:00
Owen1212055
f136fe47a3
Wrap NBTOps in RegistryOps ( #7892 )
2022-06-08 14:25:39 -04:00
Jake Potrebic
2b1b40b4f5
correct patch description
2022-06-08 11:06:48 -07:00
Nassim Jahnke
ad33904828
Remove no longer needed patch
2022-06-08 20:06:04 +02:00
Nassim Jahnke
39333c8c38
Only send empty chunk when player is dead
...
Currently not needed at all with chunk rewrites not yet updated, but considering it's only actually needed for dead players, no need to fuck up a chunk without the future applied patch
2022-06-08 19:50:57 +02:00
Noah van der Aa
f81addfd7f
Port Fix missing chunks due to integer overflow to 1.19 ( #7891 )
2022-06-08 19:39:07 +02:00
Nassim Jahnke
58ff3159f6
Remove level propagator patch for now
2022-06-08 19:33:07 +02:00
Space Walker
6b2978aea0
Update Alternate Current patch ( #7890 )
2022-06-08 19:29:34 +02:00
Owen1212055
79fb78d5b2
Check if is light status or above / isLightOn / starlight version fits ( #7888 )
2022-06-08 12:32:49 -04:00
Nassim Jahnke
6491bdb641
Fix tests (again?)
2022-06-08 18:18:49 +02:00
Nassim Jahnke
f05d39d100
Reorder some patches
2022-06-08 18:13:02 +02:00
Owen1212055
4af51f89ea
Remove painting desync ( #7886 )
2022-06-08 11:45:54 -04:00
MiniDigger | Martin
3a26886e65
fix reobf issues around randomsource impls
...
prolly should be fixed in a mapping patch instead but I don't wanna
2022-06-08 17:43:25 +02:00
Nassim Jahnke
ce4dbaa014
Fix tests
2022-06-08 17:31:27 +02:00
Jake Potrebic
f07398f8ae
Add back fix swamp hut deadlock patch
2022-06-08 07:58:51 -07:00
Nassim Jahnke
36a88ba4f0
IT COMPILES BOIS
2022-06-08 16:50:14 +02:00
Nassim Jahnke
62fe743a58
Fix
2022-06-08 16:46:39 +02:00
Jake Potrebic
392f66f653
Add back Fix locateNearestStructure patch
2022-06-08 07:46:01 -07:00
Jake Potrebic
011d16bd88
Add back Fix NotePlayEvent patch
2022-06-08 07:36:43 -07:00
Jake Potrebic
aefc7991df
add back removed kelp modifier patch
2022-06-08 07:29:32 -07:00
Nassim Jahnke
3cd8d0c681
More compilation error fixes
2022-06-08 16:24:55 +02:00
Nassim Jahnke
0da6d1d498
Compilation error fixes
2022-06-08 15:59:48 +02:00
Owen1212055
92f5ec1d15
Use biome source method to prevent loading chunks ( #7885 )
2022-06-08 09:57:04 -04:00
Noah van der Aa
88ca48c121
Moar 1.19 fixes ( #7884 )
2022-06-08 15:38:56 +02:00
Nassim Jahnke
dcb23664a3
More more more more more more more more more more more patches
2022-06-08 15:36:56 +02:00
Nassim Jahnke
7c319bce76
More more more more more more more more more more patches
2022-06-08 15:12:28 +02:00
Owen1212055
bf30d497ba
Misc fixes ( #7883 )
2022-06-08 09:03:33 -04:00
Nassim Jahnke
4d7d4e996e
More more more more more more more more more patches
2022-06-08 14:33:46 +02:00
MiniDigger | Martin
a6a4cd6b84
more misc compile fixes
2022-06-08 14:19:54 +02:00
MiniDigger | Martin
80c50e91d4
Add missing DataConverter and fix some imports
...
not fully sure those imports (or well, those classes being outside of the mc package) are right, but who cares 🤷
2022-06-08 14:01:30 +02:00
Nassim Jahnke
d9a947b54c
Things, and Starlight (maybe)
2022-06-08 13:44:30 +02:00
Nassim Jahnke
7feebbe413
Things, and DataConverter (maybe)
2022-06-08 13:12:14 +02:00
Nassim Jahnke
9b7e6a1a04
More more more more more more more more patches
2022-06-08 12:40:44 +02:00
Nassim Jahnke
428127a055
More more more more more more more patches
2022-06-08 12:20:57 +02:00
Nassim Jahnke
a26fb3e49a
More more more more more more patches
2022-06-08 11:31:06 +02:00
Noah van der Aa
535fb2d726
Misc. 1.19 fixes ( #7881 )
2022-06-08 10:45:59 +02:00
Jake Potrebic
5f8843665b
bale o' patches
2022-06-08 01:00:56 -07:00
Jake Potrebic
6e709b7e45
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:
4b08dbc5 PR-752: Make Leaves Waterlogged
de323fc9 Downgrade dependency version
CraftBukkit Changes:
c3f219edb Fix missing abstract in CraftLeaves
886e6d8c8 SPIGOT-7038: Setting title or subtitle to empty string causes the player to disconnect
6c302a5e3 Make Leaves Waterlogged
53b681be5 Downgrade dependency version
Spigot Changes:
ee737122 Fixed system messages shown in action bar
f343df82 SPIGOT-7036: Don't use CHAT message type
63a06049 SPIGOT-7035: Actionbar Sending in Main Chat
2022-06-08 00:49:02 -07:00
Jake Potrebic
da97ab094f
batch o' patches
2022-06-08 00:40:34 -07:00
Jake Potrebic
88d7a4ed1d
bag o' patches
2022-06-08 00:30:41 -07:00
Jake Potrebic
2bfe9eca4d
bouquet o' patches
2022-06-07 23:25:32 -07:00
Jake Potrebic
c972a4898f
bundle o' patches
2022-06-07 23:06:17 -07:00
Jake Potrebic
294026345e
bunch o' patches
2022-06-07 22:46:52 -07:00
Jake Potrebic
9596c37668
a bunch more patches done
2022-06-07 22:02:19 -07:00
Jake Potrebic
25ec90e362
even moar patches
2022-06-07 21:39:43 -07:00
Jake Potrebic
194d219e0a
moar patches
2022-06-07 21:22:42 -07:00
Spottedleaf
ac0e1997ee
<3 jmp
2022-06-07 21:06:41 -07:00
Jake Potrebic
e8ece1a43a
Fix more issues
2022-06-07 20:59:40 -07:00
Spottedleaf
e880bd3dd5
i really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really hate jmp
2022-06-07 20:40:53 -07:00
Jake Potrebic
b3afb6d9f4
few more server decompile fixes
2022-06-07 20:12:24 -07:00
Spottedleaf
348d5f3dca
i really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really love jmp
2022-06-07 19:25:49 -07:00
Spottedleaf
dc953ea414
i really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really love jmp
2022-06-07 18:31:24 -07:00
Jake Potrebic
9ced122cc9
Fix cook speed patch
2022-06-07 18:19:35 -07:00
Jake Potrebic
f816947534
Fix CanPlaceOn/CanDestroy API issues
2022-06-07 18:13:05 -07:00
Spottedleaf
f8d0fdf127
i love jmp
2022-06-07 17:42:07 -07:00
Spottedleaf
e83c74a0a0
hate jmp and his gradle
2022-06-07 17:15:06 -07:00
Jake Potrebic
a4ed02355a
temporary fixes for adventure chat
2022-06-07 16:49:14 -07:00
Owen1212055
e41394951f
Update PreCreatureSpawnEvent patch
2022-06-07 23:54:21 +02:00
Jake Potrebic
8688604ee9
some server compile fixes
2022-06-07 14:48:09 -07:00
Nassim Jahnke
67e715ab1e
More more more more more patches
2022-06-07 23:45:11 +02:00
Jake Potrebic
5ef117c8a9
Fix even more errors
2022-06-07 14:15:14 -07:00
Jake Potrebic
60921838b7
Fix more errors
2022-06-07 14:01:12 -07:00
Nassim Jahnke
6632a409ae
More more more more patches
2022-06-07 22:45:38 +02:00
Jake Potrebic
34e618965c
fix unmerged diff
2022-06-07 13:43:05 -07:00
Jake Potrebic
da15f7cfbc
API now compiles successfully
2022-06-07 13:31:10 -07:00
Jake Potrebic
a22a744368
Fix some api compilation errors
2022-06-07 13:23:16 -07:00
Nassim Jahnke
5c61ec8531
More more more patches
2022-06-07 22:12:48 +02:00
Nassim Jahnke
588aa467be
More more patches
2022-06-07 21:55:39 +02:00
Nassim Jahnke
3f1ea3f769
More patches
2022-06-07 21:15:06 +02:00
Nassim Jahnke
b31be0569d
First server patches
2022-06-07 20:12:34 +02:00
Nassim Jahnke
66eb6f7632
API patches
2022-06-07 19:20:30 +02:00
Nassim Jahnke
1148687a8d
Prepare for 1.19 dev
2022-06-07 18:52:56 +02:00
Joseph Burton
f34f678b20
Fix campfire walker in V1920
2022-06-06 17:51:12 -07:00
Jake Potrebic
9b2964fe63
Fix treasure maps discovered settings ( #7627 )
2022-06-05 17:17:27 -07:00
Joseph Burton
382529a546
[DataConverter] Fix generator options parsing
2022-06-05 22:49:42 +01:00
Jake Potrebic
943212b776
Move some methods to RegionAccessor ( #7635 )
2022-06-05 13:51:44 -07:00
Nassim Jahnke
bcde5dbffe
Updated Upstream (Bukkit/CraftBukkit) ( #7875 )
...
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:
6a039faf PR-745: Expose more information about advancements
52148c47 PR-749: Various javadoc improvements
23c2d841 PR-748: Remove permissible recalculation from Permission constructor
CraftBukkit Changes:
a59dc59e SPIGOT-7025: Use existing item in hand for ranged Drowned attack
e4cca0ca PR-1050: Expose more information about advancements
2022-06-05 10:43:06 +02:00
froobynooby
693f001b92
Make leave messages for kicks the same as for quitting ( #7874 )
2022-06-05 17:13:35 +09:30
Jake Potrebic
7acc5223e6
throw exception if worlds are created while being ticked ( #7653 )
2022-06-04 14:48:24 -07:00
Nassim Jahnke
4f76ec1554
Limit resolved selectors when enabled
2022-06-03 16:06:05 +02:00
Jake Potrebic
9ae651a103
Remove incorrect throws javadoc in Team ( #7869 )
2022-06-02 22:05:42 -07:00
Jake Potrebic
5ba2f654eb
Fix some nullability things ( #7275 )
2022-06-02 21:42:00 -07:00
Jake Potrebic
f65eead418
Remove ChatColor usages ( #7543 )
2022-06-02 21:26:56 -07:00
Nassim Jahnke
0d76d96223
Disable book selector resolving by default
2022-06-02 20:40:24 +02:00
Owen1212055
2b4c75d379
Respect x-ray permission in World#refreshChunk ( #7214 )
...
Co-authored-by: stonar96 <minecraft.stonar96@gmail.com>
2022-06-01 22:08:51 -04:00
Emily
b8b48567ae
Add numeric string completion suggestions as int suggestions ( #6360 )
2022-06-01 22:56:24 -03:00
Owen1212055
68ef4d7878
Prevent entity loading causing async lookups ( #7553 )
2022-06-01 21:35:57 -04:00
Jake Potrebic
d6784f22c1
Add translation keys to GameMode enum ( #7081 )
2022-06-01 18:30:29 -07:00
Owen1212055
4810e202fe
Sanitize Sent BlockEntity NBT ( #7010 )
2022-06-01 21:27:36 -04:00
Jake Potrebic
63ffb7fd84
Implement Translatable on CreativeCategory ( #7587 )
2022-06-01 17:07:10 -07:00
PureGero
a063840a0e
Check HAProxyMessage type is PROXY ( #7864 )
2022-06-02 07:58:22 +10:00
Jake Potrebic
62f8950e86
Add default kick msg component ( #6886 )
2022-05-31 23:20:12 -07:00
Jake Potrebic
67275a04a7
Fix EntityEquipment and related javadocs ( #7380 )
2022-05-31 13:40:21 -07:00
Jake Potrebic
04acf65b3c
Update the rewriteForIde for new cb package version ( #7242 )
2022-05-30 22:18:45 -07:00
Jake Potrebic
cee484c458
Update default vanilla command perms ( #7386 )
2022-05-30 21:57:32 -07:00
Jake Potrebic
59cf38febb
Remove unneeded UOE when copying biome sources ( #7629 )
2022-05-30 19:35:46 -07:00
Jake Potrebic
dcbf48f33d
Fix FurnaceInventory for smokers and blast furnaces ( #7249 )
2022-05-30 19:03:18 -07:00
Jake Potrebic
59e14e29d5
Fix OfflinePlayer#getBedSpawnLocation ( #7861 )
2022-05-30 18:42:51 -07:00
Jason Penilla
ea9a831a7f
Update ForgeFlower ( #7857 )
2022-05-29 12:54:25 -07:00
Jake Potrebic
f0b4d5aa22
Fix cb's janky level name in WorldCreator ( #7851 )
2022-05-27 08:42:36 -07:00
Jake Potrebic
a093b95db2
Provide ComponentSerializer services ( #7527 )
2022-05-26 12:12:14 -07:00
Jake Potrebic
75a1da666c
Fix duplicate world keys via createWorld ( #7614 )
2022-05-26 10:59:53 -07:00
Jake Potrebic
d119830727
Fix addPassenger for Marker ( #7762 )
2022-05-25 18:00:47 -07:00
Jake Potrebic
33c990bd9f
Updated Upstream (CraftBukkit/Spigot) ( #7848 )
...
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:
95d233dc SPIGOT-1807: PlayerTeleportEvent is called twice
Spigot Changes:
b0819150 PR-116: Slightly reduce item merge radius in Y-direction
ef2aa765 PR-119: Fix off-by-one and allow disabling max-tnt-per-tick option
2022-05-25 12:21:51 -07:00
PanSzelescik
695d2a2df5
Add support for Proxy Protocol ( #7710 )
2022-05-24 06:56:58 +02:00
rgnter
e8ad5b0aa4
team color parameter may be null, causing NPE
2022-05-21 11:27:12 +02:00
Jake Potrebic
85db1f6205
Remove incorrect parent perm from debugstick.always ( #7846 )
2022-05-23 21:09:20 -07:00
Jake Potrebic
0a5d5f730d
Fix more upstream javadocs ( #7837 )
2022-05-20 09:57:07 -07:00
Noah van der Aa
9423c662b9
[ci-skip] Update repository and API urls ( #7835 )
2022-05-20 17:12:30 +02:00
Owen1212055
eb29f4b571
Deprecate set/doesBounce from Projectile ( #7800 )
2022-05-18 20:46:01 -04:00
Noah van der Aa
ee13266378
Hide ores with deepslate at Y=4 and below ( #7792 )
...
Fixes #7771
Co-authored-by: stonar96 <minecraft.stonar96@gmail.com>
2022-05-18 22:16:12 +02:00
Nassim Jahnke
cbe35089c6
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:
218294b1 PR-743: Support setting individual Wither head targets
CraftBukkit Changes:
d48f2d1a PR-1047: Support setting individual Wither head targets
518f1bee SPIGOT-6948: Motion from Explosion after Respawn
f3c7a6ac SPIGOT-7019: Add yaw in World#getSpawnLocation
2022-05-17 11:51:46 +02:00
Peter Crawley
c161caeb17
List world on tile entity placement exception ( #7709 )
2022-05-16 11:38:14 +01:00
Jake Potrebic
add89bc675
deprecate old MaterialData api ( #7585 )
2022-05-15 19:33:03 -07:00
Jake Potrebic
8c090d95af
Fix cancelling PlayerItemFrameChangeEvent ( #7761 )
2022-05-09 17:22:57 -07:00
Jake Potrebic
e30a750e25
Remove unneeded patch ( #7806 )
2022-05-09 11:22:43 -07:00
Nassim Jahnke
32f222857a
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:
312281ea PR-742: Make World implement Keyed
CraftBukkit Changes:
2ac7fa7a SPIGOT-7014: getLootTable API should not persistently update loot table
7fdd7941 PR-1046: Make World implement Keyed
7bc728a6 PR-1045: Revert changes to persistence required checks
Spigot Changes:
b6d12d17 Rebuild patches
2022-05-09 11:03:07 +02:00
Jason Penilla
61687e53fe
Fix whitespace error in Alternate Current patch
2022-05-08 09:25:34 -07:00
Spottedleaf
4aa035fa95
Do not accept invalid client settings
2022-05-07 14:59:20 -07:00
Jake Potrebic
7483a45e55
Fix door breaking difficulty defaults for vindicator ( #7795 )
2022-05-07 11:38:15 -07:00
Nassim Jahnke
6084c2a6bd
Move redstone config changes to Eigencraft patch
2022-05-07 19:52:32 +02:00
Space Walker
14d355612e
Add Alternate Current's redstone implementation as an alternative to Vanilla and Eigencraft's. ( #7701 )
2022-05-07 18:47:28 +02:00
Spottedleaf
af019e9d32
Only log for passenger / vehicle world mismatch
...
Exception thrown may corrupt passenger/vehicle state
2022-05-07 08:48:29 -07:00
Pedro
221d4c2d98
Clean unused field for Configurable door breaking difficulty ( #7793 )
2022-05-07 01:57:41 -04:00
Pedro
2b68eb27b1
Improve configurable door difficulty ( #6985 )
2022-05-06 11:52:14 -04:00
Noah van der Aa
9434fcde82
Don't tick markers ( #7299 )
2022-05-06 17:33:07 +02:00
Owen1212055
d2b4cbc69e
FallingBlock auto expire setting ( #7037 )
2022-05-06 11:21:24 -04:00
u9g
d2fe5077cd
Add PlayerStopUsingItemEvent ( #7787 )
2022-05-06 11:14:06 -04:00
HexedHero
515a9c6573
Undeprecate getOfflinePlayer ( #7773 )
2022-05-06 13:21:58 +01:00
Noah van der Aa
8cdb1bf0ab
Use mojang item ids for alternative item despawn rate ( #6997 )
2022-05-05 00:29:15 +02:00
Jake Potrebic
dfa6307b48
Deprecate duplicate SoundGroup API ( #7509 )
2022-04-30 13:44:22 -07:00
Jake Potrebic
bce57808da
Couple fixes/improvements to PlayerSetSpawnEvent ( #6754 )
2022-04-30 13:24:47 -07:00
Shane Freeder
655a3cf961
Updated Upstream (Bukkit/CraftBukkit) ( #7776 )
2022-04-30 17:27:41 +01:00
Shane Freeder
8d72e2dfb2
cleanup filtered sign text ( #7777 )
2022-04-30 16:49:57 +01:00
Jason Penilla
6a846e2c40
Use setMessage instead of arraycopy
...
setMessage affects messages, filteredMessage, and renderMessages, we were only doing an arraycopy for messages
fixes #7774
2022-04-28 19:51:06 -07:00
Joseph Burton
56d8a72eee
Fix V1451 dataconverter stat types
2022-04-25 18:06:04 +02:00
Jake Potrebic
294bb1b03d
fix powder snow cauldrons not turning to water ( #7229 )
2022-04-24 11:35:24 -07:00
Jake Potrebic
883d523cc7
Fix opening inv in PlayerRecipeBookClickEvent handler ( #7552 )
2022-04-23 18:48:00 -07:00
Jake Potrebic
ea12aebb11
Fix some team color docs and added hasColor ( #7602 )
2022-04-23 18:37:10 -07:00
Jake Potrebic
f5e81eab58
Fire CauldronLevelChange on initial fill ( #7678 )
2022-04-23 13:40:34 -07:00
Jake Potrebic
d028efff04
Add EntityDyeEvent and CollarColorable interface ( #7625 )
2022-04-23 12:38:42 -07:00
Jake Potrebic
d194acfa0d
Add missing javadoc deprecation msgs for PlayerProfile ( #7688 )
2022-04-23 07:40:37 -07:00
Nassim Jahnke
471c7df4e4
Remove or replace a few dumb deprecations ( #7760 )
2022-04-23 11:25:30 +02:00
Jake Potrebic
c7930738d2
Trigger bee_nest_destroyed trigger in the correct place ( #7436 )
2022-04-22 18:17:14 -07:00
Jake Potrebic
149df9ebfc
Fix NPE for BlockDataMeta#getBlockData ( #7670 )
2022-04-22 17:21:38 -07:00
Bjarne Koll
0c85e94214
Revert to old createProfile(UUID, String) logic ( #7723 )
2022-04-22 20:54:08 +02:00
Jason Penilla
49160bd3ac
Don't apply previous potion when item is potion ( fixes #7756 ) ( #7757 )
2022-04-21 17:07:56 -07:00
petersv5
ee9fd9f668
Grant temporary immunity from EAR to moving entities ( Fixes #7637 ) ( #7644 )
...
Co-authored-by: Peter Svensson <petersv@psv.nu>
2022-04-20 11:34:00 +02:00
Owen1212055
52d1a9427e
Remove World#refreshChunk deprecation ( #7684 )
2022-04-20 05:28:53 -04:00
Shane Freeder
5db9697593
WorldCreator#keepSpawnLoaded ( #7673 )
2022-04-20 10:26:09 +01:00
Shane Freeder
2b927737c9
Ignore invalid jars inside of the updates folder ( Fixes #7751 )
...
This really needs a deeper look here, the way updates are handled is
fairly immature, but, this wasn't ever intended to be a large scale thing
Ideally, imho, we'd collect the list of update files into some form of Map,
that way we just have a reference of Name > File refs, and can filter out
cases where there are two versions of a plugin in there and warn expectidely,
but, that creates some complications, you would need to fall back to a dir
scan in the case of a plugin calling loadPlugin, but, it would at least
give us more defined behavior, as well as improve performance here vs
repeatidely trying to deserialise the plugin.yml defs for every file
in there on every load
2022-04-20 10:00:50 +01:00
Xemor
68ff86040e
Improve update folder behavior ( #7687 )
...
Closes #6570
2022-04-18 17:12:39 +01:00
Noah van der Aa
5ea6685328
Don't send itemmeta for books with the hide option enabled ( #7734 )
2022-04-18 12:23:37 +02:00
HexedHero
915e452d12
Add pre-unbreaking amount to PlayerItemDamageEvent ( #7724 )
2022-04-18 10:51:45 +01:00
Owen1212055
a95e023ed2
Pass ServerLevel for gamerule callbacks ( #7668 )
2022-04-18 05:46:21 -04:00
Nassim Jahnke
c9f3a43b51
Don't fire worldborder events for virtual borders ( #7749 )
...
Fixes #7748
2022-04-18 11:26:18 +02:00
Jake Potrebic
c3c164aa66
Fix slime spawners not spawning outside slime chunks ( #7741 )
2022-04-16 11:32:20 -07:00
Nassim Jahnke
ed7396781e
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:
fc460d1b PR-735: Add Villager#zombify
c8c8331e PR-690: Add method to read ItemStack input
62845f2f SPIGOT-6829: Add per-player world border API
CraftBukkit Changes:
a459f4d4 PR-1033: Add Villager#zombify
d65d1430 PR-975: Add method to read ItemStack input
b5559f8c SPIGOT-6990: Fix setRepairCost(0) in Anvil
6c308e1b SPIGOT-6829: Add per-player world border API
Spigot Changes:
42b61526 SPIGOT-7000: Generation and /locate issues when using custom structure seeds
2022-04-16 10:29:50 +02:00
Pedro
79d17079aa
Use username instead of display name in PlayerList#getPlayerStats ( #7740 )
2022-04-15 18:23:10 -04:00
Jason Penilla
9dcd740211
Replace third party repos with Paper repo ( #7733 )
...
we now mirror Fabric, Forge, and Mojang
2022-04-13 19:58:48 -07:00
Shane Freeder
a072a15667
[CI-SKIP] Remove unused import from last patch
2022-04-13 09:15:28 +01:00
Shane Freeder
d8d6fd17fd
Prevent tile entity copies loading chunks
2022-04-13 08:27:16 +01:00
Jason Penilla
9012cc158f
Fix StructureGrowEvent species for RED_MUSHROOM
2022-04-12 16:40:30 -07:00
Owen1212055
8fdde462f2
Strip enderpearl owners when they are no longer ticked ( #7559 )
2022-04-07 20:52:25 -04:00
Nassim Jahnke
9dd7018ba8
Updated Upstream (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
CraftBukkit Changes:
2542945e Remove broken quickMoveStack implementation
5631e8bf SPIGOT-6973: Setting biome calls String#intern for every biome placed
2022-04-07 10:51:32 +02:00
Etil
40272de53a
Fix NBT pieces overriding a block entity during worldgen deadlock ( #7692 )
2022-04-07 10:42:20 +02:00
Pedro
8c4f740b81
Allow seting custom podium location for ender dragon ( #7695 )
2022-04-07 04:31:30 -04:00
Jason Penilla
3634760ece
Update decompiler & param mappings
2022-04-05 10:36:14 -07:00
Jake Potrebic
1f665d8c9f
Cache resource keys instead of trying to create them ( #7643 )
2022-04-02 18:10:13 -07:00
Nassim Jahnke
0ad6840c58
Fix lectern quick move
2022-04-02 09:15:39 +02:00
Peter Crawley
2e9ebc6ff4
Fix Nullability Annotations for PrepareItemEnchantEvent ( #7681 )
2022-04-02 04:14:56 +01:00
Jake Potrebic
98451ad73f
Undeprecate Material#isLegacy ( #7679 )
2022-03-31 09:13:19 -07:00
Spottedleaf
a096540d94
Add per player chunk loading limits
...
Configurable under "settings.chunk-loading.player-max-chunk-load-rate",
defaults to -1. This commit also changes the chunk loading to be
distributed equally for all players, rather than distance based. This is
to ensure players flying around do not take priority over everyone else.
The exception to this new rule is the min-load-radius, which still has
priority over everything else.
2022-03-31 06:04:23 -07:00
Jake Potrebic
5c7b445c76
Remove KeyedObject interface ( #7680 )
2022-03-30 13:28:38 -07:00
Jake Potrebic
ed9325cef0
fix player loottables running when mob loot gamerule is false ( #7651 )
2022-03-29 13:15:26 -07:00
Owen1212055
379422ee03
Fix entity position desync for hanging entities ( #7659 )
2022-03-29 04:42:46 -04:00
Jake Potrebic
83cd94ea93
Updated Upstream (Bukkit/CraftBukkit) ( #7672 )
...
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:
7902647a PR-737: Update WorldCreator#generatorSettings docs
67556a50 PR-736: Update README
CraftBukkit Changes:
10922194 Java 18 support
d53c4fb6 PR-1039: Use correct ops in GeneratorSettings
a567e4ae PR-1038: Removed the no longer needed getChunkUnchecked method from ChunkProviderServer.
4ac8fcce SPIGOT-6980: Since 1.18.2, World#isChunkLoaded returned false for chunks that have just been loaded (e.g. inside ChunkLoadEvent).
e6cc7c70 PR-1035: Update README
3ec79a27 SPIGOT-5140: Call EntityChangeBlockEvent when a ChorusFlower is destroyed by a projectile
2022-03-29 01:32:18 -07:00
Jason Penilla
44c710fdbe
Fix PalettedContainer synchronization ( #7663 )
2022-03-27 10:51:39 -07:00
SoSeDiK
7b6d5e3a6b
Fix EntityChangeBlockEvent#getBlockData for when sheep eats grass block ( #7646 )
2022-03-21 19:43:52 +01:00
Jake Potrebic
4d70f4ee6f
Deprecating remaining blockkey methods ( #7638 )
2022-03-21 11:06:42 -07:00
Jake Potrebic
bdb0f73b6b
Fix generator settings string for flat-type worlds ( #7568 )
2022-03-21 11:06:26 -07:00
Owen1212055
b7490f963f
Add TameableDeathMessageEvent ( #5392 )
2022-03-19 20:50:33 -04:00
Owen1212055
e889c23537
Add more missing entity API ( #7592 )
2022-03-19 10:30:16 -04:00
Bjarne Koll
6b895464b0
Properly create profiles with custom name/uuid ( #7558 )
2022-03-19 14:39:38 +01:00
Shane Freeder
c80c018a4e
Buffer OOB setBlock calls
...
lets debug mode throw a trace in order to potentially see where
such calls are cascading from easier, but, generally, if you see one setBlock
call, you're gonna see more, and this just potentially causes a flood of logs
which can cause issues for slower terminals, etc.
We can limit the flood by just allowing one for a single gen region,
we'll also only gen a trace for the first one, I see no real pressing need
to generate more, given that that would *massively* negate this patch otherwise
2022-03-19 12:22:31 +00:00
Jake Potrebic
3ba5473d61
Updated Upstream (CraftBukkit) ( #7624 )
...
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:
e9f972d6 Improve CreativeCategory conversion
c2698249 PR-1034: Fix exception on init of CraftCreativeCategory
f48739ca Add tests for material creative categories
2022-03-19 02:33:49 -07:00
Jason Penilla
535cd27411
Remove redundant GameProfileCache diff
2022-03-17 20:53:36 -07:00
Jason Penilla
57a5d8880e
Fix state locking for getTopMRUProfiles & getProfileIfCached
...
Also add missing last access update in getProfileIfCached
2022-03-17 19:44:45 -07:00
Philip Kelley
e430a9b1bb
Fix world saving in unloadWorld
2022-03-16 12:08:50 +00:00
Jason Penilla
5da2111f07
Add enchantWithLevels API ( #7615 )
2022-03-17 01:51:43 -07:00
Jake Potrebic
2f393a5bdd
Added method to check snapshot state of TileStates ( #7325 )
2022-03-16 18:28:06 -07:00
Jake Potrebic
f258c4f2e9
fix datapacks not being able to modify nether/end ( #7588 )
2022-03-16 17:54:52 -07:00
Jason Penilla
639b4ba80c
Add debug for invalid GameProfiles on skull blocks/items ( #7512 )
2022-03-16 13:34:09 -07:00
Jake Potrebic
d3087536e9
Updated Upstream (Bukkit/CraftBukkit) ( #7604 )
...
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:
33a2b476 PR-734: Make PlayerInventory#getItem Nullable
CraftBukkit Changes:
953d3ddc SPIGOT-3034: PlayerKickEvent.setLeaveMessage(String) doesn't actually do anything
2c47af0c SPIGOT-6963: CraftMetaBlockState#getBlockState applied TileEntity ids without the minecraft namespace prefix.
2022-03-16 08:57:51 -07:00
Nassim Jahnke
5bbbb6fffc
Remove Java version check once and for all ( #7612 )
...
Closes #7611
2022-03-16 14:10:32 +01:00
Bjarne Koll
905e5cdc31
Properly lookup random-ticked precipitation blocks ( #7606 )
2022-03-15 19:44:25 +01:00
Jason Penilla
f94af0f041
Add getComputedBiome API ( #5668 )
2022-03-15 11:38:36 -07:00
Spottedleaf
cbdfcf8338
Use correct toX/Y/Z in player move packet handling
2022-03-14 12:28:02 -07:00
Owen1212055
5fbf2f883d
Add get/set wait time for fish hooks. ( #5595 )
2022-03-13 18:33:01 -04:00
Nassim Jahnke
548f257f50
Updated Upstream (CraftBukkit/Spigot) ( #7580 )
...
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:
881e06e5 PR-725: Add Item Unlimited Lifetime APIs
CraftBukkit Changes:
74c08312 SPIGOT-6962: Call EntityChangeBlockEvent when when FallingBlockEntity starts to fall
64db5126 SPIGOT-6959: Make /loot command ignore empty items for spawn
2d760831 Increase outdated build delay
9ed7e4fb SPIGOT-6138, SPIGOT-6415: Don't call CreatureSpawnEvent after cross-dimensional travel
fc4ad813 SPIGOT-6895: Trees grown with applyBoneMeal() don't fire the StructureGrowthEvent
59733a2e SPIGOT-6961: Actually return a copy of the ItemMeta
Spigot Changes:
ffceeae3 SPIGOT-6956: Drop unload queue patch as attempt at fixing stop issue
e19ddabd PR-1011: Add Item Unlimited Lifetime APIs
34d40b0e SPIGOT-2942: give command fires PlayerDropItemEvent, cancelling it causes Item Duplication
2022-03-13 08:47:54 +01:00
Jason Penilla
1fe6f0bff7
Fix colors in some console messages
2022-03-12 18:47:04 -07:00
Jake Potrebic
b3d700c8c2
Fix CreativeCategory API ( #7586 )
2022-03-12 15:32:42 -08:00
Jason Penilla
e81e166e40
Various improvements to console color formatting ( #7560 )
2022-03-12 13:31:21 -08:00
Owen1212055
ac137edbc7
Ensure the item sent isn't air ( #7584 )
2022-03-12 15:34:03 -05:00
Spottedleaf
35cc32c4a1
Fix swamp hut cat generation deadlock
...
The worldgen thread will attempt to get structure references
via the world's getChunkAt method, which is fine if the gen is
not cancelled - but if the chunk was unloaded, the call will block
indefinitely. Instead of using the world state, we use the already
supplied generatoraccess which will always have the chunk available.
Missed patch from tuinity merge
2022-03-12 06:32:31 -08:00
Owen1212055
0f61ed8fe4
Remove Patches ( #7541 )
2022-03-11 15:13:46 -05:00
Owen1212055
f4e6d62953
More projectile API ( #5731 )
2022-03-11 11:37:08 -05:00
Nassim Jahnke
897e92fb9d
Add more entity api ( #7564 )
2022-03-11 15:24:45 +01:00
Owen1212055
b35c03a546
Prevent despawned navigators being readded ( #7574 )
2022-03-10 21:39:11 -05:00
Noah van der Aa
20780a5deb
Update docs link in paper.yml ( #7562 )
2022-03-09 10:10:53 +01:00
froobynooby
aca4d1cb0d
Fix setting the view distance to 32 ( #7503 )
2022-03-09 18:39:20 +09:30
Max Lee
946d966fed
Add CPU name and JVM vendor info in timings ( #7490 )
2022-03-09 10:06:58 +01:00
Riley Park
a99947054f
Adventure 4.10.1
2022-03-07 14:39:52 -08:00
Nassim Jahnke
7f9a9c35dd
Add ghast api ( #7554 )
2022-03-06 22:20:38 +01:00
Jake Potrebic
31255d3db4
Add method to set noclip on arrows ( #7263 )
2022-03-06 13:19:08 -08:00
Nassim Jahnke
372f051008
Fix scoreboard objective name length limit
2022-03-06 16:32:33 +01:00
Nassim Jahnke
db921d6111
Updated Upstream (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
CraftBukkit Changes:
808cb7ca PR-1023: Improve consistency of tag API
2022-03-06 09:08:26 +01:00
Spottedleaf
ffe0d7b99c
Add more to the save fixes
...
- Set forceTicks to true, so that player packets are always
processed so that the main process queue can be drained
2022-03-05 17:36:57 -08:00
Spottedleaf
01b6bc66db
Fix save problems on shutdown
...
- Save level.dat first, in case the shutdown is killed later
- Force run minecraftserver tasks and the chunk source tasks
while waiting for the chunk system to empty, as there's simply
too much trash that could prevent them from executing during
the chunk source tick (i.e "time left in tick" logic).
2022-03-05 17:29:47 -08:00
Jake Potrebic
4dcdc0e502
Fix cancelling ProjectileHitEvent for piercing arrows ( #7492 )
2022-03-05 12:45:57 -08:00
Owen1212055
97d0234b2f
Fix handling message in PlayerHandshakeEvent ( #7542 )
2022-03-05 15:20:52 -05:00
Pheotis
60d2bdf4a5
Expose furnace minecart push property. ( #7548 )
2022-03-05 15:15:24 -05:00
Spottedleaf
c232bf0419
Add missing glow_item_frame walkers
...
Needs one for ItemStack and Entity. It looks like I missed
the entity one because Mojang defined it as being simple,
which it certainly isn't (they "missed" it too).
2022-03-04 20:57:59 -08:00
Riley Park
7c5b21d9d3
Move Adventure patch up
2022-03-04 13:19:57 -08:00
Jason Penilla
00bee38624
replace bungeecord-chat dependency with deprecated version ( #7539 )
2022-03-04 13:53:36 -07:00
Nassim Jahnke
54b4f47959
Fix falling block spawn methods
...
For some reason Spigot broke both behavior and the method as a whole
2022-03-04 20:47:30 +01:00
JOO200
782a09c5e6
Add javadoc linking for adventure-text-minimessage ( #7538 )
2022-03-04 19:27:26 +01:00
Noah van der Aa
0e75816bcf
Clarify exception messages for invalid view distances ( #7510 )
2022-03-04 11:23:28 +01:00
Nassim Jahnke
8b2e99a315
Updated Upstream (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
CraftBukkit Changes:
4ed5af5e SPIGOT-6956: Reduce differences caused by setKeepSpawnInMemory(false)
21fe78aa SPIGOT-6957: Bad default value for WorldCreator#generatorSettings
ce373be6 PR-1022: Fix get HighestBlockAt in chunk snapshot
2022-03-04 09:33:13 +01:00
Jason Penilla
c94cfa4291
Fix deadlock on watchdog crash ( #7535 )
2022-03-04 01:26:22 -07:00
Jake Potrebic
1641e0c524
Add StructuresLocateEvent as replacement for StructureLocateEvent ( #7524 )
2022-03-04 00:09:43 -08:00
Jake Potrebic
1206876451
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:
e25c6a75 PR-638: Add CreativeCategory API for Materials
CraftBukkit Changes:
86292d3e0 PR-876: Add CreativeCategory API for Materials
2022-03-03 10:21:48 -08:00
Jason Penilla
5c45ca9a15
clean up prepareTickingChunk diff
2022-03-02 11:24:32 -07:00
Shane Freeder
1f42cc66e7
Revert chunk postprocessing back to 1.18.1 logic
2022-03-02 18:08:10 +00:00
Shane Freeder
d694a49769
Drop unneeded desync patch
...
spigot no longer even fires the event for this case, so, this may
actually be a regression, not too sure here, but, as-is this patch
is dead
2022-03-02 09:44:22 +00:00
Nassim Jahnke
f653df44f2
Fix early registry access in xray patch
2022-03-02 10:28:32 +01:00
Nassim Jahnke
dda939b7b7
Force close world loading screen on join ( #7529 )
...
Fixes infinite loading screens for dead players due to async chunk loading and player chunk loading patches and prevents players from missing messages and similar if chunk loading is slow
2022-03-02 10:21:30 +01:00
Jake Potrebic
f52a4014b8
Fix various 1.18.2 update issues ( #7523 )
2022-03-01 14:40:34 -08:00
Jason Penilla
cd1408ce13
1_18_R2
2022-03-01 00:10:23 -07:00
Jason Penilla
90efa70509
Configure javadoc overview and doc-files copying
...
closes #7462
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2022-02-28 21:38:49 -07:00
Jason Penilla
c95b80ccc1
Add TODO for leaf
2022-02-28 21:21:01 -07:00
Jason Penilla
bb43f75ee6
fix issue resulting from kenny's apatch addiction
2022-02-28 21:11:35 -07:00
Jake Potrebic
35ee1fdded
address failing mob goals test
2022-02-28 19:29:50 -08:00
Jake Potrebic
8f22d521eb
move decompile fixes to start of git history
2022-02-28 19:25:13 -08:00
Jake Potrebic
69c43d23f4
clean up view distance api diff
2022-02-28 19:00:17 -08:00
Jake Potrebic
287dcb2ff9
clean up patch changes
2022-02-28 18:36:51 -08:00
Spottedleaf
13a4b2f382
Fix unload stall
...
Also added required tickets that should not be removed during
shutdown
2022-02-28 18:33:20 -08:00
Jason Penilla
7900a59466
Move comment up
2022-02-28 19:10:41 -07:00
Riley Park
ee8cb0111c
Adventure 4.10.0
2022-02-28 13:38:23 -08:00
Jake Potrebic
b30d2499c6
re-add config for stronghold seed patch
2022-02-28 17:08:53 -08:00
Jake Potrebic
753ac9ce84
fixed flat bedrock patch
2022-02-28 16:47:11 -08:00
Nassim Jahnke
2749c38c43
Fix mc dev fix by removing it
2022-03-01 00:02:40 +01:00
Nassim Jahnke
a3698d5b7e
Update Datafixer
2022-02-28 23:21:15 +01:00
Jake Potrebic
1253019c0c
Readd 'Fix entity type tags suggestions in selectors'
2022-02-28 14:16:17 -08:00
Jake Potrebic
f1dee4ff69
1.18.2 compiles successfuly now
2022-02-28 14:02:20 -08:00
Jake Potrebic
d8d13a67c4
moar fixes
2022-02-28 13:43:31 -08:00
Nassim Jahnke
33928501c4
Fixes
2022-02-28 21:34:23 +01:00
Nassim Jahnke
da03d4a1bc
Initial 1.18 update
2022-02-28 22:43:03 -07:00
Shane Freeder
0fb6f13944
ignore excessive vel for Minecarts ( Fixes #7515 )
2022-02-28 15:31:41 +00:00
Spottedleaf
568435b5fa
Add DataConverter to StructureCheck, for structure lookups
...
Mojang added a partial conversion here to quickly check for
structures, which bypasses the chunk system. So we need a
hook here.
2022-02-25 08:46:35 -08:00
Jake Potrebic
b34f1fbdae
Custom Potion Mixes ( #6744 )
2022-02-22 19:09:15 -08:00
Jake Potrebic
98559ea2b5
Option to have default CustomSpawners in custom worlds ( #7493 )
2022-02-22 18:44:06 -08:00
Owen1212055
3eec1822dd
Fix desync on teleporting entity on first tick ( #7183 )
2022-02-22 21:20:29 -05:00
Noah van der Aa
835030c468
Add some missing deprecations to the adventure patch ( #7500 )
2022-02-23 03:11:52 +01:00
Jake Potrebic
e989331cd4
Fix custom inventory holders ( #6199 )
2022-02-22 15:00:45 -08:00
Spottedleaf
9489572907
Execute mid tick tasks during tile entity ticking
...
It was never done here in the past since the old TE management
system was barely functional, and could not handle chunk loading
remotely well
2022-02-22 14:42:00 -08:00
Spottedleaf
172adf699b
Put world into worldlist before initing the world
...
Some parts of legacy conversion will need the overworld
to get the legacy structure data storage
2022-02-22 14:28:34 -08:00
Spottedleaf
64011e201b
Add mid-tick task execution to block ticking
...
Dropped from the ticking block list rewrite
2022-02-22 14:24:28 -08:00
Jason Penilla
af00288473
[ci skip] Update Gradle wrapper to 7.4
2022-02-21 13:44:17 -07:00
Jake Potrebic
138fd85e5f
Add missing block data mins and maxes ( #6790 )
2022-02-20 13:58:31 -08:00
Jake Potrebic
0707073df5
Configurable sculk sensor listener range ( #6443 )
2022-02-20 13:44:14 -08:00
Jake Potrebic
f30c0d1b46
Furnace RecipesUsed API ( #7399 )
2022-02-19 14:00:33 -08:00
Nassim Jahnke
4e24cb5caa
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:
6fac07eb SPIGOT-6935: Make Arrow color nullable
abbc5c55 PR-730: Added a checkstyle rule to check for missing package declarations.
97157b12 PR-730: Added missing declaration of the org.bukkit.profile package.
9dcee1dc PR-727: Fix typo in StriderTemperatureChangeEvent javadocs
CraftBukkit Changes:
1e87776a SPIGOT-6935: Make Arrow color nullable
2022-02-19 13:50:20 +01:00
Jake Potrebic
82a3c96a4f
Fix entity armor not showing on death animation ( #7355 )
2022-02-18 10:16:41 -08:00
Spottedleaf
722983fbc7
1.18 misc performance dev branch ( #7368 )
...
- Port player chunk loader patch
Makes the chunk system act as it did in 1.17, no additional tickets (and thus logic) to make a chunk ticking.
Adds simulation distance API, deprecates old no-tick method.
- More collision optimisations
Ancient patch from tuinity that never could be pushed to master.
- Fix Optimise ArraySetSorted#removeIf patch
- Execute chunk tasks fairly for worlds while waiting for next tick
- Port Replace ticket level propagator
2022-02-18 09:44:46 -08:00
Bjarne Koll
9425b30b18
Use access transformers for player profile API ( #7468 )
2022-02-18 18:30:37 +01:00
Jake Potrebic
bf59b03506
Add GameEvent tags ( #6439 )
2022-02-17 18:42:22 -08:00
Shane Freeder
d77d3acbc5
Mark ChatRender#render as ApiStatus.Override
2022-02-18 01:10:46 +00:00
Nassim Jahnke
2f49bcb7a2
Updated Upstream (Bukkit/CraftBukkit/Spigot) ( #7480 )
...
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:
8d818032 PR-723: Add Furnace#getRecipesUsed
d7b5a313 PR-726: Add Particle dataTypes to javadocs
72fe8b71 PR-724: Add PDC to World
CraftBukkit Changes:
c0326c28 PR-1009: Add Furnace#getRecipesUsed
cc5ddd79 PR-1010: Add PDC to World
6a54e5d3 PR-1012: Always save as skull owner and not as internal data
Spigot Changes:
699290cd Rebuild patches
2022-02-15 11:30:58 +01:00
Jason Penilla
d2bb62d3f5
- properly fix IllegalArgumentException in /paper mobcaps
command
...
- fix IllegalArgumentException in `/paper playermobcaps` command
- add missing Validate calls to CraftServer#getSpawnLimit(SpawnCategory)
2022-02-12 12:44:54 -07:00
Noah van der Aa
b42ccc8248
Fix IllegalArgumentException for /paper mobcaps command ( #7472 )
2022-02-12 20:02:14 +01:00
Nassim Jahnke
aa0e21a2dc
Fix PlayerProfile BukkitObject serialization, deprecate setName and setId for removal ( #7471 )
...
Having a modifiable hash here is a bit flawed and most developers should never need these methods
2022-02-12 19:29:41 +01:00
Noah van der Aa
61ecf80013
Don't load plugins prefixed with a dot ( #7392 )
2022-02-12 15:03:51 +01:00
Jake Potrebic
b594948dc6
Fix cancelled snow bucket placement ( #6751 )
2022-02-12 05:56:27 -08:00
Jake Potrebic
04b89fb9e4
Fix issues with LimitedRegion ( #7343 )
...
These issues stemmed from Paper integrating new upstream API
that was duplicated by a lot of existing Paper API
2022-02-12 05:51:13 -08:00
Jake Potrebic
1ea50caf00
Make Panda implement Sittable ( #7414 )
2022-02-12 05:36:41 -08:00
IzzelAliz
0dc4f76558
Optimize Util#sequence ( #7115 )
...
Basically the same diff is already in Vanilla 22w06a, so might as well merge this now/have a conflict to know to remove the stream they added
2022-02-12 21:28:41 +08:00
Nassim Jahnke
a9e4b937c0
Updated Upstream (Bukkit/CraftBukkit/Spigot) ( #7454 )
...
* 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:
8085edde SPIGOT-6918: Add SpawnCategory API and configurations for Axolotls
04c7e13c PR-719: Add Player Profile API
71564210 SPIGOT-6910: Add BlockDamageAbortEvent
CraftBukkit Changes:
febaa1c6 SPIGOT-6918: Add SpawnCategory API and configurations for Axolotls
9dafd109 Don't send updates over large distances
bdac46b0 SPIGOT-6782: EntityPortalEvent should not destroy entity when setTo() uses same world as getFrom()
8f361ece PR-1002: Add Player Profile API
911875d4 Increase outdated build delay
e5f8a767 SPIGOT-6917: Use main scoreboard for /trigger
a672a531 Clean up callBlockDamageEvent
8e1bdeef SPIGOT-6910: Add BlockDamageAbortEvent
Spigot Changes:
6edb62f3 Rebuild patches
7fbc6a1e Rebuild patches
* Updated Upstream (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
CraftBukkit Changes:
de951355 SPIGOT-6927: Fix default value of spawn-limits in Worlds
2022-02-12 14:20:33 +01:00
Bjarne Koll
1586de3418
Log exceptions thrown during chat processing ( #7467 )
2022-02-12 03:42:12 +01:00
Nassim Jahnke
ea776989ad
Implement World#regenerateChunk ( #7425 )
...
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2022-02-05 20:47:11 +01:00
PureGero
b6b252c57d
Use destination world when preloading spawn chunk ( #7441 )
2022-02-04 18:30:13 +10:00
Jason Penilla
543fc1df90
fix portal linking in upgraded chunks ( fixes #7419 ) ( #7438 )
2022-02-03 12:28:39 -07:00
Jason Penilla
3cc82403d5
API for creating command sender which forwards feedback ( #7432 )
2022-02-02 19:44:57 -07:00
Nassim Jahnke
3d52daf44d
Fix infinite recursion in spawnCategoryForChunk/Position
2022-02-02 21:57:11 +01:00
Spottedleaf
950afc93da
Use correct headerLocation for regionfile initialisation
...
If the regionfile cannot be recalculated (i.e entity/poi type),
then attempts to remove the invalid entry would blow up
2022-02-02 06:02:16 -08:00
Shane Freeder
729db1bed4
Rebuild patches
...
Cos, you know, pushing the correct changes the first time woulda been
overrated
2022-02-01 13:06:41 +00:00
Shane Freeder
f3497a0c5c
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:
5c21a63f PR-717: Add PlayerHideEntityEvent and PlayerShowEntityEvent
CraftBukkit Changes:
c26a7b54d PR-1000: Add PlayerHideEntityEvent and PlayerShowEntityEvent
2022-02-01 11:35:36 +00:00
Shane Freeder
295a45f95d
Use a CHM for StructureTemplate.Pallete cache
...
fixes a CME due to this collection being shared across threads
This patch was in 1.16.5 for a good while and noticed somebody
getting impacted by the same thing
2022-02-01 09:47:46 +00:00
Jason Penilla
9b4136a8b5
[ci skip] Fix param mismatch from last commit
2022-01-25 20:53:18 -07:00
Jason Penilla
2c861d2ae1
[ci skip] Update parameter mappings
2022-01-25 20:43:53 -07:00
Jake Potrebic
51cd82371b
Add STRUCTURE_TYPE registry entry ( #6400 )
2022-01-23 11:12:42 -08:00
Jake Potrebic
0c5c3e2248
More PotionEffectType API ( #5737 )
2022-01-23 10:42:38 -08:00
Jake Potrebic
68325f5385
Add configurable stronghold seed ( #7334 )
2022-01-23 06:26:22 -08:00
Owen1212055
a41671b4d9
Dolphin API ( #7102 )
2022-01-23 08:55:11 -05:00
Owen1212055
bd913382ae
Lock Frozen Ticks API ( #7207 )
2022-01-23 08:35:07 -05:00
MrPowerGamerBR
4e81f50798
[ci skip] Fix multiple ItemStack array nullability mistakes ( #7055 )
...
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2022-01-22 22:40:57 -03:00
Jake Potrebic
9c9ae4d774
Updated Upstream (Bukkit/CraftBukkit/Spigot) ( #7359 )
2022-01-22 16:59:56 -08:00
Kezz
ab498329b2
Fix NotePlayEvent ( #5180 )
2022-01-22 07:42:10 +00:00
Jake Potrebic
bb4bcf7746
Make tag presets unmodifiable ( #7378 )
2022-01-21 15:07:35 -08:00
Jan
8d5b76d0f7
Update ASM EventExecutor generator patch to respect event handler return types. Fixes #7311 ( #7317 )
...
Co-authored-by: Jan Boerman <janboerman95@gmail.com>
2022-01-20 20:54:57 +01:00
Brody Beckwith
7e6bb66f2a
Add Multi Block Change API ( #7333 )
2022-01-20 12:50:50 -05:00
Riley Park
44efb397fc
Deprecate log4j logger method in Plugin
2022-01-19 18:39:08 -08:00
Noah van der Aa
7b57dbf7c0
Offset spigot item optimizations instead of Mojang's ( #6290 )
2022-01-19 20:18:24 +01:00
Jake Potrebic
a5b67c2a4a
Fix setSpawnedItem from 1.18 update ( #7328 )
2022-01-18 19:09:04 -08:00
Jake Potrebic
07885d0bec
Fix setting unplaced furnace cook speed multiplier ( #7327 )
2022-01-18 11:33:37 -08:00
Jason Penilla
9b0f4a241c
Warn on strange @EventHandler return types ( #7372 )
2022-01-18 11:47:54 -07:00
Noah van der Aa
5fd56a9336
[ci skip] Fix incorrect javadoc for Mob pathfinding API ( #6842 )
2022-01-18 08:26:11 +01:00
Nassim Jahnke
642328f521
Push illegal char kick to main thread ( #7363 )
2022-01-18 08:16:36 +01:00