What's Changed
- Implement Inventory for API8 (part 3) Queries by @Faithcaio in #2395
- Replace remaining guava caches with Caffeine by @ItsDoot in #2437
- Redo #2434 (The Tradie mixins) by @i509VCB in #2446
- Small Fixes Part 1 - HumanEntity, SpongeUserInventory, SpongeTabList by @ItsDoot in #2438
- import Mutable; begone! by @i509VCB in #2456
- Match some more invalid mixins with their still existing targets. by @i509VCB in #2459
- Implement Raids/Waves and Raiders. by @i509VCB in #2441
- Add missing accessor entries to mixins.common.accessor.json by @i509VCB in #2463
- Implement/Register: MooshroomType by @Grinch in #2464
- Add Missing entries to mixins.common.api.json by @i509VCB in #2465
- Organize the smaller mixins files and add a few missing inventory entries. by @i509VCB in #2466
- Add missing entries into core mixins and organize them. by @i509VCB in #2467
- Implement all missing entities and remove overrides on default impl data values. [1.14] by @i509VCB in #2468
- fixing a lot of testplugin compile errors by @Faithcaio in #2480
- Clean up bits of ServerPlayerEntity and another one or two things. by @i509VCB in #2485
- Register and implement TropicalFishShape by @i509VCB in #2486
- PhaseTracker 1.14 Upgrade by @gabizou in #2476
- Mass BlockEntity fixup [1.14] by @i509VCB in #2495
- Casting a very big shadow (API Mixins) (1.14) by @i509VCB in #2496
- Start moving some simpler things to new tracker package [API-8]. by @i509VCB in #2499
- Begin cleanup of core plugin entity mixins by @i509VCB in #2503
- Implement Recipe API for API8 by @Faithcaio in #2481
- More core plugin updates by @i509VCB in #2514
- Implement API methods for Block/Fluid states and FluidType [API-8] by @i509VCB in #2522
- Reimplement virtual biome types. by @i509VCB in #2547
- Implement CatalogKey.Builder by @i509VCB in #2550
- Remove useless EnumType mixins by @TheGlitch76 in #2548
- Make timings mostly compile, update AccountDeletionResultType builder and hammer out other misc errors. by @i509VCB in #2549
- Update Chest API for new merging logic. by @TheGlitch76 in #2554
- Fix small compile errors in API mixins by @TheGlitch76 in #2558
- Api8 Keys by @Faithcaio in #2565
- API8 fixes by @Faithcaio in #2609
- API8 Fixing Data Impl by @Faithcaio in #2620
- API8 - DataStore by @Faithcaio in #3031
- implement World/ServerWorld by @Faithcaio in #2627
- Update readme for FG3 by @dualspiral in #3032
- PoC for service registration by @dualspiral in #2653
- Command implementation - part I by @dualspiral in #2430
- Add Plugins Screen to Vanilla Client by @Grinch in #3051
- Fix vanilla launch main classes by @jamierocks in #3055
- Implement Transform by @jamierocks in #3056
- Fix client assets in development environment by @jamierocks in #3057
- Remove legacy SpongeVanilla files by @jamierocks in #3058
- Add plugins to crash reports by @jamierocks in #3060
- Correct Vanilla plugin version by @jamierocks in #3061
- Implement new trade offer logic by @i509VCB in #3040
- Implement Attributes API (#3036) by @i509VCB in #3063
- Attempt to trim down the build workflow by @gabizou in #3064
- Replace UserDiscoverer with stripped back ServerUserProvider. by @dualspiral in #3067
- Create permission nodes for commands that do op checks. by @dualspiral in #3054
- Modify RegisterCommandEvent by @dualspiral in #3070
- Fix client completion when a parameter is not optional but reads nothing by @dualspiral in #3071
- Implement Adventure by @kashike in #3074
- Introduce common launch handler to Vanilla by @jamierocks in #3077
- Add more Sponge commands: by @dualspiral in #3078
- Use Guice 4.1.0 consistently by @jamierocks in #3080
- Share the PluginLoader instance by @jamierocks in #3062
- Add support for anchored flags. by @dualspiral in #3083
- Migrate Data Providers to a common registration by @Grinch in #3089
- Implement missing PandaData keys by @Grinch in #3091
- Implement ServerPlayerData#Keys.HAS_VIEWED_CREDITS by @Grinch in #3092
- Resolve issue with registration references by @Grinch in #3094
- Separate CommandCause and CommandContext by @dualspiral in #3093
- Implement the new network channels. by @Cybermaxke in #3065
- Reorganize config, make it work in mixin plugins by @zml2008 in #3090
- Add ability to programmatically create selectors by @dualspiral in #3101
- Enable Client Completions for non-Sponge/Brig commands. by @dualspiral in #3107
- Fix NPE when trying to sleep by @ImMorpheus in #3116
- Move GeneratorUtils to impl by @ImMorpheus in #3118
- Update pagination service from invalid by @RedNesto in #3044
- Remove redundant fromInstance calls by @ImMorpheus in #3122
- adventure: Attempt to detect style cycles in simple cases by @zml2008 in #3123
- Early configuration by @zml2008 in #3121
- Remove EnchantmentHelper leak patch by @ImMorpheus in #3127
- Drop file injection support by @ImMorpheus in #3125
- Move ban classes to the ban package by @ImMorpheus in #3124
- Remove unused config option for the old user storage service by @ImMorpheus in #3128
- Remove panda redstone by @ImMorpheus in #3129
- Change GameProfileManager method signature to return a map by @ImMorpheus in #3131
- Register sleep timer key by @ImMorpheus in #3132
- Add dependency json output to file for use with installer/launcher by @gabizou in #3140
- Add Entity Spawn Transactions by @gabizou in #3145
- Add Audiences#withPermission by @ImMorpheus in #3138
- Implement the DataVersion accessor by @me4502 in #3144
- Implement BlockType#getStateProperties and BlockType#getStatePropertyByName by @me4502 in #3143
- registry: Pass specific catalog type from event by @zml2008 in #3152
- Data Fixup/Cleanup - Part 1 by @Grinch in #3151
- Another Data Pass by @Grinch in #3154
- adventure: Update for api changes by @zml2008 in #3157
- production manifest generation by @zml2008 in #3156
- Add ability to get the executed Command.Parameterized from the CommandContext by @dualspiral in #3155
- Fix cursor reset when opening an inventory by @Yeregorix in #3159
- Fire KickPlayerEvent by @ImMorpheus in #3120
- Another Round of Data (Impl Edition) by @Grinch in #3160
- Add SpongeImplHook for entity reach distance (#2513) by @PolyacovYury in #3166
- Implement API8 Recipes by @Faithcaio in #3168
- Add getWorldUUID to SaveChunkEvent. by @dualspiral in #3164
- timings: *IfSync methods now check for server thread by @zml2008 in #3162
- Bump Mixin to 0.8.1 with AP fixes. Bump Modlauncher by @gabizou in #3173
- Update to licenser 0.5 by @jamierocks in #3171
- API8 Advancements by @Faithcaio in #3170
- Fix bad Redirect target by @RedNesto in #3182
- Allow GitHub Actions to archive built artifacts for builds by @gabizou in #3181
- Configurate 3.7 forward-ports by @zml2008 in #3184
- Fix #3190: fix mob breeding cooldown by @PolyacovYury in #3191
- API8 Commands: Optional parameters fixes by @Faithcaio in #3189
- API8 NBT-Data for EntitySnapshot/EntityArchetype etc. by @Faithcaio in #3192
- [API 8] Call CollideEvent.Impact for Projectiles by @RedNesto in #3117
- Generify Palettes Implementation by @gabizou in #3178
- Update for configurate 4 and associated API changes by @zml2008 in #3188
- Line up all key:value separators by @Grinch in #3199
- Add string based parsing for states by @dualspiral in #3141
- Fix/verify overwrites by @ImMorpheus in #3142
- Refactor death message by @ImMorpheus in #3203
- Implement handling for Adventure's translation registry by @zml2008 in #3163
- Refactor ChangeBlockEvent with Operations by @gabizou in #3216
- Include space in log entries by @jamierocks in #3220
- 1.16.4 by @kashike in #3211
- Update Sponge to 1.16 by @gabizou in #3231
- Porting the portals by @dualspiral in #3239
- Implement enhanced InteractEvents [API8] by @Faithcaio in #3242
- Implement new Default Parameter handling by @Faithcaio in #3247
- Feature/datapack/dimension by @Zidane in #3243
- Implement spawner config by @ImMorpheus in #3246
- Add a shutdown hook to await the termination of the subprocess by @pschichtel in #3253
- launch: More robust plugin classpath and manifest handling by @zml2008 in #3257
- Allow to change the installer's log4j2 config by @pschichtel in #3259
- Properly shutdown the installer's child process by @pschichtel in #3260
- Made canSeeFriendlyInvisibles Intrinsic by @masagameplay in #3261
- Some fixes for commands by @zml2008 in #3262
- Fix invalid checks in factory methods of SpongeRange by @thibaulthenry in #3284
- Add back movementcheck mixins and config option by @ImMorpheus in #3285
- Sponge Data Impl v3 by @Faithcaio in #3289
- Restore BungeeCord and Velocity support by @zml2008 in #3302
- Begin restoring rich console features by @zml2008 in #3303
- API8 implement ChunkEvent by @Faithcaio in #3305
- vanilla: Set up basic integration testing in CI by @zml2008 in #3313
- Fix deserialization of the name of map decorations by @tyhdefu in #3317
- Add default value for map uuid index if there is no level.dat by @tyhdefu in #3321
- Add SpongeKey#defaultValueSupplier for MapValues by @ItsDoot in #3324
- Add support ResourceKey in advancement background by @ImMorpheus in #3330
- Add CompletableFutures to Ban/Whitelist Service by @ImMorpheus in #3318
- Fix SpongeBlockSnapshot#equals by @Lignium in #3329
- Drop get prefixes from almost all things by @dualspiral in #3332
- notification-ticket by @gabizou in #3314
- Call RespawnPlayerEvent.Post by @thibaulthenry in #3351
- Bump guice to 5.0.1 by @zml2008 in #3333
- Implement Favicon.Factory by @jpenilla in #3354
- More command tweaks by @dualspiral in #3286
- Add operator parameter by @dualspiral in #3363
- Fix range client completions by @jpenilla in #3366
- Fix SlotAdapter#poll and SlotAdapter#freeCapacity by @jpenilla in #3369
- Fix
ENTITY
ClientCompletionKey
having single/multiple backwards by @jpenilla in #3371 - Rename methods that don't do well without "get" to "findX/findXOrCreate" by @dualspiral in #3374
- Add ClientSuggestionProvider to add client-based suggestions for things like biomes by @dualspiral in #3376
- Use Minecraft's native UUID argument type for UUID value parameter by @jpenilla in #3378
- Implement improvements for hasChunk and isChunkLoaded by @gabizou in #3382
- build: Bump to VanillaGradle 0.2 and Gradle 7 by @zml2008 in #3381
- Fix ServerSideConnectionEvent.Auth event cancel message by @aromaa in #3385
- Small fixes to multi-block captures by @gabizou in #3390
- Update for dropping get- prefix in plugin-meta/-spi by @zml2008 in #3396
- Add CommandCompletion and associated builder by @dualspiral in #3398
- Update impl for command interface renames by @dualspiral in #3399
- Fix getting the currently active scoreboard for player by @aromaa in #3387
- Remove BanService#hasBan and BanService#isBanned by @ImMorpheus in #3384
- Move timings to it's own library by @gabizou in #3397
- Implement part of the Chunk API by @dualspiral in #3222
- Fix player leaking to world on login cancellation by @aromaa in #3406
- Fix incorrect use of display slot indexes, support getting sidebar display slot by NamedTeamColor by @dualspiral in #3405
- implement CollideBlockEvents by @Faithcaio in #3404
- Update for typetoken-avoiding helper methods by @zml2008 in #3411
- improve PlayerChatEvent by @Faithcaio in #3391
- World Borders by @dualspiral in #3418
- Permissions API tweaks by @zml2008 in #3106
- Add TwoDimensionalPortal for teleport events by @dualspiral in #3344
- Update jansi dep to support ARM64 by @dualspiral in #3431
- Fix IgniteEntityEvent by @Lignium in #3436
- Fix Keys.SKIN_PROFILE_PROPERTY for ServerPlayer by @Lignium in #3441
- Implement the ChunkManager by @dualspiral in #3228
- Allow the Registry Entry parameter to scan multiple registry holders by @dualspiral in #3444
- Fix per player scoreboard team friendly fire by @aromaa in #3380
- Implement DamageType.Builder by @ItsDoot in #3221
- Implement Keys.MAX_AIR for entities by @Lignium in #3438
- Fix Mixin obf environment by @LogicFan in #3454
- Restore postApplicationTransaction handling by @gabizou in #3457
- Clean up IPhaseState functionality by @gabizou in #3458
- Use new shorthand value fetchers from DataTransactionResult by @ItsDoot in #3465
- Mark all soft-implement of sponge interface to be Remap.NONE by @LogicFan in #3468
- Make Users load async, ensure we don't load users in the impl by @dualspiral in #3474
- Add lifecycle state for stopped game, and hook in executors by @zml2008 in #3477
- Reimplement Schematic Serialization by @gabizou in #3300
- Another fix of IgniteEntityEvent by @Lignium in #3439
- add descriptor to distinguish the target method by @LogicFan in #3473
- Fix wrong place of
remap = false
by @LogicFan in #3482 - Implement EntityVolume on LevelChunk and Level by @dualspiral in #3481
- Implement Entity#setPosition and clean up some related logic by @dualspiral in #3484
- Switched from Client only getters to accessors by @masagameplay in #3490
- SpongeForge by @zml2008 in #3415
- allow different mapping for reflection by @LogicFan in #3470
- Start migrating inventory logging to transactions by @gabizou in #3466
- Fix data accessing code for Keys.LORE by @Lignium in #3513
- Dependency resolving and sorting by @dualspiral in #3507
- Don't continuously check command nodes for permissions when we have already done so once by @dualspiral in #3515
- Add EntityCategory by @gabizou in #3536
- Handle a missing plugin container when registering mod commands by @dualspiral in #3546
- Fix missing null checks in DataProviderRegistrator by @Lignium in #3522
- Additional handling for null pluginContainer needed for #3540 by @mikeprimm in #3547
- Add rudimentary detection of spaces in filenames on Java 8 by @dualspiral in #3549
- Fix permission checking during ServerSideConnectionEvent.Login by @ItsDoot in #3561
- Add Git details to jar manifests by @gabizou in #3550
- Replace Atlas with Forge's remapper by @zml2008 in #3560
- Correct the setters for rotation keys by @aromaa in #3566
- Fix setting passengers performs mount logic by @aromaa in #3565
- Integrate LazyDFU into Sponge proper by @astei in #3567
- Implement ComponentLike for ItemStack by @ItsDoot in #3562
- feature/resources by @Zidane in #3523
- Fix invocation of some client-only methods by @Lignium in #3577
- Implement VanishState by @gabizou in #3573
- Disable lighting updates when using BlockChangeFlags#NONE by @Lignium in #3579
- Bump ModLauncher to fix issue with new JDK8 builds by @zml2008 in #3600
- Move UnloadWorldEvent to be posted before world save by @aromaa in #3601
- Implement BlockType#validStates by @Yeregorix in #3609
- Re-Add DataParameterConverters by @gabizou in #3616
- Wrap Event Listener Registration by @gabizou in #3619
- Add ForgeWorldHooks by @gabizou in #3624
- Fix SpongeUserData returning the wrong identifier by @TBlueF in #3625
- Fix some errors related to volumes by @Yeregorix in #3626
- Fix ListenerClassVisitor visiting IsCancelled annotations by @lucko in #3633
- Mekanism workaround Fixes #3631 by @gabizou in #3634
- [API8] BlockStateProperties Registries by @Faithcaio in #3615
- Delay GoalType lookups until appropriate times by @gabizou in #3635
- Re-introduce Superclass Transformer by @gabizou in #3629
- fix ListenerClassVisitor by @Faithcaio in #3643
- remove timings by @ImMorpheus in #3613
- Improve DataManager Internals by @Faithcaio in #3648
- Workaround Mixin Generic issues with ATM6 by @gabizou in #3652
- Api8/fix itemstack equalTo by @tyhdefu in #3665
- Fire chat events on both SV and SF (and sync them) by @dualspiral in #3670
- fix(docs): version of badages by @SettingDust in #3679
- fix(vanilla): PluginPackResources#getResources not working by @SettingDust in #3678
- fix(event): ListenerSignatureVisitor accept more than two type wrongly by @SettingDust in #3694
- common: Should we sanitize enum names? by @zml2008 in #3656
- fix(mixin):
DropItemEvent.Pre
result is ignored by @SettingDust in #3698 - feat(data): implement
SNBTDataFormat
by @SettingDust in #3697 - Implement BlockEntityVolume methods for chunk by @tyhdefu in #3664
- Fix GridInventory coordinates by @Yeregorix in #3707
- Call LoadedGameEvent on Forge by @vectrixdevelops in #3738
- Fire InteractItemEvent.Secondary even when cooldown is active by @Yeregorix in #3740
- Register additional enderdragon phases added by mods by @vectrixdevelops in #3737
- Fix PluginPackResources#getResources error on some filesystems by @Yeregorix in #3736
- Fix multiple RespawnPlayerEvents issues by @Yeregorix in #3709
- Implement data for barrel block by @Lignium in #3732
- Notify client when velocity is changed by @Yeregorix in #3718
- Minor fixes for SpongeVanishState by @Yeregorix in #3745
- Fix Keys.LEASH_HOLDER implementation by @Yeregorix in #3746
- Implement Keys#HANGING by @Lignium in #3730
- Implement Keys#IS_ATTACHED for ladders by @Lignium in #3731
- Fix many WorldManager issues by @Yeregorix in #3702
- Fix block entity memory leak by @Lignium in #3689
- Use bridge$blockEntitiesToUnload method to fix forge compatibility by @vectrixdevelops in #3753
- Fix IllegalArgumentException when set Keys.FLUID_LEVEL into liquid source by @Lignium in #3756
- MoveEntityEvent and RotateEntityEvent implementation improvements by @Yeregorix in #3754
- Fix multiple missing slot transaction tracking + backport from 1.19 by @vectrixdevelops in #3755
- Fix removing leash holder by @Yeregorix in #3766
- Fix LevelMixin_API#setBiome by @vectrixdevelops in #3764
- Restore item after cancelling 'InteractBlockEvent.Secondary' by @vectrixdevelops in #3765
- Implement translations for item name and lore by @Yeregorix in #3763
- Fix health scale by @vectrixdevelops in #3760
- Send changes to equipment correctly on event cancel or modification by @vectrixdevelops in #3758
- Replace printStackTrace() with a proper logger by @Yeregorix in #3739
- Fix item translations on Forge by @Yeregorix in #3776
- Store in transit resourcepack for firing the ResourcePackStatusEvent by @vectrixdevelops in #3759
- Fix player ChangeInventoryEvent.Pickup.Pre (API 8 edition) by @Yeregorix in #3748
- Implement Keys#PREVIOUS_GAME_MODE by @Lignium in #3757
- Filter cancelled events even when the declared class is not cancellable by @Yeregorix in #3798
- Implement BlockSoundGroup by @aromaa in #3807
- Fix chunk unloading causing dangling neighbors by @aromaa in #3805
- Remove the internal usage of optional from Registry#value by @aromaa in #3806
- Fix container click events involving player crafting slots by @aromaa in #3804
- Don't call setPos after movement event when position hasn't changed by @Yeregorix in #3797
- Fix health scaling again by @vectrixdevelops in #3778
- Fix spotless check on windows by @vectrixdevelops in #3783
- [API-8] Implement PotionEffect#showsIcon by @qixils in #3826
- Fix damage implementation in builders by @Yeregorix in #3821
- removed unnecessary read lock in SpongeScheduler by @sunmisc in #3832
- Fix Error related to Banned users with Expiration dates by @DrZoddiak in #3817
- Add movement threshold configuration by @vectrixdevelops in #3820
- Prevent invalid status responses with empty/dummy player UUIDs by @stephan-gh in #3831
- Fix issues with modded tile entities and lights by @Yeregorix in #3838
- Fix forge interactions by @Yeregorix in #3844
- Fix WorldEdit-Forge commands by @Yeregorix in #3847
- Track direct chunk access by @Yeregorix in #3855
- Backport "Player moved wrongly" fix to API-8 by @qixils in #3879
New Contributors
- @ItsDoot made their first contribution in #2437
- @i509VCB made their first contribution in #2446
- @TheGlitch76 made their first contribution in #2548
- @pschichtel made their first contribution in #3253
- @masagameplay made their first contribution in #3261
- @thibaulthenry made their first contribution in #3284
- @tyhdefu made their first contribution in #3317
- @LogicFan made their first contribution in #3454
- @mikeprimm made their first contribution in #3547
- @astei made their first contribution in #3567
- @SettingDust made their first contribution in #3679
- @qixils made their first contribution in #3826
- @sunmisc made their first contribution in #3832
Full Changelog: v7.3.0...v8.2.0