Skip to content

About

Chests that are quite colossal, and can be upgraded.

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

 
 

Latest commit

 

History

513 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Colossal Chests 2

Build Status Coverage Status Crowdin Download CurseForge Discord

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.

Extending

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 createWall and createCore with new ChestMaterial(id), and their items from createMemberItem, which show the material limits.
  • Define the material in data/<ns>/colossalchests2/material/<name>.json, with after (such as colossalchests2:copper), max_size, upgrade_slots, blast_resistant and upgrade_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>.png and the lang key material.<ns>.<name>.

Upgrades:

  • registerUpgrade(new ChestUpgrade(id) { ... }), overriding hooks such as applyProfile, getExtraSlots, canInsert and tick.
  • Register the item <ns>:upgrade_<name> from createUpgradeItem.
  • Define its limits and strength in data/<ns>/colossalchests2/upgrade/<name>.json, with max_count, max_count_by_material and value. Without this file, the upgrade is disabled.

Functional walls:

  • Extend ChestMemberBlock, or implement IChestMember for other block classes.
  • Get the chest with getChest, and override onChestContentsChanged to react to changes.
  • Optionally draw on the giant chest with ChestOverlays.register.

Contributing

  • 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.

Issues

  • 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.

Branching Strategy

For every major Minecraft version, a master-{mc_version} branch exists.

License

All code and images are licenced under the MIT License

About

Chests that are quite colossal, and can be upgraded.

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages