MCPcopy Index your code
hub / github.com/Hypejet/Jet

github.com/Hypejet/Jet @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
2,762 symbols 7,620 edges 694 files 1,566 documented · 57%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

✈️ Jet

[!WARNING] Jet is still under development and it is not recommended to use it by normal servers yet.

A high performance, multithreaded Minecraft server software which aims on high customizability without need to manually use packets. Designed for servers with custom behaviour, such as minigame servers.

Goals

Jet, unlike many already existing options: - Has a goal to provide high customizability and control via API without need to use packets - Is made to be compatible with most of the already existing plugins, libraries, and clients - Cares about code simplicity, readability and consistency, without compromising on the performance - Is designed to be friendly to developers, as well as normal users, thanks to the plugin system

Use cases

Jet was designed for servers that want to introduce their own - heavily modified or custom - behaviour. Because of that, it is perfect for most of networks with minigames or custom gamemodes. However, it is generally not recommended for someone who needs to utilize most vanilla features, for example to run a survival server.

Building

[!IMPORTANT] This project uses a modified version of Adventure. This is because the NBT Component serializer pull request has not been merged yet by original project maintainers. You need firstly to publish it to maven local to make Jet compile properly.

Jet uses Gradle as a build tool. The simpliest and most common way to build Jet is executing ./gradlew build command in the root project directory.

Running

To run Jet, you firstly need to build it as specified in the building section. When you get it done, you can copy the jar with -all suffix from the server/build/libs directory and run it as a normal terminal Java application. It is recommended to create a special directory for running a Jet server because it generates configuration files at startup.

License

This project is mainly licensed under the AGPLv3 license, however the API is licensed under the MIT license to allow plugins freedom of licensing and even being close-sourced.

Extension points exported contracts — how you extend this code

CodeGenerator (Interface)
Represents a plain Generator generator generating code of a plain Type Java type. @since 1.0 @see Type @s [6 implementers]
data/generator/src/main/java/net/hypejet/jet/data/generator/generator/CodeGenerator.java
WorldEvent (Interface)
Represents an event of plain net.hypejet.jet.world.World a world. The interface is not sealed, since it depen [14 implementers]
api/src/main/java/net/hypejet/jet/world/event/world/WorldEvent.java
SessionTask (Interface)
Represents a task of plain net.hypejet.jet.server.network.session.Session a session. Session tasks during con [11 implementers]
server/src/main/java/net/hypejet/jet/server/network/session/task/SessionTask.java
ResourceGenerator (Interface)
Represents a plain Generator generator generating contents a resource file. @since 1.0 @see Generator [2 implementers]
data/generator/src/main/java/net/hypejet/jet/data/generator/generator/ResourceGenerator.java
IntProvider (Interface)
Represents a way of providing an int. This interface is not sealed since it depends on Minecraft. Adding new [6 implementers]
api/src/main/java/net/hypejet/jet/util/game/number/IntProvider.java
NetworkReader (Interface)
Represents a function that reads plain T an object from plain ByteBuf a byte buf. @param a type of th [67 implementers]
server/src/main/java/net/hypejet/jet/server/network/codec/NetworkReader.java
RegistryExtractor (Interface)
Represents something that extracts data from a plain Registry Minecraft registry and converts it to Jet equivalen [2 implementers]
data/generator/src/main/java/net/hypejet/jet/data/generator/extractor/RegistryExtractor.java
CommandEvent (Interface)
Represents an event, which is called when something related to command management happens. @since 1.0 [6 implementers]
api/src/main/java/net/hypejet/jet/event/events/command/CommandEvent.java

Core symbols most depended-on inside this repo

add
called by 233
api/src/main/java/net/hypejet/jet/world/coordinate/Coordinate.java
get
called by 175
api/src/main/java/net/hypejet/jet/command/CommandManager.java
put
called by 154
server/src/main/java/net/hypejet/jet/server/util/collection/IntObjectMapBuilder.java
write
called by 147
server/src/main/java/net/hypejet/jet/server/network/codec/NetworkWriter.java
requiredTag
called by 107
server/src/main/java/net/hypejet/jet/server/util/nbt/BinaryTagUtil.java
key
called by 100
server/src/main/java/net/hypejet/jet/server/entity/JetEntity.java
build
called by 85
api/src/main/java/net/hypejet/jet/world/chunk/builder/ChunkBuilder.java
put
called by 84
server/src/main/java/net/hypejet/jet/server/registry/JetRegistryManager.java

Shape

Method 1,964
Class 702
Interface 78
Enum 18

Languages

Java100%

Modules by API surface

server/src/main/java/net/hypejet/jet/server/entity/player/JetPlayer.java32 symbols
server/src/main/java/net/hypejet/jet/server/entity/acquisition/gamemode/GameModeAcquirable.java31 symbols
server/src/main/java/net/hypejet/jet/server/network/SocketPlayerConnection.java29 symbols
api/src/main/java/net/hypejet/jet/entity/player/Player.java28 symbols
server/src/main/java/net/hypejet/jet/server/network/codec/packet/server/status/ServerListResponseStatusPacketWriter.java24 symbols
server/src/main/java/net/hypejet/jet/server/world/chunk/palette/AbstractChunkPalette.java23 symbols
server/src/main/java/net/hypejet/jet/server/scoreboard/JetScoreboard.java23 symbols
server/src/main/java/net/hypejet/jet/server/configuration/unparsed/UnparsedServerConfiguration.java23 symbols
server/src/main/java/net/hypejet/jet/server/world/chunk/builder/JetChunkBuilder.java22 symbols
server/src/main/java/net/hypejet/jet/server/world/update/JetWorldMapUpdate.java21 symbols
server/src/main/java/net/hypejet/jet/server/world/chunk/JetChunk.java20 symbols
server/src/main/java/net/hypejet/jet/server/network/packet/packets/server/play/ServerDeclareCommandsPlayPacket.java20 symbols

For agents

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

⬇ download graph artifact