Releases: SpongePowered/SpongeAPI
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_ONLYas 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
selectandwhilsttoBlockRayto 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
isAvailabletoLocationfor checking if aLocation'sExtentis still valid. - Deprecated some methods on
KickPlayerEventand 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
PlainPagedDatafor unsigned booksActiveItemDatato access the item aLivingentity is currently usingPotionTypeDataand associatedPotionTypefor getting the type of a potionPotionColorDatafor getting the color of a potionTargetedEntityDatafor use withShulkerBulletsDisabledSlotsDataforArmorStandsAccelerationDataforFireballs
- Various event additions and updates
- Added
UpdateAnvilEvent - Updated
ChangeEntityEquipmentEvents - Added
ClickInventoryEvent.Creative - Added
PlayerSoundEvents - Added
PositionandRotationsubevents forMoveEntityEvent - Added many
EventContextKeys- Many block event keys were added
USED_HANDhas been added for interact events
- Added
- Service updates
ContextualServices have been updated with better documentationEconomyServicenow supports account deletions
- Minor command updates
- Added
GenericArguments#requiringPermissionWeak - Added ability to filter commands based on source permission
- Make the
PatternMatchingElementnot use regex by default for simpler matching, allowing elements containing[]to be matched with ease
- Added
- Add
ShulkerandShulkerBulletintefaces for representing these entities - Added
Textreplacement and removal methods - Updated Metrics collection states
- Upgrade of the Sponge Schematic format to v2
Transactionsnow 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
Release 6.0.0
Release API revision 6.0.0. This release has breaking changes in comparison to API 5.x:
- Removing long deprecated methods in GameProfileManager
- Default implement PluginContainer#getMinecraftVersion()
- Add isMainThread check to the game
- Refactor RespawnPlayerEvent to properly consider player cloning during respawns
- Add methods to ChannelRegistrar for getting existing channels
- Deprecate several entity meta related CatalogTypes due to Minecraft 1.11.x changes
- Deprecate HorseVariant
- Deprecate SkeletonType
- Deprecate ElderGuardianData
- Deprecate ZombieType
- Deprecate ZombieData
- Add Husk and ZombieVillager as new Entity interfaces
- Add Action Bar Title options
- Update MobSpawnerData to use EntityArchetypes
- Update TradeOffer to provide a World context, primarily useful for locating structures in worlds
- Expand Horse related data. Add Llama data.
- Add doWeatherCycle and maxEntityCramming gamerules
- Update SoundTypes for 1.11 additions
- Update Enchantments for 1.11 additions
- Rename Skeleton entity interface hierarchy, somewhat backwards compatible. Adds WitherSkeleton, WhiteSkeleton, and Stray.
- Expose plugin dependencies with plugin-meta
- Add Minecraft container to Platform
- Add HitTarget for targeting events with blocks or entities
- Add getTargetPos and isUsingBlock to TabCompleteEvent
- Add helper methods to GameProfile for creating profiles
- Add createEntity and spawnEntity methods to Location
- Add missing catalog types in CatalogTypes
- Add method to create an entity naturally in a world
- Add EndGateway
- Add Structure and Structure related data
- Refactor Statistics API for full implementation
- Add LocatableBlock for high use events, replaces BlockSnapshot in certain events as causes.
- Add Extent#getHighestBlockAt
- Add queryAny and containsAny for Inventory
- Move some registrations of type serializers into the GameRegistry
- Update ProjectileSources
- Replace Passenger Entity lists with UUID lists
- Add BlockState.StateMatcher for loose state matching specific properties and values
- Refactor ChunkGeneration events
- Add shield damage modiifiers
- Update AgeableData with minor changes to handle implementation required changes for the API
- Add methods to require data with the Data API
-Add ChunkTicketManager$LoadingTicket#getWorld() for better use with plugins and mods - Add AreaEffectCloudData updates
- Clean up code to fix a majority of codestyle issues
- Refactor Event generation to use precompiled sources generated at project setup, Optimizes event creation
- Make use of DismountTypes in events
- Add Player chat simulation API
- Add Absorption Data
- Make all living entities ProjectileSources
- Add methods to control spectator cameras
- Add WorldArchetype#randomSeed
- TextSerializer changes, making all serializers catalog types
- Add fossil populator with 1.11 changes
- Retrun Archetype#create types for better usage
- Add ItemStack#isEmpty to signifiy that the itemstack is not usable wwith the game
- Refactor the way custom data is registered with the DataManager to use DataRegistrations.Provides the first step towards dynamic custom data generation
- Add JSONDataFormat
- Add GameRule removal
- Add annotations to channel bindings
- Enhance injection support
- Refactor DamageEntityEvent and other modifier related events to use ModifierFunctions.
Signed-off-by: Gabriel Harris-Rouquette [email protected]
Release 5.1.0
Summary of changes since API 5.0.0 release:
- Minor changes to default implement PluginContainer#getMinecraftVersion
- Add isMainThread check for server threadedness
- Update RespawnPlayerEvent to handle player cloning during respawn
- Add methods to ChannelRegistrar for getting existing channels
- Add AreaEffectCloudData for manipulating AreaEffectClouds
- Add Minecraft container to Platform
- Add NamedCause 'HitTarget' for events targeting a block or an entity
- Add #getTargetPos and #isUsingBlock to TabCompleteEvent
- Add More NamedCauses for ChangeBlockEvent.Pre
- Add LocatableBlock for location based events where a snapshot is unnecessary
- Add NamedCause for block decay
- Make EnderDragon a ProjectileSource to launch DragonFireballs
- Add BlockState.StateMatcher for matching BlockStates specific values
- Provide CatalogtypeAlreadyRegisteredException a useful message
- Add methods to CompositeValueStore and ValueContainer to require a value returned
- Add ChunkTicketManager#loadingTicket#getCompanionData() for mod compatibility
- Improve event generation performance. All events are pre-compiled for the project.
- Fix all checkstyle issues and codestyle issues
- Enhance DataTransactionResult with some functional methods for consumers and throwing exceptions
- Add spectator controlling methods to Player
- Add API to simulate Player chatting
All of this is a minor addition for API 5. API 5 is the last major release to target Minecraft 1.10.2
as API 6 requires deprecation changes and some minor breaking changes to target Minecraft 1.11.2 feature
changes.
Signed-off-by: Gabriel Harris-Rouquette [email protected]
Release 5.0.0
5.0.0 Release. Signed-off-by: Chris Sanders <[email protected]>
Release 3.0.0
This marks the release of SpongeAPI 3.0.0
Release v2.0
A second release featuring plenty of new features and changes throughout the API.