MCPcopy Index your code
hub / github.com/SpongePowered/SpongeAPI

github.com/SpongePowered/SpongeAPI @v17.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v17.0.0 ↗ · + Follow
7,775 symbols 12,230 edges 1,549 files 5,570 documented · 72%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SpongeAPI Build Status

A mature Minecraft plugin API (not including an implementation), licensed under the MIT License.

Prerequisites

Clone

The following steps will ensure your project is cloned properly.
1. git clone https://github.com/SpongePowered/SpongeAPI.git
2. cd SpongeAPI
3. cp scripts/pre-commit .git/hooks

Building

Note: If you do not have Gradle installed then use ./gradlew for Unix systems or Git Bash and gradlew.bat for Windows systems in place of any 'gradle' command.

In order to build SpongeAPI you simply need to run the gradle command. You can find the compiled JAR file in ./build/libs labeled similarly to 'spongeapi-x.x.x-SNAPSHOT.jar'.

Sponge will use a javac version of at least 21. If an older JDK is used to launch Gradle, JDK 21 will be downloaded automatically.

Contributing

Are you a talented programmer looking to contribute some code? We'd love the help! * Open a pull request with your changes, following our guidelines. * Please follow the above guidelines and requirements for your pull request(s) to be accepted.

Extension points exported contracts — how you extend this code

EnumStateProperty (Interface)
Represents a type of StateProperty that accepts an unknown Enum set of values. Due to type erasure and i [10 implementers]
src/main/java/org/spongepowered/api/state/EnumStateProperty.java
BooleanStateProperty (Interface)
Represents a type of StateProperty that allows only Boolean of which two possible values may exist: <cod [10 implementers]
src/main/java/org/spongepowered/api/state/BooleanStateProperty.java
IntegerStateProperty (Interface)
Represents a type of StateProperty that accepts Integer based values, usually with a predefined range. I [10 implementers]
src/main/java/org/spongepowered/api/state/IntegerStateProperty.java
DataSerializable (Interface)
Represents an object that can be represented by a DataContainer. DataContainers received from {@link DataSeri [17 implementers]
src/main/java/org/spongepowered/api/data/persistence/DataSerializable.java
PositionSource (Interface)
In some particle implementations, they can "follow" a source that moves over several ticks such that a singular position [10 …
src/main/java/org/spongepowered/api/world/PositionSource.java

Core symbols most depended-on inside this repo

minecraft
called by 7224
src/main/java/org/spongepowered/api/ResourceKey.java
key
called by 1771
src/main/java/org/spongepowered/api/effect/sound/SoundTypes.java
key
called by 1488
src/main/java/org/spongepowered/api/item/ItemTypes.java
sponge
called by 1395
src/main/java/org/spongepowered/api/ResourceKey.java
key
called by 1166
src/main/java/org/spongepowered/api/block/BlockTypes.java
key
called by 507
src/main/java/org/spongepowered/api/data/Keys.java
key
called by 258
src/main/java/org/spongepowered/api/world/generation/feature/PlacedFeatures.java
key
called by 224
src/main/java/org/spongepowered/api/world/generation/feature/Features.java

Shape

Method 5,896
Interface 1,553
Class 303
Enum 23

Languages

Java100%

Modules by API surface

src/main/java/org/spongepowered/api/network/channel/ChannelBuf.java97 symbols
src/main/java/org/spongepowered/api/command/parameter/Parameter.java97 symbols
src/main/java/org/spongepowered/api/world/server/storage/ServerWorldProperties.java67 symbols
src/main/java/org/spongepowered/api/entity/Entity.java64 symbols
src/main/java/org/spongepowered/api/command/parameter/managed/standard/VariableValueParameters.java52 symbols
src/main/java/org/spongepowered/api/state/BooleanStateProperties.java51 symbols
src/main/java/org/spongepowered/api/data/persistence/DataView.java48 symbols
src/main/java/org/spongepowered/api/util/weighted/VariableAmount.java43 symbols
src/main/java/org/spongepowered/api/state/EnumStateProperties.java42 symbols
src/main/java/org/spongepowered/api/Server.java42 symbols
src/main/java/org/spongepowered/api/world/generation/config/SurfaceRule.java41 symbols
src/main/java/org/spongepowered/api/data/DataTransactionResult.java40 symbols

For agents

$ claude mcp add SpongeAPI \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact