willkroboth
d3326235f0
Avoid potential place where the world map could be modified after its iterator is created ( #8315 )
2022-09-24 05:33:20 +01:00
Shane Freeder
3996e6ef29
Updated Upstream (Bukkit/CraftBukkit/Spigot)
...
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
Bukkit Changes:
c7c11188 SPIGOT-2620: Add Player#sendBlockChanges()
f63d2b44 Improve annotation test on parameters
3372e7b4 SPIGOT-1244, SPIGOT-6860, SPIGOT-6874: Various Javadoc and formatting fixes
a1e8a9ab PR-793: Ignore .checkstyle file generated by Eclipse IDE
CraftBukkit Changes:
c2c39089e SPIGOT-2620: Add Player#sendBlockChanges()
8209158db PR-1113: Ignore .checkstyle file generated by Eclipse IDE
Spigot Changes:
4aa5ead2 Rebuild patches
2022-09-24 02:38:12 +01:00
Jake Potrebic
f528f53e81
Correct javadocs on PlayerArmorStandManipulateEvent ( #7719 )
2022-09-23 06:55:02 +01:00
Lulu13022002
ec0c550482
Call BlockPhysicsEvent more often ( #8264 )
2022-09-23 06:35:15 +01:00
Lulu13022002
8681503d10
Call EntityChangeBlockEvent for frogs egg ( #8136 )
2022-09-23 06:32:32 +01:00
Shane Freeder
980c1d1f90
Updated Upstream (Bukkit/CraftBukkit) ( #8378 )
2022-09-23 06:08:43 +01:00
Jake Potrebic
9e614e6f9a
Fix ground pathfinding ( #7683 )
2022-09-20 14:06:11 -07:00
ChristopheG
8db45c4312
Copper clear on lightning strike calls EntityChangeBlockEvent ( #8126 )
2022-09-20 03:35:38 +01:00
Owen
ad3dffe715
Respect preventMovingIntoUnloadedChunks for optimized collision checking ( #8259 )
2022-09-20 03:02:52 +01:00
tahmid-23
f7e68091a0
Fix Pathfinding After World Has Changed ( #8068 )
2022-09-20 02:39:46 +01:00
Shane Freeder
dbc2d60ce0
Make WorldCreator#keepSpawnLoaded return the WorldCreator ( Fixes #8321 ) ( #8371 )
...
* Make WorldCreator#keepSpawnLoaded return the WorldCreator (Fixes #8321 )
Thought that I fixed this before push/merge, apparently not, hence, fix
the return type and add mitigation for this.
* Fix patch/build
* Rebuild patches
2022-09-20 01:28:22 +01:00
Shane Freeder
470c6388d2
Configurable chat thread limit ( #7878 )
2022-09-20 01:16:23 +01:00
Melncat
ea777c345b
Add a consumer parameter to ProjectileSource#launchProjectile ( #8374 )
...
Co-authored-by: MelnCat <melncatuwu@gmail.com>
2022-09-20 01:03:59 +01:00
Nex
63cb7472ac
Added byte array serialization/deserialization for PersistentDataContainers ( #7505 )
2022-09-18 05:06:53 +01:00
Lulu13022002
dbda887457
Missing some effect cause ( #8307 )
2022-09-18 04:46:20 +01:00
Lulu13022002
34777cdcbe
Missing eating regain reason ( #8244 )
2022-09-18 04:24:28 +01:00
Jake Potrebic
b826065a4b
fire EntityChangeBlockEvent in more places ( #6371 )
...
* fire EntityChangeBlockEvent in more places
* Rebuild patches
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
2022-09-18 04:03:54 +01:00
elmital
ef670ebafb
EndDragonFight killed statuses should be false for newly created worlds ( #8354 )
2022-09-18 02:44:06 +01:00
Peter Crawley
05f6a5c005
Limit size of Authenticator Cache Thread Pool ( #8360 )
2022-09-17 22:58:51 +01:00
Fruxz
f5f84ff476
Add custom destroyerIdentity parameter to the sendBlockBreak function ( #5840 )
2022-09-17 22:27:46 +01:00
Bjarne Koll
751d092af3
Properly close section storage managed files ( #8364 )
2022-09-17 19:50:01 +01:00
Shane Freeder
36f0c1b3cc
Rebuild patches
2022-09-17 04:35:39 +01:00
Jaren
267dd180b6
Stop large look changes from crashing the server ( #8326 )
2022-09-17 04:30:00 +01:00
karthanistyr
178f035aa7
Restore no-crash behaviour when read-only config file(s) ( #8318 )
2022-09-17 04:22:17 +01:00
Nassim Jahnke
ef0e5a642d
Updated Upstream (Bukkit/CraftBukkit/Spigot)
...
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
Bukkit Changes:
9ae3f10f SPIGOT-3842: Add Player#fireworkBoost() and expand Firework API
48c0c547 PR-786: Add methods to get sounds from entities
CraftBukkit Changes:
5cc9c022a SPIGOT-7152: Handle hand item changing during air interact event
4ffa1acf6 SPIGOT-7154: Players get kicked when interacting with a conversation
4daa21123 SPIGOT-3842: Add Player#fireworkBoost() and expand Firework API
e5d6a9bbf PR-1100: Add methods to get sounds from entities
b7e9f1c8b SPIGOT-7146: Reduce use of Material switch in ItemMeta
Spigot Changes:
4c157bb4 Rebuild patches
2022-09-12 13:31:45 +02:00
Jake Potrebic
51183af967
Fix console completer/highlighter having invalid source stack ( #8346 )
2022-09-09 14:25:54 -07:00
Jake Potrebic
e51401e764
Updated Upstream (Bukkit/CraftBukkit/Spigot) ( #8347 )
2022-09-09 11:54:00 -07:00
okx-code
36a5f150c5
Allow preventing BlockDestroyEvent from dropping items ( #8349 )
2022-09-08 17:13:50 +02:00
Spottedleaf
09904fd780
Re-add legacy getChunkAtAsynchronously to ChunkProviderServer
...
Apparently some plugins use it
2022-09-02 04:42:05 -07:00
Spottedleaf
e8c2c3bfda
Fix World#refreshChunk not working for chunks in no-tick range
...
The chunk would not be marked as ticking in this case, so
retrieving the ticking chunk would not work.
2022-09-01 15:39:24 -07:00
Spottedleaf
046466f3ba
Re-arrange most chunk system patches to front ( #8338 )
...
* Re-arrange most chunk system patches to front
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2022-09-01 09:51:59 -07:00
Spottedleaf
eff22eb054
Ensure players are removed from pendingLogin
...
Looks like they would not have been removed if they disconnected
during the chunk load, preventing the world from being unloaded.
2022-08-29 06:21:45 -07:00
Spottedleaf
aabf676721
Prevent unloading worlds with pending player logins
...
Logging into an unloaded world isn't going to end well.
This may fix the cases of people seeing errors about regionfiles
being closed, as loading chunks in an unloaded world will cause this
as the regionfile cache is closed but not cleared.
2022-08-26 22:20:27 -07:00
Nassim Jahnke
0bf8790c9c
Fix client lag spikes due to client light recalc
2022-08-25 12:59:08 +02:00
José Miguel Moreno
a76998d235
Fix plugin loggers on shutdown ( #5592 )
...
Potentially this should be merged back into the original logging changes patches
2022-08-21 03:57:17 +01:00
Nassim Jahnke
2da891fcfa
Updated Upstream (Bukkit/CraftBukkit)
...
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
Bukkit Changes:
0b32cbaa PR-782: ThrownPotion now extends ThrowableProjectile
474238ca SPIGOT-7138: Can't retrieve pixel color from map
CraftBukkit Changes:
cdef8fc72 PR-1097: CraftThrownPotion now extends CraftThrowableProjectile
419010b13 SPIGOT-7112: Mobs added 1.17 and after do not create an EntityTargetEvent properly
e71426201 SPIGOT-7079: Allays don't call EntityTargetEvent on ground items
f80adb8b9 SPIGOT-7138: Can't retrieve pixel color from map
2022-08-17 13:02:35 +02:00
petersv5
4ba43fe02a
Grant temporary immunity to hopper minecarts while actively pulling ( fixes #8281 ) ( #8282 )
...
Reduce the impact from EAR on hopper minecart based unloaders by making them immune to
EAR while pulling objects. The EAR is still active outside misc activation range when
the hopper minecart is idle, keeping lag low.
2022-08-14 19:41:15 +02:00
Nassim Jahnke
4516aedb43
More ThrownPotion API
2022-08-14 19:12:02 +02:00
Josh Roy
5bf259115c
Add NamespacedKey biome methods
...
Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com>
2022-08-14 13:09:10 -04:00
Nassim Jahnke
9592da1f84
Add method to get highest anger level of warden
2022-08-14 10:25:28 +02:00
Nassim Jahnke
0ddd20c6f7
Updated Upstream (CraftBukkit/Spigot)
...
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
CraftBukkit Changes:
ead719a65 SPIGOT-7136: Cancelling PlayerInteractEntityEvent with the Allay desyncs
8468e167e SPIGOT-7137: StructureGrowEvent isFromBonemeal and getPlayer have incorrect values
d45057c59 SPIGOT-7089: Crash when command blocks attempt to load worlds
Spigot Changes:
450dcaa8 Rebuild patches
2022-08-14 10:03:13 +02:00
Shane Freeder
3f0415b453
Use thread safe Random inside of ServerLoginPacketListenerImpl
...
Vanilla uses a Random instance which is not thread safe inside of the
constructor for ServerLoginPacketListenerImpl, this is an issue because
instances of that class are created on the network worker threads, which
means that there is a potential (which we have reports confirming) that
multiple users logging on could trip this
2022-08-11 14:38:45 +01:00
TheTuso
7e11afa426
Fix mad cursor addition via API ( #8276 )
2022-08-11 10:40:19 +02:00
Spottedleaf
2a74071bcb
Simple patch changes for chunk system
...
Major ones soon
2022-08-10 08:07:49 -07:00
Shane Freeder
2cab6963a7
Don't manually send ClientboundPlayerPositionPacket for refreshPlayer
...
in 1.19, mojang made it so that teleporations validate that an awaiting pos was
set in the server when teleporting, thus we need to ensure that this is set when
sending the player pos, otherwise the player will be kicked when the client sends
back the aknowledgement
2022-08-10 15:01:55 +01:00
Nassim Jahnke
954b3fb7d5
Send signature headers when chat event viewers are modified
...
Fixes #8275
2022-08-10 09:59:28 +02:00
Owen
22ad9eedec
Fix command pool submitting on shutdown ( #8272 )
2022-08-09 20:51:17 -07:00
Nassim Jahnke
e6f8284125
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)
c7e118b394
Update modern forwarding to v3 ( #8219 )
2022-08-08 16:25:41 +01:00
Owen
78b19f89a4
Separate Command Sending to Separate Thread Pool ( #8170 )
2022-08-08 12:32:17 +01:00
Josh Roy
a47301e40f
Fix Player#chat kicking all clients ( #8262 )
2022-08-08 09:31:10 +02:00
Jason
a15152e96a
Allow old behavior for CommandRegisteredEvent ( #8249 )
2022-08-06 16:22:51 -07:00
Jake Potrebic
bef2c9d005
1.19.2 ( #8250 )
2022-08-05 15:58:34 -07:00
Owen
69950d5a6a
Block Ticking API ( #7202 )
2022-08-03 23:14:04 +02:00
Jake Potrebic
ef42d2a575
Fix null profile key breaking nullability contracts for PlayerProfile API ( #8233 )
2022-08-03 22:46:33 +02:00
Spottedleaf
a817697e8a
Add async catcher to PlayerConnection internalTeleport
2022-08-03 12:59:54 -07:00
Nassim Jahnke
4a00cee9cc
Readd patch to remove invalid signature on login error
2022-08-03 15:25:11 +02:00
Jake Potrebic
7044a9c538
Leave a paper.yml.txt stub pointing to new location ( #8090 )
2022-08-02 13:24:57 -07:00
Nassim Jahnke
c032050ad8
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
e0486ae2cd
Fix suggest command message for brigadier syntax exceptions ( #8221 )
2022-08-02 09:51:21 +02:00
Nassim Jahnke
ceef4b9c09
Don't call AsyncTabCompleteEvent from netty IO thread ( #8218 )
2022-08-01 21:56:28 +02:00
Jake Potrebic
dd3e4e7bd6
Initial support for signed messages ( #8198 )
2022-08-01 12:34:55 -07:00
Nassim Jahnke
d60497ebf2
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
babffb5a46
Undeprecate and fix Boat#getBoatMaterial ( #8217 )
2022-08-01 23:02:23 +10:00
Jake Potrebic
1f0d70743e
Fix issues with CreeperIgniteEvent ( #7507 )
2022-07-31 10:14:54 -07:00
Owen
307778fc70
Collision API ( #6736 )
2022-07-31 17:30:34 +02:00
Owen
532dc51d5f
Add missing BlockFadeEvents ( #8171 )
2022-07-30 18:58:37 +02:00
Owen
6ecdbc09c2
Use Worldheight for Activation Ranges ( #8061 )
2022-07-30 18:47:35 +02:00
Owen
8a08b86f4b
Custom Chat Completions API ( #8212 )
2022-07-30 18:28:24 +02:00
Owen
65f0b2e2e4
Add more needed BlockStateListPopulator Methods ( #8021 )
2022-07-30 00:28:46 +01:00
Owen
b74c4d4587
Warn on plugins accessing faraway chunks ( #8208 )
2022-07-30 00:16:26 +01:00
Owen
b72eafc04d
Send block entities after destroy prediction ( #8053 )
2022-07-29 23:26:41 +01:00
Jake Potrebic
e5bbb56ac6
Added 1.19 kick event causes ( #8204 )
2022-07-29 09:31:02 -07:00
Nassim Jahnke
3b895f36fd
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
2acb479b41
[ci skip] Fix xray patch code style ( #8196 )
2022-07-28 10:30:32 +02:00
Jake Potrebic
4a4ee79cd6
Separate out chat and commands sent via API ( #8131 )
2022-07-27 19:07:26 -07:00
Nassim Jahnke
71544ab01f
Readd deobfuscation of chat executor stacktraces
2022-07-28 02:02:40 +02:00
Nassim Jahnke
c488d15359
Don't fire preview event for non-player senders
...
Fixes #8195
2022-07-28 01:59:19 +02:00
Nassim Jahnke
2184cd2252
Fix chat message api using overlay
2022-07-28 00:38:37 +02:00
Nassim Jahnke
d41ecbe5c3
Make it compie
2022-07-28 00:20:14 +02:00
Nassim Jahnke
cb6f029de9
More compile fixed
2022-07-28 00:10:27 +02:00
Nassim Jahnke
063e6b288c
Compile fixes
2022-07-28 00:04:27 +02:00
Jake Potrebic
64cb313386
some compile fixes
2022-07-27 15:00:14 -07:00
Nassim Jahnke
c8f3d9ee8c
More more more more more more more work
2022-07-27 23:50:05 +02:00
Nassim Jahnke
6b80b342d9
More more more more more more work
2022-07-27 23:32:15 +02:00
Nassim Jahnke
c7304035b6
More more more more work
2022-07-27 23:19:52 +02:00
Nassim Jahnke
aab40382a5
More more more more work
2022-07-27 22:55:55 +02:00
Nassim Jahnke
7a133678da
More more more work
2022-07-27 22:46:05 +02:00
Nassim Jahnke
50710fa684
More more work
2022-07-27 22:17:18 +02:00
Nassim Jahnke
08828fde02
More work
2022-07-27 21:49:24 +02:00
Nassim Jahnke
afb9e818fc
Fix timings diff
2022-07-27 21:22:02 +02:00
Nassim Jahnke
faafca851c
New work
2022-07-27 21:18:51 +02:00
Nassim Jahnke
734a43657a
Move patches over, start with first few
2022-07-27 20:52:03 +02:00
Nassim Jahnke
86f87ba400
Fix custom merchant trade event world reference
2022-07-25 19:21:31 +02:00
Nassim Jahnke
345a6a6205
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
22ac7d6817
Add internal netty pipeline events
2022-07-25 16:13:09 +02:00
Nassim Jahnke
b327e17634
Fix regenerate chunk method
2022-07-24 22:11:35 +02:00
Shane Freeder
46a9d2a4ac
Cache Component MOTDs
2022-07-23 02:56:50 +01:00
Jake Potrebic
1a8bea734a
Fix wrong world being passed into portal event ( #8174 )
2022-07-22 17:42:34 -07:00
Jake Potrebic
4952c04610
Don't use level random in entity constructors ( #8122 )
2022-07-22 16:42:13 -07:00
Jake Potrebic
0193a9db5d
Add EntityPortalReadyEvent ( #5619 )
2022-07-22 16:23:12 -07:00
Owen
5deafd1969
Teleportation API ( #6562 )
2022-07-22 20:36:43 +01:00
Jake Potrebic
52a60ad946
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
Jake Potrebic
d0e7fa4dc9
Updated Upstream (Bukkit) ( #8158 )
2022-07-21 20:53:04 +01:00
ChristopheG
73dca00ba5
Add yaw and pitch to CommandSourceStack#getBukkitLocation() ( #8167 )
2022-07-21 09:26:36 +02:00
Noah van der Aa
a76a1ab862
Make Biome implement Translatable ( #8161 )
2022-07-20 18:23:26 +02:00
Pedro
16ee379389
Add SpawnReason to Tadpoles spawned by Frogspawn ( #8165 )
2022-07-20 18:18:28 +02:00
Lulu13022002
bebfc79708
Call jump event for the beast ( #8100 )
2022-07-20 18:17:42 +02:00
Jake Potrebic
b7faa655cb
Fix update future return type ( #8120 )
2022-07-18 23:06:59 -07:00
Space Walker
384d63918c
Fix missing redstone event call with Eigencraft redstone ( #8148 )
2022-07-18 13:46:52 +02:00
stonar96
90836d0da6
1.19 Anti-Xray cleanup ( #8104 )
2022-07-18 12:30:31 +02:00
Pedro
036a09c300
Fix spigot config not using commands.spam-exclusions ( #8151 )
2022-07-17 18:37:39 +02:00
Space Walker
cd215af6eb
Fix #8138 ( #8139 )
2022-07-13 23:20:26 +02:00
Noah van der Aa
e4f21e3178
Move old user conversion down slightly ( fixes #8050 ) ( #8052 )
2022-07-12 22:13:27 +01:00
Jake Potrebic
b58063a949
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
e294802977
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
5ffeb70186
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
95ac8745f0
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 22:43:28 +01:00
Lulu13022002
c4782f50a3
Add xp orb spawn reason for frogs ( #8045 )
2022-07-07 22:38:12 +01:00
Jake Potrebic
6ea73e7d63
Fix Bee setFlower NPE ( #8107 )
2022-07-06 15:21:56 -07:00
Shane Freeder
a05e69b9fc
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 06:00:16 +01:00
Bjarne Koll
c879064bfe
Call EntityDropItemEvent for goats dropping horns ( #8094 )
2022-07-04 21:26:43 +02:00
Jake Potrebic
fbb11db9a5
Add missing EntityDropItemEvent calls ( #5674 )
2022-07-04 12:01:17 -07:00
Nassim Jahnke
385f313a8b
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
1e5d1db2b7
Call StructureGrowEvent for mangrove propagule ( #8023 )
2022-07-04 15:20:43 +01:00
Spottedleaf
d86fde5523
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
41647af74c
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
ed79fc947a
Add Player#getFishHook ( #7988 )
2022-07-03 12:24:29 -07:00
pop4959
9d0650ed60
Don't print component in resource pack rejection message ( #8084 )
2022-07-02 11:19:53 +02:00
Noah van der Aa
c029645443
Don't allow world unloading while ticking worlds ( fixes #8080 ) ( #8081 )
2022-07-01 18:14:50 +02:00
Space Walker
a22eb678af
update eigencraft patch ( #8076 )
2022-06-30 09:20:40 +02:00
Jason
1bd678c494
[ci skip] Scan built jars for bad method usages ( #8051 )
2022-06-27 15:41:59 -07:00
Jake Potrebic
37afe987d9
Fix CCE for SplashPotion and LingeringPotion spawning ( #7758 )
2022-06-25 14:21:47 -07:00
Owen
11bd74bc56
Use safe method for handling Files#createDirectories ( #7997 )
2022-06-25 22:40:28 +02:00
Jake Potrebic
e7036bb2d7
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
Space Walker
bdb6816960
Update Alternate Current to v1.4.0 ( #8028 )
2022-06-24 09:58:59 +02:00
Shane Freeder
147a2b7f54
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
4c9317c9fb
Use non-deprecated super ctor in PaperServerListPingEventImpl ( #8029 )
2022-06-21 17:54:52 +02:00
Nassim Jahnke
fb2c24b36d
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
ed9cf5ca08
Fix missing null check in ChunkGenerator#findNearestMapStructure
2022-06-20 15:01:29 +01:00
Spottedleaf
9797f081c2
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
b0eb4e0c74
Fix number parsing ( #8013 )
2022-06-17 11:28:18 -07:00
Jake Potrebic
e269a0a00b
Fix incorrect random nextLong to nextInt ( #8009 )
2022-06-17 09:00:17 +02:00
Shane Freeder
81f2eece54
[ci skip] rebuild patches
2022-06-17 06:10:23 +01:00
Jake Potrebic
dd613194ed
Couple fixes for command blocks ( #8004 )
2022-06-16 15:03:02 -07:00
Owen
f428887cc1
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 22:31:23 +01:00
Jake Potrebic
0ae78d381a
Fix advancement saving before reloads ( #8003 )
2022-06-16 21:59:53 +01:00
Noah van der Aa
0c1643c02c
Fix MC-252439 ( #7994 )
2022-06-16 20:23:36 +02:00
Owen
2dcfb2b11f
Nameable Banner API ( #7711 )
2022-06-16 04:54:54 +01:00
Owen
94ef34cd0f
Fix incorrect ansi code being used for bold ( #8000 )
...
Co-authored-by: BillyGalbreath <blake.galbreath@gmail.com>
2022-06-16 04:40:14 +01:00
Owen
17c1c6c3e7
Add missing important BlockStateListPopulator methods ( #7952 )
2022-06-15 18:30:58 +02:00
Jake Potrebic
4a48ed306d
Add option for strict advancement dimension checks ( #7954 )
2022-06-14 16:31:20 -07:00
chickeneer
e3042d2506
Fix the growth modifier for glowberries ( #7986 )
2022-06-14 23:37:14 +01:00
Dustin
48f7a1a9ef
Add WardenAngerChangeEvent ( #7943 )
2022-06-14 12:34:41 +02:00
Jake Potrebic
b844286f48
Fix command signs patch update ( #7976 )
2022-06-14 10:51:53 +02:00
Jake Potrebic
3d37b42a89
Couple config fixes ( #7975 )
2022-06-13 15:29:44 -07:00
froobynooby
8bae82db21
Use deserialised row keys in config tables ( #7962 )
2022-06-13 13:50:43 -07:00
Nassim Jahnke
bd097b4323
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
e4f5e1c9ab
Bump netty
2022-06-12 23:53:18 +01:00
Josh Roy
90050ffd54
Update Adventure to 4.11.0 and implement ComponentLogger ( #7937 )
2022-06-12 23:07:40 +02:00
Jake Potrebic
4797e3a945
Dont reassign the hiddenConfigs field in TimingsManager ( #7951 )
2022-06-12 10:29:27 -07:00
Nassim Jahnke
8b6f4dd482
Add paper-settings-directory cl argument ( #7949 )
2022-06-12 10:07:43 +02:00
Jake Potrebic
ee4916df7d
Fire kick event for out-of-order chat on main thread ( #7942 )
2022-06-11 18:11:18 -07:00
Shane Freeder
6c52b5e2c8
Ensure that Log4J is shutdown when stopping the server ( Fixes #7932 )
2022-06-12 01:59:24 +01:00
Shane Freeder
c044b14efd
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-12 01:49:04 +01:00
Jake Potrebic
9ad94dcbc4
Adjust config headers
2022-06-11 13:43:59 -07:00
Spottedleaf
dfc10448bb
Fix keep spawn loaded patch
...
Needs to be in blocks
2022-06-11 08:03:56 -07:00
Spottedleaf
46954ee75b
Don't explode on light data in the nether
...
It shouldn't be there but whatever
2022-06-11 08:03:56 -07:00
Nassim Jahnke
d7165b0d56
Fix some references to obfuscated code
2022-06-11 11:02:09 +02:00
Owen1212055
1ccff4f5d1
Readd mc-4 fix
2022-06-11 10:41:59 +02:00
Owen
c80df849c2
Readd remove vec allocations diff ( #7930 )
2022-06-11 10:30:20 +02:00
Spottedleaf
ee7d16111d
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
5a2973fd80
Correct dataconverter diff
...
Missed renames + game event listener walker stuff
2022-06-10 20:54:05 -07:00
Jake Potrebic
76f81aec25
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
99aa5f2fa5
Fixes parsing tags in selectors in command functions
...
Fixes #7928
2022-06-10 10:02:09 -07:00
Jake Potrebic
698b3152cf
Improve migration file errors ( #7929 )
2022-06-10 10:01:09 -07:00
Owen1212055
8bca9190a4
Remove unneeded patch
2022-06-10 16:15:38 +02:00
Owen
a8a01bbb52
port Significantly improve performance of the end generation ( #7919 )
2022-06-10 16:11:41 +02:00
Nassim Jahnke
cf384f5269
Don't print stacktrace when client with invalid signature logs in
2022-06-10 16:03:48 +02:00
Nassim Jahnke
9b6fb2fe71
Remove bad warning
2022-06-10 14:58:25 +02:00
Nassim Jahnke
07548192b1
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
Jake Potrebic
8141349df1
improve packet config serializer ( #7920 )
2022-06-10 10:45:41 +02:00
Jake Potrebic
dd6a8e9394
couple more migration issues
2022-06-09 22:03:37 -07:00
Jake Potrebic
02b5ec4c78
fix 2 more migration issues
2022-06-09 18:40:07 -07:00
Jake Potrebic
cfe3ad1b0f
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:55 -07:00
Owen
83e2a3582b
Fix light ( #7917 )
2022-06-10 02:09:55 +01:00
Jason Penilla
4a51a54896
Don't use deprecated permission message method
2022-06-09 17:03:05 -07:00
Nassim Jahnke
5ac29fcb93
Fix migration of packet limiter
2022-06-10 01:55:53 +02:00
Owen
d833c0c39a
Update starlight + read null light data ( #7912 )
2022-06-10 01:49:23 +02:00
Jason Penilla
ade44f39ce
Remove todo
2022-06-09 16:08:23 -07:00
Jason Penilla
0a21166a8b
Update player chunk loader patch, re-add ticket level propagator patch
2022-06-09 16:01:48 -07:00
Noah van der Aa
181a8479b5
Make slime spawn checks use tag again and rename config option ( #7910 )
2022-06-10 00:48:46 +02:00
Jake Potrebic
6249dd5ecb
remove more unused config options
2022-06-09 15:15:01 -07:00
Jake Potrebic
77de07a15d
fix more config migration issues
2022-06-09 15:03:02 -07:00
Jake Potrebic
e5ed99a29a
fix compile issue
2022-06-09 14:50:05 -07:00
Jake Potrebic
3f1c6a45da
move commands out of configuration
2022-06-09 14:44:20 -07:00
Shane Freeder
ad51c406d5
Fix don't lookup profiles for blank names patch
2022-06-09 22:37:33 +01:00
Nassim Jahnke
5052a4515e
Minor patch changes
2022-06-09 23:27:06 +02:00
Jake Potrebic
c946526ab1
minimessage conversion
2022-06-09 14:25:16 -07:00
Owen
c34a306393
Remove old config options ( #7908 )
2022-06-09 22:48:35 +02:00
Jake Potrebic
f27aa33aba
catch IAE from empty transformation builder
2022-06-09 13:06:08 -07:00
Owen
d9fcf39f65
Remove locname ( #7909 )
2022-06-09 12:56:21 -07:00
Jake Potrebic
2e68ecc289
more configuration fixes/changes
2022-06-09 12:51:29 -07:00
Owen
e47848f112
Correctly handle ElderGuardianAppearanceEvent canceling ( #7902 )
2022-06-09 21:04:10 +02:00
Noah van der Aa
84434e6ae9
Don't validate chunk before it's been run through DataConverter ( #7907 )
2022-06-09 17:39:02 +01:00
Nassim Jahnke
a3a0390e3b
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
d385af0e01
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
e1c2939c11
Update configurable feature seed patch
2022-06-09 13:16:00 +02:00
Nassim Jahnke
b26d590d0c
Fixes
...
Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
2022-06-09 11:57:19 +02:00
Nassim Jahnke
7be0194157
Readd dummy PaperConfig and PaperWorldConfig classes
2022-06-09 11:46:41 +02:00
Jason
d7cc306336
Update Optimise general POI access ( #7903 )
2022-06-09 11:37:28 +02:00
Jake Potrebic
172d260d67
Move to configurate for paper.yml ( #7609 )
2022-06-09 10:51:45 +02:00
Jake Potrebic
467a16642a
fallback to default locate logic if no API found
2022-06-08 13:42:54 -07:00
Noah van der Aa
9107753202
(1.19) Make timings link clickable ( #7897 )
2022-06-08 13:27:24 -07:00
Owen
cbb47cacdb
Add missing spawn eggs ( #7896 )
2022-06-08 13:25:47 -07:00
Nassim Jahnke
11c2705ac2
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
Owen
86c16504d6
Dont resent entity on art update ( #7887 )
2022-06-08 21:25:15 +02:00
Jake Potrebic
29e918948a
Fix structures issues/api ( #7895 )
2022-06-08 21:00:19 +02:00
Owen
a93aa05bf8
Wrap NBTOps in RegistryOps ( #7892 )
2022-06-08 20:25:39 +02:00
Jake Potrebic
e24a25097a
correct patch description
2022-06-08 11:06:52 -07:00
Nassim Jahnke
897cc27c8b
Remove no longer needed patch
2022-06-08 20:06:04 +02:00
Nassim Jahnke
d1e1217a01
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
44ccc15a30
Port Fix missing chunks due to integer overflow to 1.19 ( #7891 )
2022-06-08 19:39:07 +02:00
Nassim Jahnke
4c1b338e0f
Remove level propagator patch for now
2022-06-08 19:33:07 +02:00
Space Walker
bd134f856b
Update Alternate Current patch ( #7890 )
2022-06-08 19:29:34 +02:00
Owen
222391f809
Check if is light status or above / isLightOn / starlight version fits ( #7888 )
2022-06-08 18:32:49 +02:00
Nassim Jahnke
b3b63d3a02
Fix tests (again?)
2022-06-08 18:18:49 +02:00
Nassim Jahnke
57dfcdf4eb
Reorder some patches
2022-06-08 18:13:02 +02:00
Owen
a02874e014
Remove painting desync ( #7886 )
2022-06-08 17:45:54 +02:00
MiniDigger | Martin
8399e10c43
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
02804a49a2
Fix tests
2022-06-08 17:31:27 +02:00
Jake Potrebic
7a165c9c5d
Add back fix swamp hut deadlock patch
2022-06-08 07:58:57 -07:00
Nassim Jahnke
a6bc17b8bb
IT COMPILES BOIS
2022-06-08 16:51:37 +02:00
Nassim Jahnke
913d2ae0b8
Fix
2022-06-08 16:46:39 +02:00
Jake Potrebic
9ab6893183
Add back Fix locateNearestStructure patch
2022-06-08 07:46:01 -07:00
Jake Potrebic
d5216d8588
Add back Fix NotePlayEvent patch
2022-06-08 07:36:43 -07:00
Jake Potrebic
af4b5ee4f0
add back removed kelp modifier patch
2022-06-08 07:29:32 -07:00
Nassim Jahnke
1d5b298c19
More compilation error fixes
2022-06-08 16:24:55 +02:00
Nassim Jahnke
b561fd8b25
Compilation error fixes
2022-06-08 15:59:48 +02:00
Owen
7ece9454f7
Use biome source method to prevent loading chunks ( #7885 )
2022-06-08 15:57:04 +02:00
Noah van der Aa
b1f5e70075
Moar 1.19 fixes ( #7884 )
2022-06-08 15:38:56 +02:00
Nassim Jahnke
55d7f562b8
More more more more more more more more more more more patches
2022-06-08 15:36:56 +02:00
Nassim Jahnke
beab8a32c1
More more more more more more more more more more patches
2022-06-08 15:12:28 +02:00
Owen
2259098789
Misc fixes ( #7883 )
2022-06-08 15:03:33 +02:00
Nassim Jahnke
301cf577c2
More more more more more more more more more patches
2022-06-08 14:33:46 +02:00
MiniDigger | Martin
391e65f1af
more misc compile fixes
2022-06-08 14:19:54 +02:00
MiniDigger | Martin
2f0b2b93df
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
d28b20944b
Things, and Starlight (maybe)
2022-06-08 13:44:30 +02:00
Nassim Jahnke
8d5407b16f
Things, and DataConverter (maybe)
2022-06-08 13:12:14 +02:00
Nassim Jahnke
82f712c096
More more more more more more more more patches
2022-06-08 12:40:44 +02:00
Nassim Jahnke
f0e575f445
More more more more more more more patches
2022-06-08 12:20:57 +02:00
Nassim Jahnke
0e06c77264
More more more more more more patches
2022-06-08 11:31:06 +02:00
Noah van der Aa
b464e02ba4
Misc. 1.19 fixes ( #7881 )
2022-06-08 10:45:59 +02:00
Jake Potrebic
cc7979a6e0
bale o' patches
2022-06-08 01:00:56 -07:00
Jake Potrebic
aabbfcdf8d
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
a1d0432c2c
batch o' patches
2022-06-08 00:40:34 -07:00
Jake Potrebic
89c3c31af9
bag o' patches
2022-06-08 00:30:41 -07:00
Jake Potrebic
feca8d248c
bouquet o' patches
2022-06-07 23:25:32 -07:00
Jake Potrebic
2304bb3d6f
bundle o' patches
2022-06-07 23:06:17 -07:00
Jake Potrebic
0745f97bb5
bunch o' patches
2022-06-07 22:46:52 -07:00
Jake Potrebic
dc12a6e9fe
a bunch more patches done
2022-06-07 22:02:19 -07:00
Jake Potrebic
c3fc3de622
even moar patches
2022-06-07 21:39:43 -07:00
Jake Potrebic
f04e64dfc6
moar patches
2022-06-07 21:22:42 -07:00
Spottedleaf
f371b4e374
<3 jmp
2022-06-07 21:07:14 -07:00
Jake Potrebic
c5db5371bf
Fix more issues
2022-06-07 20:59:40 -07:00
Spottedleaf
7bbeef26ba
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:42:55 -07:00
Jake Potrebic
d41a026555
few more server decompile fixes
2022-06-07 20:12:24 -07:00
Spottedleaf
26ea0402d8
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
a27b508dea
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:34:11 -07:00
Jake Potrebic
68b585fba7
Fix cook speed patch
2022-06-07 18:19:35 -07:00
Jake Potrebic
a16970ac1b
Fix CanPlaceOn/CanDestroy API issues
2022-06-07 18:13:05 -07:00
Spottedleaf
c515eb9a08
rebuild after rebase
2022-06-07 17:43:52 -07:00
Spottedleaf
32c195bd4f
i love jmp
2022-06-07 17:43:03 -07:00
Spottedleaf
87ca0fa790
hate jmp and his gradle
2022-06-07 17:43:03 -07:00
Jake Potrebic
3a0b9487d4
temporary fixes for adventure chat
2022-06-07 16:49:14 -07:00
Owen1212055
58133bdfdf
Update PreCreatureSpawnEvent patch
2022-06-07 23:54:21 +02:00
Jake Potrebic
4e13355af1
some server compile fixes
2022-06-07 14:48:14 -07:00
Nassim Jahnke
addf9c9155
More more more more more patches
2022-06-07 23:45:11 +02:00
Jake Potrebic
7d7779a667
Fix even more errors
2022-06-07 14:15:14 -07:00
Jake Potrebic
3773770230
Fix more errors
2022-06-07 14:01:17 -07:00
Nassim Jahnke
aac58bb772
More more more more patches
2022-06-07 22:45:38 +02:00
Jake Potrebic
c321ca57db
fix unmerged diff
2022-06-07 13:43:05 -07:00
Nassim Jahnke
cac4deb882
More more more patches
2022-06-07 22:12:48 +02:00
Nassim Jahnke
1669c6b097
More more patches
2022-06-07 21:55:39 +02:00
Nassim Jahnke
2710efc693
More patches
2022-06-07 21:15:06 +02:00
Nassim Jahnke
a9c507310b
First server patches
2022-06-07 20:43:28 +02:00
Nassim Jahnke
cb05aa6b8b
Prepare for 1.19 dev
2022-06-07 18:52:56 +02:00
Joseph Burton
276d830d22
Fix campfire walker in V1920
2022-06-06 17:51:12 -07:00
Jake Potrebic
4b27254e6a
Fix treasure maps discovered settings ( #7627 )
2022-06-05 17:17:27 -07:00
Joseph Burton
d8ef841114
[DataConverter] Fix generator options parsing
2022-06-05 22:49:42 +01:00
Jake Potrebic
b3deb2589e
Move some methods to RegionAccessor ( #7635 )
2022-06-05 13:51:44 -07:00
Nassim Jahnke
5befb5586e
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
5b6397af2c
Make leave messages for kicks the same as for quitting ( #7874 )
2022-06-05 08:43:35 +01:00
Jake Potrebic
071a4a2444
throw exception if worlds are created while being ticked ( #7653 )
2022-06-04 14:48:24 -07:00
Nassim Jahnke
bed5cb2b81
Limit resolved selectors when enabled
2022-06-03 16:06:05 +02:00
Jake Potrebic
8fc0999b09
Fix some nullability things ( #7275 )
2022-06-02 21:42:00 -07:00
Jake Potrebic
a3ad720749
Remove ChatColor usages ( #7543 )
2022-06-02 21:26:56 -07:00
Nassim Jahnke
1d08ce8583
Disable book selector resolving by default
2022-06-02 20:40:24 +02:00
Owen
b1ac25fdb8
Respect x-ray permission in World#refreshChunk ( #7214 )
...
Co-authored-by: stonar96 <minecraft.stonar96@gmail.com>
2022-06-02 03:08:51 +01:00
Emily
71fe3c64f0
Add numeric string completion suggestions as int suggestions ( #6360 )
2022-06-02 02:56:24 +01:00
Owen
c5caee307e
Prevent entity loading causing async lookups ( #7553 )
2022-06-02 02:35:57 +01:00
Jake Potrebic
2d17a50b8b
Add translation keys to GameMode enum ( #7081 )
2022-06-01 18:30:29 -07:00
Owen
7602dd2014
Sanitize Sent BlockEntity NBT ( #7010 )
2022-06-02 02:27:36 +01:00
Jake Potrebic
00c6ae8419
Implement Translatable on CreativeCategory ( #7587 )
2022-06-01 17:07:10 -07:00
PureGero
04e1b070ef
Check HAProxyMessage type is PROXY ( #7864 )
2022-06-01 22:58:22 +01:00
Jake Potrebic
78e6431008
Add default kick msg component ( #6886 )
2022-05-31 23:20:12 -07:00
Jake Potrebic
f210f67c4a
Update the rewriteForIde for new cb package version ( #7242 )
2022-05-30 22:18:45 -07:00
Jake Potrebic
6b035fd9a1
Update default vanilla command perms ( #7386 )
2022-05-30 21:57:32 -07:00
Jake Potrebic
f7382f5f4b
Remove unneeded UOE when copying biome sources ( #7629 )
2022-05-30 19:35:46 -07:00
Jake Potrebic
c123915afc
Fix FurnaceInventory for smokers and blast furnaces ( #7249 )
2022-05-30 19:03:18 -07:00
Jake Potrebic
9667181d1d
Fix OfflinePlayer#getBedSpawnLocation ( #7861 )
2022-05-30 18:42:51 -07:00
Jason
af3b3778f6
Update ForgeFlower ( #7857 )
2022-05-29 12:54:25 -07:00
Jake Potrebic
3f7fbe316d
Fix cb's janky level name in WorldCreator ( #7851 )
2022-05-27 16:42:36 +01:00
Jake Potrebic
b6a6544ad1
Provide ComponentSerializer services ( #7527 )
2022-05-26 12:12:14 -07:00
Jake Potrebic
182a609b85
Fix duplicate world keys via createWorld ( #7614 )
2022-05-26 10:59:53 -07:00
Jake Potrebic
79e07f34ac
Fix addPassenger for Marker ( #7762 )
2022-05-25 18:00:47 -07:00
Jake Potrebic
a90092e758
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 21:21:51 +02:00
PanSzelescik
31ccc579b5
Add support for Proxy Protocol ( #7710 )
2022-05-24 05:56:58 +01:00
rgnter
d8108b5416
team color parameter may be null, causing NPE
2022-05-24 05:27:24 +01:00
Jake Potrebic
123cad5d3e
Remove incorrect parent perm from debugstick.always ( #7846 )
2022-05-24 05:09:20 +01:00
Noah van der Aa
ed4e9163ef
[ci-skip] Update repository and API urls ( #7835 )
2022-05-20 08:12:30 -07:00
Noah van der Aa
ca623865b0
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
73bd35d076
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
0116751101
List world on tile entity placement exception ( #7709 )
2022-05-16 11:38:14 +01:00
Jake Potrebic
9fd870db0b
Fix cancelling PlayerItemFrameChangeEvent ( #7761 )
2022-05-09 17:22:57 -07:00
Jake Potrebic
5928327f90
Remove unneeded patch ( #7806 )
2022-05-09 20:22:43 +02:00
Nassim Jahnke
18f0f8d1ca
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
268476bba3
Fix whitespace error in Alternate Current patch
2022-05-08 09:25:34 -07:00
Spottedleaf
e399754320
Do not accept invalid client settings
2022-05-07 14:59:20 -07:00
Jake Potrebic
87d2eb2d3b
Fix door breaking difficulty defaults for vindicator ( #7795 )
2022-05-07 11:38:15 -07:00
Nassim Jahnke
1a17a83f8a
Move redstone config changes to Eigencraft patch
2022-05-07 19:52:32 +02:00
Space Walker
7a6163b41d
Add Alternate Current's redstone implementation as an alternative to Vanilla and Eigencraft's. ( #7701 )
2022-05-07 18:47:28 +02:00
Spottedleaf
b831784aed
Only log for passenger / vehicle world mismatch
...
Exception thrown may corrupt passenger/vehicle state
2022-05-07 08:48:29 -07:00
Pedro
8c9d98e100
Clean unused field for Configurable door breaking difficulty ( #7793 )
2022-05-07 06:57:41 +01:00
Pedro
2515bc4751
Improve configurable door difficulty ( #6985 )
2022-05-06 17:52:14 +02:00
Noah van der Aa
421938915c
Don't tick markers ( #7299 )
2022-05-06 17:33:07 +02:00
Owen
f3a8a0b953
FallingBlock auto expire setting ( #7037 )
2022-05-06 17:21:24 +02:00
u9g
a117da6b26
Add PlayerStopUsingItemEvent ( #7787 )
2022-05-06 17:14:06 +02:00
Noah van der Aa
2ab0258b5a
Use mojang item ids for alternative item despawn rate ( #6997 )
2022-05-04 23:29:15 +01:00
Jake Potrebic
e5da93a608
Deprecate duplicate SoundGroup API ( #7509 )
2022-04-30 13:44:22 -07:00
Jake Potrebic
e564110f9e
Couple fixes/improvements to PlayerSetSpawnEvent ( #6754 )
2022-04-30 13:24:47 -07:00
Shane Freeder
4166632333
Updated Upstream (Bukkit/CraftBukkit) ( #7776 )
2022-04-30 17:27:41 +01:00
Shane Freeder
608482d512
cleanup filtered sign text ( #7777 )
2022-04-30 16:49:57 +01:00
Jason Penilla
6f5e6c60d3
Use setMessage instead of arraycopy
...
setMessage affects messages, filteredMessage, and renderMessages, we were only doing an arraycopy for messages
fixes #7774
2022-04-28 20:08:08 -07:00
Joseph Burton
ce059b4f99
Fix V1451 dataconverter stat types
2022-04-25 18:06:04 +02:00
Jake Potrebic
d70ac039e8
fix powder snow cauldrons not turning to water ( #7229 )
2022-04-24 11:35:24 -07:00
Jake Potrebic
0bf7c95c8d
Fix opening inv in PlayerRecipeBookClickEvent handler ( #7552 )
2022-04-23 18:48:00 -07:00
Jake Potrebic
4dc78ae8b9
Fix some team color docs and added hasColor ( #7602 )
2022-04-23 18:37:10 -07:00
Jake Potrebic
5b85ee37e2
Fire CauldronLevelChange on initial fill ( #7678 )
2022-04-23 13:40:34 -07:00
Jake Potrebic
fbbc03a740
Add EntityDyeEvent and CollarColorable interface ( #7625 )
2022-04-23 12:38:42 -07:00
Jake Potrebic
16f224a79a
Trigger bee_nest_destroyed trigger in the correct place ( #7436 )
2022-04-22 18:17:14 -07:00
Jake Potrebic
0f8aa4e6fd
Fix NPE for BlockDataMeta#getBlockData ( #7670 )
2022-04-22 17:21:38 -07:00
Bjarne Koll
ef6a1a5f99
Revert to old createProfile(UUID, String) logic ( #7723 )
2022-04-22 19:54:08 +01:00
Jason
567fce6c76
Don't apply previous potion when item is potion ( fixes #7756 ) ( #7757 )
2022-04-21 17:07:56 -07:00
petersv5
76ed156764
Grant temporary immunity from EAR to moving entities ( Fixes #7637 ) ( #7644 )
...
Co-authored-by: Peter Svensson <petersv@psv.nu>
2022-04-20 10:34:00 +01:00
Shane Freeder
4ecc338e09
WorldCreator#keepSpawnLoaded ( #7673 )
2022-04-20 10:26:09 +01:00
Noah van der Aa
86fb3d201d
Don't send itemmeta for books with the hide option enabled ( #7734 )
2022-04-18 12:23:37 +02:00
HexedHero
c66b0f99f2
Add pre-unbreaking amount to PlayerItemDamageEvent ( #7724 )
2022-04-18 11:51:45 +02:00
Owen
8bfb1d22f8
Pass ServerLevel for gamerule callbacks ( #7668 )
2022-04-18 11:46:21 +02:00
Nassim Jahnke
6b9f7a073e
Don't fire worldborder events for virtual borders ( #7749 )
...
Fixes #7748
2022-04-18 11:26:18 +02:00
Jake Potrebic
af943641e2
Fix slime spawners not spawning outside slime chunks ( #7741 )
2022-04-16 11:32:20 -07:00
Nassim Jahnke
1cfd363d32
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
c6e631aacb
Use username instead of display name in PlayerList#getPlayerStats ( #7740 )
2022-04-15 15:23:10 -07:00
Jason
a9f252e56a
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
d4a712d957
[CI-SKIP] Remove unused import from last patch
2022-04-13 09:15:28 +01:00
Shane Freeder
a9ee1046a5
Prevent tile entity copies loading chunks
2022-04-13 08:27:16 +01:00
Jason Penilla
e42d683d75
Fix StructureGrowEvent species for RED_MUSHROOM
2022-04-12 16:40:30 -07:00
Owen
f8e8d6c3cd
Strip enderpearl owners when they are no longer ticked ( #7559 )
2022-04-08 01:52:25 +01:00
Nassim Jahnke
2f16393ad9
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:56:36 +02:00
Etil
11e0dcdf86
Fix NBT pieces overriding a block entity during worldgen deadlock ( #7692 )
2022-04-07 10:42:20 +02:00
Pedro
29144573e6
Allow seting custom podium location for ender dragon ( #7695 )
2022-04-07 10:31:30 +02:00
Jason Penilla
820e9ca70b
Update decompiler & param mappings
2022-04-05 10:37:36 -07:00
Jake Potrebic
87e11bf7fd
Cache resource keys instead of trying to create them ( #7643 )
2022-04-02 18:10:13 -07:00
Nassim Jahnke
ea2c81e4b9
Fix lectern quick move
2022-04-02 09:15:39 +02:00
Spottedleaf
7bf9446d9e
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:33:13 -07:00
Jake Potrebic
7f47b9b7f8
Remove KeyedObject interface ( #7680 )
2022-03-30 13:28:38 -07:00
Jake Potrebic
d3c102373f
fix player loottables running when mob loot gamerule is false ( #7651 )
2022-03-29 13:15:26 -07:00
Owen
fa68bb1e81
Fix entity position desync for hanging entities ( #7659 )
2022-03-29 10:42:46 +02:00
Jake Potrebic
7fa8870043
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 10:32:18 +02:00
Jason
e2f743d914
Fix PalettedContainer synchronization ( #7663 )
2022-03-27 10:51:39 -07:00
SoSeDiK
e7d928a8e1
Fix EntityChangeBlockEvent#getBlockData for when sheep eats grass block ( #7646 )
2022-03-21 11:43:52 -07:00
Jake Potrebic
a939d6e08e
Fix generator settings string for flat-type worlds ( #7568 )
2022-03-21 11:06:26 -07:00
Owen
993f8288fa
Add TameableDeathMessageEvent ( #5392 )
2022-03-20 00:50:33 +00:00
Owen
a686ff5670
Add more missing entity API ( #7592 )
2022-03-19 15:30:16 +01:00
Bjarne Koll
7b46444bea
Properly create profiles with custom name/uuid ( #7558 )
2022-03-19 14:39:38 +01:00
Shane Freeder
5eb61dd432
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:35:56 +00:00
Jake Potrebic
855637f967
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 10:33:49 +01:00
Jason Penilla
bc68ee09be
Remove redundant GameProfileCache diff
2022-03-17 21:21:01 -07:00
Jason Penilla
319d5fa29f
Fix state locking for getTopMRUProfiles & getProfileIfCached
...
Also add missing last access update in getProfileIfCached
2022-03-17 21:21:01 -07:00
Philip Kelley
2eeca6f108
Fix world saving in unloadWorld
2022-03-17 13:24:02 +01:00
Jason
8897cea0b0
Add enchantWithLevels API ( #7615 )
2022-03-17 09:51:43 +01:00
Jake Potrebic
b8c90d2428
Added method to check snapshot state of TileStates ( #7325 )
2022-03-16 18:28:06 -07:00
Jake Potrebic
8788bf7441
fix datapacks not being able to modify nether/end ( #7588 )
2022-03-16 17:54:52 -07:00
Jason
f0d0078deb
Add debug for invalid GameProfiles on skull blocks/items ( #7512 )
2022-03-16 13:34:09 -07:00
Jake Potrebic
1c5f8b0fce
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 16:57:51 +01:00
Nassim Jahnke
f35a0ceb93
Remove Java version check once and for all ( #7612 )
...
Closes #7611
2022-03-16 14:10:32 +01:00
Bjarne Koll
2d3e8f7729
Properly lookup random-ticked precipitation blocks ( #7606 )
2022-03-15 19:44:25 +01:00
Jason
0ca80c7ee8
Add getComputedBiome API ( #5668 )
2022-03-15 11:38:36 -07:00
Spottedleaf
a5be178ac3
Use correct toX/Y/Z in player move packet handling
2022-03-14 12:44:36 -07:00
Owen
c8e49cc53e
Add get/set wait time for fish hooks. ( #5595 )
2022-03-13 22:33:01 +00:00
Nassim Jahnke
1358d1e914
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
ab03538fa1
Fix colors in some console messages
2022-03-12 18:47:04 -07:00
Jake Potrebic
87927e176c
Fix CreativeCategory API ( #7586 )
2022-03-12 15:32:42 -08:00
Jason
bfa33d955c
Various improvements to console color formatting ( #7560 )
2022-03-12 14:31:21 -07:00
Owen
dc96bba6de
Ensure the item sent isn't air ( #7584 )
2022-03-12 21:34:03 +01:00
Spottedleaf
aab1f8a74e
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
Owen
ea1efef116
Remove Patches ( #7541 )
2022-03-11 21:13:46 +01:00
Owen
1790528a61
More projectile API ( #5731 )
2022-03-11 17:37:08 +01:00
Nassim Jahnke
d714682f8f
Add more entity api ( #7564 )
2022-03-11 15:24:45 +01:00
Owen
657d163740
Prevent despawned navigators being readded ( #7574 )
2022-03-11 02:39:11 +00:00
Noah van der Aa
4423e1221a
Update docs link in paper.yml ( #7562 )
2022-03-09 10:10:53 +01:00
froobynooby
7a21333019
Fix setting the view distance to 32 ( #7503 )
2022-03-09 10:09:20 +01:00
Max Lee
718fab1f6b
Add CPU name and JVM vendor info in timings ( #7490 )
2022-03-09 10:06:58 +01:00
Nassim Jahnke
c34fb0942a
Add ghast api ( #7554 )
2022-03-06 22:20:38 +01:00
Jake Potrebic
d9bf5e740b
Add method to set noclip on arrows ( #7263 )
2022-03-06 22:19:08 +01:00
Nassim Jahnke
7b9c30fb82
Fix scoreboard objective name length limit
2022-03-06 16:32:33 +01:00
Nassim Jahnke
a36d7f6427
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
1e12cf8db6
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
196271de4e
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
6564f70f4c
Fix cancelling ProjectileHitEvent for piercing arrows ( #7492 )
2022-03-05 21:45:57 +01:00
Owen
935151388a
Fix handling message in PlayerHandshakeEvent ( #7542 )
2022-03-05 20:20:52 +00:00
Pheotis
f9b05cc3f1
Expose furnace minecart push property. ( #7548 )
2022-03-05 21:15:24 +01:00
Spottedleaf
1d7a6a0732
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
42a9c3789d
Move Adventure patch up
2022-03-04 13:45:31 -08:00
Nassim Jahnke
b6616c8a18
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
Noah van der Aa
63aa4d3319
Clarify exception messages for invalid view distances ( #7510 )
2022-03-04 11:23:28 +01:00
Nassim Jahnke
719daa8bbf
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
c09365aeac
Fix deadlock on watchdog crash ( #7535 )
2022-03-04 09:26:22 +01:00
Jake Potrebic
15b6b3db2c
Add StructuresLocateEvent as replacement for StructureLocateEvent ( #7524 )
2022-03-04 09:09:43 +01:00
Jake Potrebic
d33cdcf2e6
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
90788a556c
clean up prepareTickingChunk diff
2022-03-02 11:24:32 -07:00
Shane Freeder
12d89fe5ae
Revert chunk postprocessing back to 1.18.1 logic
2022-03-02 18:08:10 +00:00
Shane Freeder
c6ea84c7fa
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
d3caeeb6c2
Fix early registry access in xray patch
2022-03-02 10:28:32 +01:00
Nassim Jahnke
b1afebbd52
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
178802ab94
Fix various 1.18.2 update issues ( #7523 )
2022-03-01 14:40:34 -08:00
Jason Penilla
0859f59469
1_18_R2
2022-03-01 00:10:23 -07:00
Jason Penilla
126ca7376e
Add TODO for leaf
2022-02-28 22:52:40 -07:00
Jason Penilla
b9037a5c7d
fix issue resulting from kenny's apatch addiction
2022-02-28 22:52:40 -07:00
Jake Potrebic
cc45a355a4
move decompile fixes to start of git history
2022-02-28 22:52:39 -07:00
Jake Potrebic
5071d50207
clean up view distance api diff
2022-02-28 22:52:39 -07:00
Jake Potrebic
3526f22211
move patch relying on TraceUtil to after its creation
2022-02-28 22:52:39 -07:00
Jake Potrebic
fbe43d6a1d
clean up patch changes
2022-02-28 22:52:39 -07:00
Spottedleaf
c6fc144ba0
Fix unload stall
...
Also added required tickets that should not be removed during
shutdown
2022-02-28 22:52:39 -07:00
Jason Penilla
37436ac61a
Move comment up
2022-02-28 22:52:38 -07:00
Riley Park
9a73213f88
Adventure 4.10.0
2022-02-28 22:52:38 -07:00
Jake Potrebic
9da236fe6a
re-add config for stronghold seed patch
2022-02-28 22:52:38 -07:00
Jake Potrebic
490517d31e
fixed flat bedrock patch
2022-02-28 22:52:38 -07:00
Nassim Jahnke
c98499113f
Fix mc dev fix by removing it
2022-02-28 22:52:38 -07:00
Nassim Jahnke
706c98a603
Update Datafixer
2022-02-28 22:52:37 -07:00
Jake Potrebic
f4eb08a477
Readd 'Fix entity type tags suggestions in selectors'
2022-02-28 22:52:37 -07:00
Jake Potrebic
19f9520b3a
1.18.2 compiles successfuly now
2022-02-28 22:52:37 -07:00
Jake Potrebic
60af9b0cb3
moar fixes
2022-02-28 22:52:37 -07:00
Nassim Jahnke
12efc3fcf5
Fixes
2022-02-28 22:52:36 -07:00
Nassim Jahnke
c2e2281f29
Initial 1.18 update
2022-02-28 22:52:35 -07:00
Shane Freeder
30cb7d0407
ignore excessive vel for Minecarts ( Fixes #7515 )
2022-02-28 15:31:41 +00:00
Spottedleaf
7f65b0b589
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
bfa50ad5b3
Custom Potion Mixes ( #6744 )
2022-02-22 19:09:15 -08:00
Jake Potrebic
2a55e35124
Option to have default CustomSpawners in custom worlds ( #7493 )
2022-02-23 02:44:06 +00:00
Owen
b6dad9c903
Fix desync on teleporting entity on first tick ( #7183 )
2022-02-23 02:20:29 +00:00
Jake Potrebic
501834e57a
Fix custom inventory holders ( #6199 )
2022-02-22 15:00:45 -08:00
Spottedleaf
db811631ae
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
854f3d35c1
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
cdb893bb9e
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
9cab01ed1d
[ci skip] Update Gradle wrapper to 7.4
2022-02-21 13:44:17 -07:00
Jake Potrebic
b757019dc5
Add missing block data mins and maxes ( #6790 )
2022-02-20 13:58:31 -08:00
Jake Potrebic
392acfdaa4
Configurable sculk sensor listener range ( #6443 )
2022-02-20 13:44:14 -08:00
Jake Potrebic
36a1650dbf
Furnace RecipesUsed API ( #7399 )
2022-02-19 14:00:33 -08:00
Jake Potrebic
5bb4549f48
Fix entity armor not showing on death animation ( #7355 )
2022-02-18 10:16:41 -08:00
Spottedleaf
286bd1bfb5
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
b173c3ee2c
Use access transformers for player profile API ( #7468 )
2022-02-18 09:30:37 -08:00
Jake Potrebic
f5b9e07a2a
Add GameEvent tags ( #6439 )
2022-02-17 18:42:22 -08:00
Nassim Jahnke
c50fc3a026
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
a8f2d67491
- 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:50:27 -07:00
Noah van der Aa
e6898ff61e
Fix IllegalArgumentException for /paper mobcaps command ( #7472 )
2022-02-12 19:02:14 +00:00
Nassim Jahnke
92c777d393
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
Jake Potrebic
3d91ecac51
Fix cancelled snow bucket placement ( #6751 )
2022-02-12 14:56:27 +01:00
Jake Potrebic
2c4a5892ec
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 14:51:13 +01:00
Jake Potrebic
2c8d48c555
Make Panda implement Sittable ( #7414 )
2022-02-12 14:36:41 +01:00
IzzelAliz
4a745f9163
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 14:28:41 +01:00
Nassim Jahnke
26734e83b0
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
00da0989f3
Log exceptions thrown during chat processing ( #7467 )
2022-02-11 19:42:12 -07:00
Nassim Jahnke
0cc2503b88
Implement World#regenerateChunk ( #7425 )
...
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2022-02-05 20:47:11 +01:00
PureGero
6df46412cf
Use destination world when preloading spawn chunk ( #7441 )
2022-02-04 09:30:13 +01:00
Jason
46ed080d3b
fix portal linking in upgraded chunks ( fixes #7419 ) ( #7438 )
2022-02-03 12:28:39 -07:00
Jason
9940bcabcc
API for creating command sender which forwards feedback ( #7432 )
2022-02-02 19:44:57 -07:00
Nassim Jahnke
f23c03955b
Fix infinite recursion in spawnCategoryForChunk/Position
2022-02-02 21:57:11 +01:00
Spottedleaf
2ec04e0938
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
2121aed33d
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
f79c0daece
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
17eb8845f3
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
Jake Potrebic
3109dd87ee
Updated Upstream (Bukkit/CraftBukkit) ( #7428 )
2022-01-31 15:56:54 -08:00
Noah van der Aa
2e99e5e677
Updated Upstream (Bukkit/CraftBukkit) ( #7411 )
...
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:
af88996a SPIGOT-6890: Add repair cost amount in AnvilInventory
bc7bd363 PR-716: Fix scheduler javadocs (previously, the <b> tag broke the rendering)
6db1ab70 Improve item cooldown JavaDocs
CraftBukkit Changes:
13670b44 SPIGOT-6890: Add repair cost amount in AnvilInventory
0d109e86 PR-999: Prevent non-item cooldowns
2022-01-27 15:35:36 +01:00
Jason Penilla
ca523abbdd
[ci skip] Fix param mismatch from last commit
2022-01-25 20:53:18 -07:00
Jason Penilla
f7dbd062e7
[ci skip] Update parameter mappings
2022-01-25 20:44:24 -07:00
Jake Potrebic
7978121c7c
More PotionEffectType API ( #5737 )
2022-01-23 10:42:38 -08:00
Jake Potrebic
f6c7d536a8
Add configurable stronghold seed ( #7334 )
2022-01-23 15:26:22 +01:00
Owen
a058ac05d8
Dolphin API ( #7102 )
2022-01-23 14:55:11 +01:00
Owen
9a1930867b
Lock Frozen Ticks API ( #7207 )
2022-01-23 14:35:07 +01:00
Jake Potrebic
512995c2a5
Updated Upstream (Bukkit/CraftBukkit/Spigot) ( #7359 )
2022-01-22 16:59:56 -08:00