All Mods Resource Packs Data Packs Shaders Modpacks Plugins
TCDCommons API

TCDCommons API

by TheCSDev • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

image

Sponsors Issues Issues Issues

TheCSDev's personal Minecraft modding library.

(The thumbnail is a screenshot of source code for one of the main GUI API classes; TScreen.java, shown in IntelliJ IDEA editor.)

Introduction

TCDCommons is a Minecraft modding API library that features its own GUI system and various events and hooks for the game, as well as utilities that may be useful to mod developers. This API's main purpose is to help optimize and speed up the development of mods, as well as to avoiding re-writing the same code for every mod that needs to do similar things. Please note that because this mod is a library, it may not offer useful front-end features to the user.

Key features

  • 🖥️ Robust GUI framework
  • ⚙ JSON-based config system
  • 🎣 Additional 'hooks' useful for modding the game

Dependencies

This mod depends on some other mods that first need to be installed before this mod can be installed. Those dependencies are as follows:

  • 🧵 Fabric API - Only if running on Fabric. Not required on NeoForge.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3
Fabric Neoforge
14h ago 1
26.3
Fabric Neoforge
14h ago 1
26.1.x 26w14a
Fabric Neoforge
14h ago 1
26.2
Fabric Neoforge
14h ago 1
26.1.x 26w14a
Fabric Neoforge
14h ago 1
26.2
Fabric Neoforge
14h ago 1
26.2
Fabric Neoforge
14h ago 1
26.2
Fabric Neoforge
14h ago 1
26.2
Fabric Neoforge
14h ago 1
26.2
Fabric Neoforge
14h ago 1
26.2
Fabric Neoforge
14h ago 1
26.2
Fabric Neoforge
14h ago 1
26.2
Fabric Neoforge
14h ago 1
26.1.x 26w14a
Fabric Neoforge
14h ago 1
26.1.x 26w14a
Fabric Neoforge
14h ago 1
26.1.x 26w14a
Fabric Neoforge
14h ago 1
26.1.x 26w14a
Fabric Neoforge
14h ago 1
26w14a
Fabric Neoforge
14h ago 1
26.1.1
Fabric Neoforge
14h ago 1
26.1
Fabric Neoforge
14h ago 1
26.1
Fabric
14h ago 1
1.21.11
Neoforge
14h ago 1
1.21.11
Fabric
14h ago 1
1.21.11
Fabric
14h ago 1
1.21.11
Neoforge
14h ago 1
1.21.11
Neoforge
14h ago 1
1.21.11
Fabric
14h ago 1
1.21.11
Neoforge
14h ago 1
1.21.11
Fabric
14h ago 1
1.21.11
Neoforge
14h ago 1
1.21.11
Fabric
14h ago 1
1.21.11
Neoforge
14h ago 1
1.21.11
Fabric
14h ago 1
1.21.11
Neoforge
14h ago 1
1.21.11
Fabric
14h ago 1
1.21.11
Neoforge
14h ago 1
1.21.11
Fabric
14h ago 1
1.21.10
Neoforge
14h ago 1
1.21.10
Fabric Quilt
14h ago 1
1.21.9
Neoforge
14h ago 1
1.21.9
Fabric Quilt
14h ago 1
1.21.8
Neoforge
14h ago 1
1.21.8
Fabric Quilt
14h ago 1
1.21.8
Neoforge
14h ago 1
1.21.8
Fabric Quilt
14h ago 1
1.21.8
Fabric Quilt
14h ago 1
1.21.7
Fabric Quilt
14h ago 1
1.21.6
Fabric Quilt
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.4
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.1
Fabric
14h ago 1
1.21.5
Fabric Quilt
14h ago 1
1.21.4
Fabric Quilt
14h ago 1
1.21.x
Fabric Quilt
14h ago 1
1.21.x
Fabric Quilt
14h ago 1
1.21.4
Fabric Quilt
14h ago 1
1.21.x
Fabric Quilt
14h ago 1
1.21.x
Fabric Quilt
14h ago 1
1.21.4
Fabric Quilt
14h ago 1
1.21.x
Fabric Quilt
14h ago 1
1.21.x
Fabric Quilt
14h ago 1
1.21.x
Fabric Quilt
14h ago 1
1.21.x
Fabric Quilt
14h ago 1
1.20.x
Fabric Quilt
14h ago 1
1.20.4
Fabric Quilt
14h ago 1
1.20.2
Fabric Quilt
14h ago 1
1.20.1
Fabric Quilt
14h ago 1
1.20.1
Fabric Quilt
14h ago 1
1.20.2
Fabric Quilt
14h ago 1
1.20.4
Fabric Quilt
14h ago 1
1.21
Fabric Quilt
14h ago 1
1.20.x
Fabric Quilt
14h ago 1
1.21
Fabric Quilt
14h ago 1
1.20.x
Fabric Quilt
14h ago 1
1.21
Fabric Quilt
14h ago 1
1.20.x
Fabric Quilt
14h ago 1
1.21
Fabric Quilt
14h ago 1
1.20.x
Fabric Quilt
14h ago 1
1.21
Fabric Quilt
14h ago 1
1.20.x
Fabric Quilt
14h ago 1
1.20.x
Fabric Quilt
14h ago 1
1.20.x
Fabric Quilt
14h ago 1
1.20.x
Fabric Quilt
14h ago 1
1.20.2
Fabric Quilt
14h ago 1
1.20.x
Fabric Quilt
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.4
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.2
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.20.x
Fabric
14h ago 1
1.19.4
Fabric
14h ago 1
1.19.3
Fabric
14h ago 1
1.19.2
Fabric
14h ago 1
1.18.2
Fabric
14h ago 1
1.19.4
Fabric
14h ago 1
1.19.3
Fabric
14h ago 1
1.19.2
Fabric
14h ago 1
1.18.2
Fabric
14h ago 1
1.19.4
Fabric
14h ago 1
1.19.3
Fabric
14h ago 1
1.19.2
Fabric
14h ago 1
1.18.2
Fabric
14h ago 1
1.19.4
Fabric
14h ago 1
1.19.3
Fabric
14h ago 1
1.19.2
Fabric
14h ago 1
1.18.2
Fabric
14h ago 1
1.19.4
Fabric
14h ago 1
1.19.4
Fabric
14h ago 1
1.19.3
Fabric
14h ago 1
1.19.3
Fabric
14h ago 1
1.19.2
Fabric
14h ago 1
1.18.2
Fabric
14h ago 1
1.19.3
Fabric
14h ago 1
1.19.2
Fabric
14h ago 1
1.18.2
Fabric
14h ago 1
1.19.2
Forge
14h ago 1
1.18.2
Forge
14h ago 1
1.19.3
Fabric
14h ago 1
1.19.2
Fabric
14h ago 1
1.18.2
Fabric
14h ago 1
1.19.3
Fabric
14h ago 1
1.19.2
Fabric
14h ago 1
1.18.2
Fabric
14h ago 1
1.19.2
Forge
14h ago 1
1.18.2
Forge
14h ago 1
1.19.2
Forge
14h ago 1
1.18.2
Forge
14h ago 1
1.19.3
Fabric
14h ago 1
1.19.2
Fabric
14h ago 1
1.18.2
Fabric
14h ago 1
1.19.2
Fabric
14h ago 1
1.18.2
Fabric
14h ago 1
[LogichniyPeop](https://github.com/LogichniyPeop) translated this mod to Ukrainian - Thank you so much for your translations. As always, anyone is welcome to contribute translations at any time.
(Incomplete) port to Minecraft 26.3.

  • Note on this beta release:**
In 26.3, Minecraft migrated from [GLFW](https://www.glfw.org/) to [SDL](https://www.libsdl.org/). Consequently, the game's input handling has changed.

As side-effect; while this mod has mostly adapted, I have not managed fully to port it properly in a timely manner (instead opting for a "band aid" solution). Expect text input fields and any typing-related GUI (from my mods) to be buggy. In addition, such GUI (from my mods) can only handle English keyboard layouts for now. Apologies in advance for the inconvenience.
Backported latest mod version to 26.1.
Mitigated **__a__** crash on NeoForge 26.2, at a small visual expense. I believe this crash should not have been there, but then again NeoForge 26.2 is still in beta as of me writing this. Please report any future or remaining crashes you encounter on NeoForge.

  • Technical details:**
This crash was related to MixinHud (present in [TCDCommons API](https://github.com/TheCSDev/tcdcommons)), a mechanism in the mod that'd prevent the [HUD](https://minecraft.wiki/w/Heads-up_display) from rendering while the better "Statistics" screen was open (to avoid HUD obstructing the screen). MixinHud has now been made optional, resolving the crash while at the same time the mechanism no longer working on NeoForge for now. This is a small visual difference and should not affect [UX](https://en.wikipedia.org/wiki/User_experience_design) too much.

Reminder than anyone (yes you) is welcome to translate this mod at any time!

Reminder than anyone (yes you) is welcome to translate this mod at any time!

Reminder than anyone (yes you) is welcome to translate this mod at any time!
  • [Xinyang-Gao](https://github.com/Xinyang-Gao) updated 'Simplified Chinese' and added 'Traditional Chinese' translations. Thank you so much for translating this mod for everyone!

Reminder than anyone (yes you) is welcome to translate this mod at any time!
### User-facing changelog

### Technical/API changelog
  • General minor tweaks in the mod's code, primarily corrections and tiny optimizations
  • Added com.thecsdev.commonmc.api.client.gui.util.TGuiUtils.isCtrlDown()
Added Russian translations by [ADevnin](https://github.com/ADevnin) - Thank you for translating this mod.
Port to 26.2.
  • Added extra miscellaneous translation keys
  • Fixed rendering bug related to TBlockStateElement where some blocks wouldn't render properly
### User-facing changelog

### Technical API changelog
This changelog is primarily for developers and programmers using this API mod. Most people may ignore it.

  • Added TCodec, a utility class featuring this mod's Codec<A> implementations for Mojang's DFU
  • Added dropShadowProperty() to TLabelElement
  • Added miscellaneous TElement implementations for rendering block states and item stacks on screen
  • Added TSeparatorElement. It draws a straight line and is configurable.
  • Added TToggleButtonWidget. It's similar to a button, but a togglable one.
Support for 26.1.X (including 26w14a)
Remember when I said I am moving on from NeoForge yesterday? Well scrap that, this release can handle both platforms simultaneously.

Just don't forget to install 'Fabric API' on Fabric, although you probably already know that. On NeoForge no dependencies are required.
## Changelog

  • Migrated from **Architectury** to **Fabric**
  • Ported to Minecraft 26.1

## Explanation and reasoning

This mod is now back to being exclusive to **Fabric**. This fate is uncertain but is likely to stay. There are two main reasons for this:

1. NeoForge has far less demand than Fabric. Look at the file download counts for any mod out there (mine included), and you will see ratios as big as 500:1 (aka Fabric getting as much as 500x more downloads). Personally, this isn't the main issue in my opinion - I wouldn't mind continuing to maintain NeoForge for the few people if it wasn't for the next reason.
2. Update delays and additional maintenance, all for a low-demand plarform. This is the main reason and issue I have. Whenever a new version of Minecraft releases - Fabric catches up within hours, meanwhile I am stuck for days to weeks waiting on Architectury and NeoForge to port over - just so I can then proceed to port my mods. No more NeoForge = no more having to deal with that. If NeoForge had a lot more demand, then this would in my opinion be a valid trade-off. For now, it is not.

Please note that I may change my mind. I already wish I didn't have to leave NeoForge behind. We will see what happens in the future. Please refer to **Forgified Fabric API** and **Sinytra Connector**, as they may help you run Fabric mods on NeoForge anyway.
This mod no longer depends on **Architectury API**.
This mod no longer depends on **Architectury API**.
Full release of v5.0 is finally here, featuring a more robust framework.

  • (Note that due to a tight deadline of March 24, 2026, I was unable to reimplement missing features in time. When or if they will make a comeback is uncertain for now, as there are many other things demanding my attention.)*

### **Changelog**
  • Overhauled framework that fixes what past game updates broke
  • Removed features that are no longer used by my other mods, as they were impacting maintainability


### **Legal notice**
The license for v5.X versions is All rights reserved for now, however it **also grants modpack developers** the right to feature v5.X versions in modpacks that are hosted **on CurseForge and Modrinth**. Please [read the full license file](https://github.com/TheCSDev/tcdcommons/blob/7c3a39d4c614f8f96bd354deb40f8633b3f14e21/LICENSE.md) for more info.

The primary reason for this is that I could not find a license for v5.X that I felt truly comfortable with, even though the initial idea was to assign a proper license once the full v5.0 release was out. It is possible that someday I may switch back to a F.O.S.S. license if I ever do find one I am comfortable with.

  • Regarding modpacks;** Feel free to feature my mods in modpacks on CurseForge and Modrinth. Despite the license, I intentionally worded it to permit modpack usage.
Full release of v5.0 is finally here, featuring a more robust framework.

  • (Note that due to a tight deadline of March 24, 2026, I was unable to reimplement missing features in time. When or if they will make a comeback is uncertain for now, as there are many other things demanding my attention.)*

### **Changelog**
  • Overhauled framework that fixes what past game updates broke
  • Removed features that are no longer used by my other mods, as they were impacting maintainability


### **Legal notice**
The license for v5.X versions is All rights reserved for now, however it **also grants modpack developers** the right to feature v5.X versions in modpacks that are hosted **on CurseForge and Modrinth**. Please [read the full license file](https://github.com/TheCSDev/tcdcommons/blob/7c3a39d4c614f8f96bd354deb40f8633b3f14e21/LICENSE.md) for more info.

The primary reason for this is that I could not find a license for v5.X that I felt truly comfortable with, even though the initial idea was to assign a proper license once the full v5.0 release was out. It is possible that someday I may switch back to a F.O.S.S. license if I ever do find one I am comfortable with.

  • Regarding modpacks;** Feel free to feature my mods in modpacks on CurseForge and Modrinth. Despite the license, I intentionally worded it to permit modpack usage.
General bug fixes and code refactoring.
General bug fixes and code refactoring.
Added APIs related to "Block" statistics.
Added APIs related to "Block" statistics.
## API changelog
  • ResourceResolver implementation, a tool for asynchronously fetching and loading external resources. Still in experimental phase - not recommended for use yet.
## API changelog
  • ResourceResolver implementation, a tool for asynchronously fetching and loading external resources. Still in experimental phase - not recommended for use yet.
TCDCommons API Icon
Download TCDCommons API
Select game version
Select platform