Releases: SpongePowered/SpongeAPI
Releases · SpongePowered/SpongeAPI
v11.0.0
What's Changed
- Replace Fandom links with new wiki by @Earthcomputer in #2464
- Update Gamepedia wiki links by @Spongecade in #2465
- Add Keys.FROZEN_TIME & Keys.MAX_FROZEN_TIME by @avaruus1 in #2460
- Add BlockType#hasBlockEntity by @Lignium in #2462
- Remove guava from the API by @ImMorpheus in #2469
- Regenerate API data by @ImMorpheus in #2470
- Drop caffeine-guava adapter by @ImMorpheus in #2472
- Bump to gradle 8.4 by @ImMorpheus in #2471
- Stop marking sniffer as experimental api by @ImMorpheus in #2474
- Fix dependency conflicts by @ImMorpheus in #2473
- Fix errorprone warnings and remove printstacktrace by @ImMorpheus in #2475
- Bump additional dependencies by @ImMorpheus in #2476
- Add missing particle options by @ImMorpheus in #2477
- Allow negative amplifiers in potion effects by @ImMorpheus in #2478
- Build cleanup by @zml2008 in #2482
- Bump Adventure to 4.16 by @jpenilla in #2483
- Fix compilation warnings by @ImMorpheus in #2484
- Add gradle wrapper validation action by @ImMorpheus in #2486
- Bump gradle to 8.7 by @ImMorpheus in #2485
- Add distributionSha256Sum by @ImMorpheus in #2487
- Enable gradle dependency verification by @ImMorpheus in #2488
- Bump dependencies and fix more dependency conflicts by @ImMorpheus in #2489
- Remove gradle wrapper validation action by @ImMorpheus in #2490
- Replace leftover hamcrest usage with junit and drop dependency by @ImMorpheus in #2493
- Remove SqlManager by @ImMorpheus in #2492
- Rework ChunkEvent by @aromaa in #2497
- Migrate TEXT_BACKGROUND_COLOR value type to sponge color by @ImMorpheus in #2494
- Regenerate API data by @ImMorpheus in #2499
- Add Ticks#infinite by @aromaa in #2480
- Update comments in autogenerated api data by @ImMorpheus in #2500
- fix: WorldTemplates by @gabizou in #2503
- Update/1.20.6 by @Faithcaio in #2501
- Bump log4j to 2.22.1 by @ImMorpheus in #2505
- Replace deprecated locale methods by @ImMorpheus in #2507
- Allow custom TicketTypes to be created by plugins. by @zml2008 in #2453
- feat: Add BlockVolume.blockPalette accessor by @gabizou in #2506
- Add Keys.MAX_GROWTH_STAGE by @MrHell228 in #2511
- Add new EntityTypes by @ImMorpheus in #2512
- feat: Add PushReactions by @gabizou in #2514
- Change BlockEntity#setValid() to remove() by @MrHell228 in #2516
New Contributors
- @Earthcomputer made their first contribution in #2464
- @Spongecade made their first contribution in #2465
- @avaruus1 made their first contribution in #2460
- @aromaa made their first contribution in #2497
- @MrHell228 made their first contribution in #2511
Full Changelog: v10.0.0...v11.0.0
v10.0.0
What's Changed
- feat(data): add
DataFormats#SNBT
by @SettingDust in #2432 - [API10] World Generation API by @Faithcaio in #2428
- Add Keys#HANGING for lanterns by @Lignium in #2438
- Add EventManager#registerListeners with lookup parameter by @A248 in #2441
- Add Keys#PREVIOUS_GAME_MODE by @Lignium in #2442
- Add FluidState to LocatableBlock by @gabizou in #2443
- docs: add missing p tags and rework existing tag for consistency by @ImMorpheus in #2449
- build: require java 17+ and update readme by @ImMorpheus in #2448
- generate BlockStateKeys by @Faithcaio in #2440
- Implement missing method isFire in AbstractDamageSource by @Yeregorix in #2451
- Replace guava immutable collections with java immutable collections by @ImMorpheus in #2454
- Add stream online players method by @ImMorpheus in #2457
- fix nullability issues by @ImMorpheus in #2455
- Expose protocol version for status pings by @stephan-gh in #2456
New Contributors
- @SettingDust made their first contribution in #2432
- @Lignium made their first contribution in #2438
- @A248 made their first contribution in #2441
Full Changelog: v9.0.0...v10.0.0
v8.2.0
What's Changed
- feat(data): add
DataFormats#SNBT
by @SettingDust in #2432 - Add Keys#HANGING for lanterns by @Lignium in #2438
- Add Keys#PREVIOUS_GAME_MODE by @Lignium in #2442
- Implement missing method isFire in AbstractDamageSource by @Yeregorix in #2451
New Contributors
- @SettingDust made their first contribution in #2432
- @Lignium made their first contribution in #2438
Full Changelog: v8.1.0...v8.2.0
Release v9.0.0
What's Changed
- Remove the restriction that listener methods must be public by @zml2008 in #2376
- Initial update of block states & block entities for 1.17 by @zml2008 in #2357
- [API9] World Generation by @Faithcaio in #2404
- API9 BlockstateProperty by @Faithcaio in #2418
- remove structure config api by @ImMorpheus in #2420
- 1.18.2 by @zml2008 in #2415
Full Changelog: v8.1.0...v9.0.0
Release v8.1.0
What's Changed
- New dependency: MiniMessage is now available as part of SpongeAPI for text templating. See the Kyori docs for more on how to use MiniMessage.
- World management updates, including the ability to name worlds and grab worlds of a specific type easily
- Added being able to get the entity type that a spawn egg will produce
- Added the ability to grab inventory titles and the menu it was built off, if available
- Make ItemStack also implement HoverEventSource by @zml2008 in #2414
- Expose BlockState string representation by @Yeregorix in #2425
New Contributors
- @Yeregorix made their first contribution in #2425
Full Changelog: v8.0.0...v8.1.0
Release v8.0.0
SpongeAPI 8 is our new API version for Minecraft 1.16.5.
What's Changed
- Invantory for API8 Inventory Builders by @Faithcaio
- Builders #1959
- SlotIndexes #1998
- Queries by @Faithcaio in #2050
- Migrate build scripts to Kotlin-DSL by @gabizou in #1980
- Remove the CommandSource in favor of Causes. by @dualspiral in #2004
- Fix missing in string -> catalog key migration by @liach in #2071
- Make TradeOfferGenerator extend a BiFunction instead to handle 1.14 implementation. by @i509VCB in #2070
- Make StateMatcher serializable by @Katrix in #2053
- Add compact methods to Text by @Katrix in #2054
- Add new 1.14 Merchant, Raid and Villager related features. #2068 #2069 by @i509VCB in #2073
- Add TropicalFishShape Catalog and Data values to Tropical Fish. by @i509VCB in #2076
- Add missing entity data values, Sittable and Spawner by @i509VCB in #2077
- Add missing data values to ItemFrame, Sheep and Vex. by @i509VCB in #2080
- Add DataValues to the BlockEntities where they belong. [API-8] by @i509VCB in #2081
- Fix javadoc and checkstyle warnings by @parlough in #2087
- Recipe API for API8 by @Faithcaio in #2082
- Add supplier overloads to all builder methods and trait -> property by @i509VCB in #2091
- Fix missing supplier overload for persisted biome type in VirtualBiomeType by @i509VCB in #2103
- Update Chest API for new merging logic. by @TheGlitch76 in #2106
- Api8 Keys by @Faithcaio in #2108
- Add new features to trade offers [API8]. by @i509VCB in #2101
- Clarify some stuff with Server players on a server by @i509VCB in #2131
- Yes, EMPTY is a fluid. by @i509VCB in #2136
- Add direction methods on Entity and Living by @ItsDoot in #2139
- API8 - DataStore by @Faithcaio in #2134
- Adjust NamedCatalogType and NamedCatalogBuilder interfaces for expectations by @ItsDoot in #2140
- Improve Tristate by @ItsDoot in #2137
- Remove non-existant feature configs by @i509VCB in #2075
- Add Entity Attribute API [Redux of #1428] by @i509VCB in #2085
- Remove HandInteractEvent and sub events by @ImMorpheus in #2096
- Updates to the Command API to support implementation by @dualspiral in #2066
- Remove EconomyService#getCurrencies by @ImMorpheus in #2143
- Add Location#getBlockType by @ItsDoot in #2145
- Add ScheduledTask#isCancelled() by @ItsDoot in #2146
- Add ExplosionEvent.Detonate#filterAffectedLocations by @ItsDoot in #2148
- Replace Service Manager with Provider by @dualspiral in #2133
- Add a key which specifies if a player has viewed the credits by @i509VCB in #2161
- Add view-distance setter by @ImMorpheus in #2155
- Add marker for classes that should not be stored by @ImMorpheus in #2154
- Improve JoinData by @ImMorpheus in #2153
- Add Keys#TRANSIENT by @ImMorpheus in #2162
- Add a way to get all unique and virtual accounts from the economy service by @ImMorpheus in #2152
- Command API tweaks by @dualspiral in #2159
- Channel API Improvements + Client login phase by @Cybermaxke in #2008
- Add streamAll method to UserManager by @ImMorpheus in #2166
- Drop modifier templates. And remove attribute that was added in a later version of the game. Match registry names by @i509VCB in #2168
- Remove Cause parameters from Account methods by @ImMorpheus in #2169
- Make generic ExplosionEvent cancellable by @ImMorpheus in #2167
- Rename fields again to match registry names. by @i509VCB in #2171
- Return generic type E extends Engine in EngineLifecycleEvent instead of Engine by @i509VCB in #2170
- UserManager#match now returns a Stream by @dualspiral in #2173
- RegisterCommandEvent now acts on commands, not registrars (specifically) by @dualspiral in #2177
- Implement Adventure by @kashike in #2180
- Redo some of the Parameter.Key generics by @dualspiral in #2181
- Add command flags by @dualspiral in #2184
- Add exception handlers for the network channel. by @Cybermaxke in #2183
- Create a SubjectProxy and separate CommandCause from CommandContext by @dualspiral in #2191
- Use a double for damage related keys. by @Cybermaxke in #2174
- Nuke DummyObjectProvider by @ImMorpheus in #2190
- Remove the concept of read-only orders by @ImMorpheus in #2189
- Add ability to programmatically create selectors by @dualspiral in #2194
- Add support for non-Sponge/Brig client completions. by @dualspiral in #2197
- Add MovementTypes#CHORUS_FRUIT by @ImMorpheus in #2204
- Corrections for the World API. by @Zidane in #2203
- Define some common parameters by @dualspiral in #2199
- Remove unused dependencies by @ImMorpheus in #2207
- Move ban classes to ban package by @ImMorpheus in #2210
- Fix event-gen factory by @ImMorpheus in #2185
- Change GameProfileManager method signature to return a map by @ImMorpheus in #2211
- Add Keys#SLEEP_TIMER by @ImMorpheus in #2212
- Add missing Living value accessors by @ItsDoot in #2144
- Remove EconomyService#deleteAccount default implementation by @ImMorpheus in #2209
- 1.15 by @kashike in #2205
- Add Audiences#withPermission by @ImMorpheus in #2215
- Add method to send updated command tree to a player by @dualspiral in #2221
- Add an API method to access the Minecraft DataVersion by @me4502 in #2220
- Update ParrotType IDs by @Grinch in #2223
- Update Key JavaDocs + Rename SlabPortions.FULL -> DOUBLE by @Grinch in #2226
- adventure: Update for api changes by @zml2008 in #2229
- Add ability to get Command.Parameterized from CommandContext (#2217) by @dualspiral in #2227
- build: fix guice exclusion for configurate by @zml2008 in #2228
- Make KickPlayerEvent cancellable by @ImMorpheus in #2179
- Another Round of Data (API Edition) by @Grinch in #2231
- API8 Recipes by @Faithcaio in #2236
- Add getWorldUUID to SaveChunkEvent. Fixes #2233 by @dualspiral in #2234
- Update to licenser 0.5 by @jamierocks in #2239
- API8 ...
Release v7.4.0
This is the final API release for the API 7.x series (for Minecraft 1.12.2)
The highlights are:
- Add getWorldUUID to SaveChunkEvent
- Bump configurate to 3.7.2
- Add missing locked field in Score
- Add missing scoreboard criteria
- Expose entity tags
Release v7.3.0
Some of the highlights of this build are:
- Updated Configurate to 3.7.1.
- Added totem particle effect to
ParticleTypes
. - Added
SerializationBehaviors.METADATA_ONLY
as a world serialisation type, meaning you can create worlds where chunks are not saved - good for game worlds that require resetting between rounds by just unloading and reloading them. - Added
select
andwhilst
toBlockRay
to make how to use a block ray clearer. - Added a
SaveChunkEvent
. - Added an inbuilt Placeholder system for storing and using text tokens across plugins without the need for an external dependency.
- Added ability to see which flags were used in a command via the
CommandContext
. - Added
isAvailable
toLocation
for checking if aLocation
'sExtent
is still valid. - Deprecated some methods on
KickPlayerEvent
and completely deprecatedLaunchProjectileEvent
. - Minor updates to some Javadocs.
Release v7.2.0
Some of the highlights are (this is not an exhasutive list):
- New Data manipulators
PlainPagedData
for unsigned booksActiveItemData
to access the item aLiving
entity is currently usingPotionTypeData
and associatedPotionType
for getting the type of a potionPotionColorData
for getting the color of a potionTargetedEntityData
for use withShulkerBullet
sDisabledSlotsData
forArmorStand
sAccelerationData
forFireball
s
- Various event additions and updates
- Added
UpdateAnvilEvent
- Updated
ChangeEntityEquipmentEvent
s - Added
ClickInventoryEvent.Creative
- Added
PlayerSoundEvent
s - Added
Position
andRotation
subevents forMoveEntityEvent
- Added many
EventContextKey
s- Many block event keys were added
USED_HAND
has been added for interact events
- Added
- Service updates
ContextualService
s have been updated with better documentationEconomyService
now supports account deletions
- Minor command updates
- Added
GenericArguments#requiringPermissionWeak
- Added ability to filter commands based on source permission
- Make the
PatternMatchingElement
not use regex by default for simpler matching, allowing elements containing[]
to be matched with ease
- Added
- Add
Shulker
andShulkerBullet
intefaces for representing these entities - Added
Text
replacement and removal methods - Updated Metrics collection states
- Upgrade of the Sponge Schematic format to v2
Transactions
now contain any intermediary transactions that took place to explain how a transaction came to be- Ability to get and set the phase of an active
EnderDragon
- Update Configurate to version 3.7
Release 7.1.0
With this release, SpongeAPI has a global MetricsConfigurationManager for specifying the configuration flags for plugins to determine whether metrics are enabled etc.
Full Changelog
Dependencies:
- Configurate version bump from 3.3 to 3.6
Additions:
- Timings#generateReport
- MetricsConfigurationManager
- BlockTrait#parseValue
- Add CommandArgs snapshots
- Add CommandContext#requireOne
- Add choicesInsensitive for command arguments
- Add Keys.INVULNERABILITY_TICKS and related data.
- Add ElytraFlying data
- Add CollectionValue#copy overrides for better usability of the values themselves to allow copying the value itself and the underlying collection. No guarantees are being made about the elements contained within the collection being copied.
- Add User#getPosition and other related position methods to allow offline user location manipulation.
- Added missing EventContextKeys to signify liquid physics during block events
- Added ClickInventoryEvent.Recipe and sub events
- Added Crafting events
- Added InventoryTransformations for allowing more expected transformation usage of inventories
- Added ItemStack#of(ItemType) to create a single sized item stack of that type
- Moved ItemStack comparators into the implementation
- This isn't a breaking change since the fields are still the same declarations, just the initialization is different. The implemented classes previously available were package private and not intended to be used outside the comparators.
- Add Chunk#getInhabitedTime()
Fixes:
- Fix space tokenizer with some added unit tests
- SpectralArrow is now an entity