MCPcopy Index your code
hub / github.com/CrucibleMC/Crucible

github.com/CrucibleMC/Crucible @v5.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v5.4 ↗ · + Follow
12,999 symbols 34,582 edges 1,566 files 4,176 documented · 32%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Crucible

What's Crucible?

Crucible is a continuation of Thermos as it has been discontinued.

Advantages over Thermos: + It is now possible to build. :) + Fixed several bugs. + Performance Improvements. + Updated some libraries. + Works with luckperms out of the box. No need to replace files! + TimingsV2 implemented. + You can see more changes in the releases changelog.

Build Requirements

  • Java 8u141 JDK or higher
  • Linux (apparently the project breaks on Windows).
  • JAVA_HOME defined on your OS

Setup the Workspace

  • Checkout project
  • You can use IDE or clone from console: git clone https://github.com/CrucibleMC/Crucible.git
  • Creating the workspace
  • To create the workspace just run the command: ./gradlew setupCrucible
  • To create the patches with the changes made just run: ./gradlew genPatches
  • Building
  • Before you can build you must first setup the workspace!
  • To build just run the command: ./gradlew jar
  • All builds will be in build/distributions
  • Updating sources
  • Update sources: git pull origin master
  • Recreate the workspace: ./gradlew clean setupCrucible

Know incompatibilities and bugs

  • Some coremods may crash with java.lang.VerifyError: Expecting a stackmap frame, we still don't know what causes that, but adding -noverify to your JVM arguments seems to fix the problem.

Useful links

  • Spark "Spark is a performance profiling plugin based on sk89q's WarmRoast profiler."
  • Grimoire "A core mod that Grimoire-Mixins Modules use to be loaded up."
  • Discord "Our support Discord."

Roadmap

You can check our Roadmap on our wiki.

Extension points exported contracts — how you extend this code

ServerOperator (Interface)
Represents an object that may become a server operator, such as a Player [10 implementers]
bukkit/src/main/java/org/bukkit/permissions/ServerOperator.java
Converter (Interface)
@author geNAZt (fabian.fassbender42@googlemail.com) [12 implementers]
src/main/java/net/cubespace/Yamler/Config/Converter/Converter.java
ModContainer (Interface)
The container that wraps around mods in the system. The philosophy is that individual mod implementation technologie [6 …
forge/fml/src/main/java/cpw/mods/fml/common/ModContainer.java
IModelCustomLoader (Interface)
Instances of this class act as factories for their model type @author cpw [4 implementers]
forge/src/main/java/net/minecraftforge/client/model/IModelCustomLoader.java
Permissible (Interface)
Represents an object that may be assigned permissions [7 implementers]
bukkit/src/main/java/org/bukkit/permissions/Permissible.java
Timing (Interface)
Provides an ability to time sections of code within the Minecraft Server [4 implementers]
src/main/java/co/aikar/timings/Timing.java
IMessage (Interface)
Implement this interface for each message you wish to define. @author cpw [19 implementers]
forge/fml/src/main/java/cpw/mods/fml/common/network/simpleimpl/IMessage.java
IFluidContainerItem (Interface)
Implement this interface on Item classes that support external manipulation of their internal fluid storage. A referenc [3 …
forge/src/main/java/net/minecraftforge/fluids/IFluidContainerItem.java

Core symbols most depended-on inside this repo

get
called by 453
forge/fml/src/main/java/cpw/mods/fml/client/config/IConfigElement.java
equals
called by 350
src/main/java/co/aikar/timings/FunctionStub.java
put
called by 314
forge/src/main/java/net/minecraftforge/common/config/ConfigCategory.java
append
called by 300
src/main/java/net/md_5/bungee/api/chat/ComponentBuilder.java
get
called by 259
forge/fml/src/main/java/cpw/mods/fml/common/registry/RegistryDelegate.java
add
called by 251
forge/fml/src/main/java/cpw/mods/fml/common/registry/FMLControlledNamespacedRegistry.java
getClass
called by 227
forge/fml/src/main/java/cpw/mods/fml/relauncher/ReflectionHelper.java
get
called by 222
bukkit/src/main/java/org/bukkit/configuration/ConfigurationSection.java

Shape

Method 11,088
Class 1,507
Interface 266
Enum 138

Languages

Java100%

Modules by API surface

forge/fml/src/main/java/cpw/mods/fml/client/config/GuiConfigEntries.java175 symbols
src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java138 symbols
src/main/java/org/bukkit/craftbukkit/CraftServer.java135 symbols
src/main/java/org/bukkit/craftbukkit/CraftWorld.java111 symbols
bukkit/src/main/java/org/bukkit/World.java94 symbols
bukkit/src/main/java/org/bukkit/Bukkit.java91 symbols
bukkit/src/main/java/org/bukkit/Server.java88 symbols
bukkit/src/main/java/org/bukkit/entity/Player.java79 symbols
forge/fml/src/main/java/cpw/mods/fml/common/FMLCommonHandler.java64 symbols
src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java60 symbols
src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java59 symbols
forge/src/main/java/net/minecraftforge/common/config/Property.java59 symbols

For agents

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

⬇ download graph artifact