Some recent changes and additions to Sponge


#1

As API version 7 is getting closer and closer to a release, many pull requests have started to be merged and various changes are being made. There are a few more changes set to be merged before the release, but not many of those should be breaking changes. I just thought I would collect some of the recent changes of the past two weeks plugin developers and server owners may be interested in or may need to make changes for. If you scroll further down I list some pull requests that could use reviews and feedback if you have the knowledge and the time.

API Changes/Additions

Changes which are breaking that may require you update your code will be in bold.

Important Implement Fixes/Changes/Additions


There are many more changes expected in the next few weeks, so be on the look out. Remember if you find an issue please report it to the proper repositories, and if you would like to see some APIs added point them out. If you want to help get various changes in that are already pull requested, please review these pull requests, or else it is hard to know what developers and users actually want and some mistakes may get through if people aren’t reviewing the changes.

Some pull requests that could use feedback and reviews now are:

Changing entity spawning return types to make them useful

API: https://github.com/SpongePowered/SpongeAPI/pull/1705

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1622

Adding fastutil as an API dependency

API: https://github.com/SpongePowered/SpongeAPI/pull/1708

Rewriting Color class and moving it to the implementation

API: https://github.com/SpongePowered/SpongeAPI/pull/1699

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1625

A proposal for ChangeDataHolderEvent.ValueChange

API: https://github.com/SpongePowered/SpongeAPI/pull/1695

Implementation: https://github.com/SpongePowered/SpongeForge/pull/1866

SizeData changes and implementation

API: https://github.com/SpongePowered/SpongeAPI/pull/1636

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1492

TagData for scoreboard tags

API: https://github.com/SpongePowered/SpongeAPI/pull/1633

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1490

Some explosion fixes and changes

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1368

Adding location based AI tasks

API: https://github.com/SpongePowered/SpongeAPI/pull/1470

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1159

Implementing CreatePortalEvent

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1608

Add exhaustion control to damage source

API: https://github.com/SpongePowered/SpongeAPI/pull/1674

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1573

Implement pickup events for other entities than players

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1615

Refactoring inventory, fixing issues, increasing understanding, and cleaning up various code

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1585

** Refactoring BlockChangeFlags*

API: https://github.com/SpongePowered/SpongeAPI/pull/1712

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1635

Some pull requests are aimed towards API 8 and/or Minecraft 1.13, and as a result are highly volatile, but could still use some feedback.

A broad pull request, making various changes to support 1.13

API: https://github.com/SpongePowered/SpongeAPI/pull/1704

Adding an API for data packs

API: https://github.com/SpongePowered/SpongeAPI/pull/1706

A new high-level command API, which plans to support Brigadier well

API: https://github.com/SpongePowered/SpongeAPI/pull/1587

Implementation: https://github.com/SpongePowered/SpongeCommon/pull/1400


Something to remember is that one of the best ways to get changes into Sponge and support the development is to make pull requests, whether that it is to the API, the implementation, the documentation, Ore, libraries we rely on, etc.

There are hundreds of issues that are approachable, you just have to find something you feel comfortable with. If you have any questions while developing don’t forget to come on Discord and ask for help.

SpongeAPI Issues: https://github.com/spongepowered/spongeapi/issues

SpongeCommon Issues: https://github.com/SpongePowered/SpongeCommon/issues

SpongeForge Issues: https://github.com/SpongePowered/SpongeForge/issues

SpongeDocs Issues: https://github.com/SpongePowered/Spongedocs/issues

Ore Issues: https://github.com/SpongePowered/ore/issues