-
Why another plugin API? Bukkit, Sponge, Forge, Spigot, Nukkit, etc... aren't enough?
- Yes, they are enough, but none of them solve the current problem: A plugin written to Bukkit will not work in Sponge, a plugin written to Nukkit will not work in Sponge. A limited multi-platform support exists between Bukkit, Spigot and PaperSpigot, but it's not enough, we need a multi-platform and multi-edition support. Sandstone comes to solve this problem, a plugin written on top of Sandstone API works in multiple Minecraft platforms and editions.
-
Can they support platform
X?- Yes, if the platform is mature and have a good community we will support it, if you want to request a platform support send a PR to GPPS Platform Support.
-
When they will support version
Xof Minecraft (or versionYof PlatformZ)?- It depends on the state of supported platforms, if platform
Zsupports1.10.2but platformAcurrently supports only1.8.9, Sandstone will partially support1.10.2, it means thatElytrawill be present in implementation to platformZbut not in implementation to platformA. Sandstone always track the latest version of Minecraft regardless the version of supported platforms.
- It depends on the state of supported platforms, if platform
-
Are mods supported?
- Only if the platform support mods (like
SpongePowered).
- Only if the platform support mods (like
-
How to install Sandstone?
- Officially implementations is provided as a plugin, you only need to install like a normal plugin (read the platform documentation to learn how to install plugins).
-
How to install Sandstone Plugins?
- Sandstone create
Sandstonedirectory in the root directory of the server, inside this directory the Sandstone create thepluginsdirectory, all plugins should be dropped inside this directory.
- Sandstone create
-
Where is configuration saved?
- In
configdirectory inside theSandstonedirectory.
- In
-
Which is the default configuration format?
- Sandstone uses
jsonas the default configuration format, the default configuration saver uses a user-friendly format to save json (multiline).
- Sandstone uses
-
How to write multi-platform and multi-edition plugins and activate and deactivate features depending on platform and edition?
- Sandstone provide
Platformclass andGameEdition, both can be retrieved from aGameinstance, thePlatform.platformNamereturns the platform name likeSpigot,SpongeVanilla,CraftBukkit,PaperSpigot, andPlatform.platformBaseNamethe base platform name likeSponge,Bukkit,Nukkit, etc... TheGameEditionmay beGameEditions.PE,GameEditions.PCor aGameEditiondefined by the implementation.
- Sandstone provide
-
Can I create a plugin that extends the platform support?
- Yes, and it is simple,
SandstoneCommonusesAdapterHelperto provide class adapters, first create your own class adapter, then register inAdapters.adapters. If you need a better reference see the SandstoneCommon Readme and the AdapterHelper documentation. - Only for projects that implements SandstoneCommon and support AdapterHelper, all official implementations supports AdapterHelper.
- Attention: Adapter is platform dependent, creating Adapters for non-platform classes will not work. Make sure to read the Adapters section of the implementation
- Yes, and it is simple,