Chests that are quite colossal, and can be upgraded.
All stable releases (including deobfuscated builds) can be found on CurseForge.
Development builds are hosted as GitHub packages.
Addons can add chest materials, upgrades and functional walls.
Only use the org.cyclops.colossalchests2.api package, starting from ColossalChestsApi.get().
Register blocks and items while your mod is constructed.
GameTestAddon contains an example of each.
Depend on this mod and Cyclops Core from GitHub Packages.
This needs a Maven token.
Add it to ~/.gradle/gradle.properties:
gpr.user=<YOUR GITHUB USERNAME>
gpr.key=<YOUR TOKEN>
Alternatively, use the environment variables MAVEN_USERNAME (your github username) and MAVEN_KEY (your token).
Then add the dependencies, replacing neoforge with fabric, forge or common (for multi-loader common code) as needed:
repositories {
maven {
url "https://maven.pkg.github.com/CyclopsMC/packages"
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("MAVEN_USERNAME")
password = project.findProperty("gpr.key") ?: System.getenv("MAVEN_KEY")
}
}
}
dependencies {
implementation "org.cyclops.colossalchests2:colossalchests2-26.1.2-neoforge:<version>"
implementation "org.cyclops.cyclopscore:cyclopscore-26.1.2-neoforge:<version>"
}Materials:
- Register a wall and a core from
createWallandcreateCorewithnew ChestMaterial(id), and their items fromcreateMemberItem, which show the material limits. - Define the material in
data/<ns>/colossalchests2/material/<name>.json, withafter(such ascolossalchests2:copper),max_size,upgrade_slots,blast_resistantandupgrade_limits. This mod's materials are defined the same way, so datapacks can change or reorder them. - Add the giant chest texture
textures/entity/chest/<name>.pngand the lang keymaterial.<ns>.<name>.
Upgrades:
registerUpgrade(new ChestUpgrade(id) { ... }), overriding hooks such asapplyProfile,getExtraSlots,canInsertandtick.- Register the item
<ns>:upgrade_<name>fromcreateUpgradeItem. - Define its limits and strength in
data/<ns>/colossalchests2/upgrade/<name>.json, withmax_count,max_count_by_materialandvalue. Without this file, the upgrade is disabled.
Functional walls:
- Extend
ChestMemberBlock, or implementIChestMemberfor other block classes. - Get the chest with
getChest, and overrideonChestContentsChangedto react to changes. - Optionally draw on the giant chest with
ChestOverlays.register.
- Before submitting a pull request containing a new feature, please discuss this first with one of the lead developers.
- When fixing an accepted bug, make sure to declare this in the issue so that no duplicate fixes exist.
- All code must comply to our coding conventions, be clean and must be well documented.
- All bug reports and other issues are appreciated. If the issue is a crash, please include the FULL Forge log.
- Before submission, first check for duplicates, including already closed issues since those can then be re-opened.
For every major Minecraft version, a master-{mc_version} branch exists.
All code and images are licenced under the MIT License