MCPcopy Index your code
hub / github.com/EngineHub/CraftBook

github.com/EngineHub/CraftBook @v4.0a1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.0a1 ↗ · + Follow
1,621 symbols 4,193 edges 222 files 128 documented · 8%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CraftBook

CraftBook is a heavily customizable plugin adding exciting new gameplay elements and advanced redstone functions!

  • Modular, and extremely light on your server.
  • Enable features that you need, disable ones that you don't. Even tweak features to your liking!
  • Redstone ICs (AND/OR gates, lightning striker gates)
  • Elevators for your server so people can jump between floors quickly (Or smoothly, if you choose so)
  • Working cauldrons so players can cook inside them
  • Your own custom crafting recipes
  • Hidden switches for players
  • Minecart booster blocks and more
  • Togglable areas and bridges
  • Chairs you can sit on
  • Working pipes that can transfer items from place to place!
  • Footprints where your players walk!
  • Mobs and players drop their heads.
  • The ability to bind commands to items, with cool-downs, permissions and timers.
  • And much more!

An extensive list of features is available on the docs!

Branch Structure

Currently the 'master' branch contains CraftBook 4, the next version of CraftBook. Currently this version only supports Sponge.

For the prior version of CraftBook for Bukkit and Spigot, the '3.x' branch is what you want.

Starting from CraftBook 4, there are 'version' branches that contain the last supported version for a branch. This is used for backporting reasons. The format is as follows, version/1.x.

Compiling

The project is written for Java 8 and our build process makes use of Gradle. simply run:

gradlew build

Dependencies are automatically handled by Gradle.

Contributing

We happily accept contributions. The best way to do this is to fork CraftBook on GitHub, add your changes, and then submit a pull request. We'll look at it, make comments, and merge it into CraftBook if everything works out.

In addition, please ensure your code is compliant with the Sun/Oracle Code Conventions to keep things neat and readable.

By submitting code, you agree to place to license your code under the irrevocable GNU General Public License v3.

Links

Sponsors

BeastNode Logo

BeastNode offers premier hosting for a great price!

YourKit Logo

YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.

Extension points exported contracts — how you extend this code

BlockBag (Interface)
Represents an object that contains an inventory, and can be used as a source of blocks for CraftBook mechanics. [7 implementers]
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/blockbags/BlockBag.java
Mechanic (Interface)
The base class for any CraftBook mechanic. [4 implementers]
craftbook-core/src/main/java/com/sk89q/craftbook/core/Mechanic.java
SelfTriggeringMechanic (Interface)
(no doc) [6 implementers]
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/st/SelfTriggeringMechanic.java
DocumentationProvider (Interface)
(no doc) [53 implementers]
craftbook-core/src/main/java/com/sk89q/craftbook/core/util/documentation/DocumentationProvider.java
SelfTriggeringIC (Interface)
(no doc) [4 implementers]
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/ics/SelfTriggeringIC.java
JingleSequencer (Interface)
(no doc) [4 implementers]
craftbook-core/src/main/java/com/sk89q/craftbook/core/util/jinglenote/JingleSequencer.java
ShowInterpreter (Interface)
(no doc) [4 implementers]
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/ics/chips/world/miscellaneous/ProgrammableFireworksDisplay.java
SelfTriggerManager (Interface)
(no doc) [2 implementers]
craftbook-core/src/main/java/com/sk89q/craftbook/core/st/SelfTriggerManager.java

Core symbols most depended-on inside this repo

getValue
called by 233
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/util/Metrics.java
add
called by 152
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/blockbags/BlockBag.java
append
called by 151
craftbook-core/src/main/java/com/sk89q/craftbook/core/util/report/ReportWriter.java
getPinSet
called by 137
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/ics/IC.java
getBlock
called by 121
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/ics/IC.java
load
called by 89
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/ics/IC.java
getName
called by 85
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/ics/plc/PlcLanguage.java
getTextRaw
called by 76
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/util/SignUtil.java

Shape

Method 1,315
Class 285
Interface 15
Enum 6

Languages

Java100%

Modules by API surface

craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/util/Metrics.java57 symbols
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/ics/chips/world/miscellaneous/ProgrammableFireworksDisplay.java27 symbols
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/area/Gate.java19 symbols
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/util/BlockUtil.java18 symbols
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/CookingPot.java18 symbols
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/util/SignUtil.java17 symbols
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/ics/plc/lang/Perlstone.java17 symbols
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/ics/chips/world/block/BlockReplacer.java17 symbols
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/mechanics/Chairs.java17 symbols
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/CraftBookPlugin.java17 symbols
craftbook-core/src/main/java/com/sk89q/craftbook/core/util/ConfigValue.java17 symbols
craftbook-sponge/src/main/java/com/sk89q/craftbook/sponge/util/LocationUtil.java16 symbols

For agents

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

⬇ download graph artifact