ChromaCraft - BlackWidow Chroma custom effects in Minecraft

Discussion in 'Razer Chroma' started by KeithM, Oct 10, 2015.

Thread Status:
Not open for further replies.
  1. xkisu

    xkisu Member



    (the editing could be better, but oh well, I was pressed for time)

    ChromaCraft is a mod that adds custom keyboard lighting and effects to Razer Blackwidow Chroma keyboards based on whats happening in Minecraft. (It should work on TE Blackwidow Chroma as well, but I don't have one so I can't test)

    I wrote ChromaCraft in about a week, it's pretty stable, but if you find any bugs, or get crashes, PLEASE PLEASE PLEASE post them here so I can help you, and find issues I might need to fix :)

    These are the currently available features in the current version of the mod (1.0). If you have ideas for more, please feel free to suggest them down below, and I'll try my best to add them.

    • You can enable and disable the mod while playing, either using a keybind set in the controls, or with a button in the options GUI. This allows you to only turn on the lighting when you want it, and leave your current lighting on if you don't want to use the mod.
    • F1-F12 keys light up depending on your health, they also change colors from red to yellow to green depending on your health. When your regening health, they flash purple (regen color is configurable)
    • The hotbar keys 1-9 changes colors depending on the slot, if the slot doesn't have an item in it, it's light blue, if the slot has an item, it's dark blue, and if the slot is selected it's white (Colors are fully configurable!)
    • The Print Screen (PRT SC) shows your hunger. It changes color from red to yellow to green depending on your hunger, and starts flashing once your hunger is half-gone (flashes faster the more hungry you are)
    • The Scroll Lock (SRC LK) key shows your bow status. It's blank if your not drawing back a bow, red if it's in the first stage of drawing back a bow, yellow in the second, and green if the bow is fully drawn back
    • The keyboard flashes red if you take damage (WIP sometimes it works, and sometimes it doesn't)
    • The numpad shows the currently active potion effects. Number 7 shows the first active effect, Number 8 shows the 2nd, etc (Look below for more info, also is won't work the Torunment Edition BlackWidow Chroma, since there is no numpad)
    • You can change the background color to whatever you want in the settings (the parts of the keyboard that are not colored by health, hotbar, etc)

    There are currently some limitation, due to the SDK being in beta, and because I just don't have the money to get more Razer devices to test on.

    • Currently only available for BlackWidow Chroma Keyboards (Tournament Edition BlackWidow Chroma is untested, but should work)
    • It only works on Windows. Sorry Mac and Linux users, Razer currently only supports Windows with their Chroma SDK
    • You need to either change your lighting profile to a non-custom Synapse lighting profile (Eg, Spectrum, Static, etc), or shut off Synapse to use the mod (this will change soon, Razer is going to be adding support to run it with custom profiles). If you don't, your keyboard will constantly flicker between colors as the mod and Synapse both try to change the keyboard colors while the mod is running.
    Screenshots and Additional Info



    Installing The Mod

    This installation process is a bit long, and might be hard for some of you to understand. I've done my best to explain it clearly, but if you need help please don't hesitate to ask.

    The reason it is confusing/long, is because the Razer SDK is still in beta, so it's not currently as optimized as it could be for redistributing apps made with it. I might make an installer in the future if they don't make the process simpler soon.

    You can skip installing the Chroma SDK files, and just go on to installing forge and adding the mod to your mods folder if you have already installed and ran the Music Visualizer successfully, as it installed the same files used here.
      1. You'll need to download and install “C++ redistributable for Visual Studio 2015” from Microsoft, chose the x86 version.
      2. You need to download the Razer SDK installers from here and install the “SDK Core Files”
      3. From the Razer SDK files you downloaded, you need to extract the “” zip file to any spot on your drive.
        1. Find the file called “Enable SDK Support.reg” in the extracted folder
        2. Run the one called “Enable SDK support (x64).reg” if you have a x64 bit computer, or the one called “Enable SDK support (x86).reg” if you have a 36 bit
      4. Finally you'll need to install the latest version of Forge for 1.8, then download the mod, and drop it in your mods folder.

    Currently there are no “Frequently asked questions”, but I though I would put the issues people will be likely to have here just in case.
      • I don't see any lighting effects
        on my keyboard
        • You either need to go into the Minecraft Settings > Controls and see what key is set to "Enable/Disable” under the Chroma category, press that while in game and it will enable the lighting. Or go to the same spot, and find what key you have set the the Chroma options keybind, press that while in game, and in the upper left corner press the button the says “ChromaCraft: Disabled”
      • What is the “chroma_runtime” folder that appeared in my mods folder
        • That folder contains a couple libraries, and an exe that are used to change the lighting on the keyboard. You don't need to do anything with these, the mod finds and uses them when it runs.
      • The lights on my keyboard are flickering when I enable the mod
        • That is because you have a custom lighting profile enabled. Either close Synapse, or change your lighting profile to a standard one (Spectrum, Reactive, etc)
      • This isn't working on my Mac, or it crashes my Minecraft on my Ma
        • The mod does not support Mac, sorry. I wish I could, but this is because Razer only has SDK support for Windows computer. (They might add cross-platform support in the future)
      • Where can I change the colors or the lights?
        • Look in options>controls and see what you have your Chroma Options Key set to (default o), press that, then in the bottom left corner, click on colors

    • Make the red flash when your hurt works all the time, not just sometimes.
    • Add support for more devices (see below for how you can help with that)
    • Make keys be different colors depending on what mod their being used by. (Reads the list of keybinds, and color codes them)
    • Fix the algorithm used to fit the Minecraft health onto the F1-F12 keys, as sometimes it is 1 key off.
    • Any other ideas the community has
    Known Bugs
    • The red flash on the keyboard when your hurt only works sometimes, other times it just doesn't flash
    • The potion colors on the numpad are a bit brighter then they are in game, need to figure out how to darken them.
    Last edited: Oct 19, 2015
  2. DryCryCrystal

    DryCryCrystal New Member

    Cant wait to get this working!
  3. cringecreations

    cringecreations New Member

    Dood this is so sick! Can't wait! :heart:
    Ofekdeu likes this.
  4. xkisu

    xkisu Member

    Update: Changed to CurseForge download for easier updates
  5. njbmartin

    njbmartin Developer of Awesome

  6. xkisu

    xkisu Member

    Thanks guys! It means a lot to have people like my work :heart:
    Jacko likes this.
  7. Stevie_Eye

    Stevie_Eye Active Member

    I hope this it's near the top of the forums... I'll be getting this as soon as I can, probably this weekend.
    KeithM likes this.
  8. xkisu

    xkisu Member

    I'm gonna be trying to get a demo video up tonight :)
    Stevie_Eye likes this.
  9. Stevie_Eye

    Stevie_Eye Active Member

    That would be awesome! I'd love to see it but I've been awfully busy this week. I probably can't set this stuff up till the weekend
  10. Spodiesie

    Spodiesie Member

    THAT IS SO COOL!!! but not unusable, because I guess you are gonna be looking at the monitor and not the keyboard when you are playing
  11. xkisu

    xkisu Member

    Yeah, you probably are most of the time, but it can still look cool to anyone in the room with you :stuck_out_tongue_winking_eye:
  12. njbmartin

    njbmartin Developer of Awesome

    I may just have to start playing Minecraft again!
    KeithM likes this.
  13. xkisu

    xkisu Member

    The video is probably going to be delayed until tomorrow. I had some recording issues :stuck_out_tongue_winking_eye:
  14. Niceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
    KeithM, njbmartin and Bubblecookie like this.
  15. bubblecookie

    bubblecookie Member

    Damn, this is really neat!:D
    KeithM likes this.
  16. xkisu

    xkisu Member

    Just waiting for the demo video to finish processing on YouTube ;) The editing I didn't isn't the best (you might have to pause in a couple spots to read titles), but I was rushed for time
  17. xkisu

    xkisu Member

    Added a demo video to the main post!
    Bubblecookie and njbmartin like this.
  18. njbmartin

    njbmartin Developer of Awesome

    AMAZING! Really nicely done!
  19. A detailed walkthrough of the error, its code path and all known details is as follows:
    Crashed when tried :slightly_sad:
    -- Head --
    at org.apache.commons.compress.utils.IOUtils.copy(
    at org.apache.commons.compress.utils.IOUtils.copy(
    at info.icodethings.chroma.wrapper.UnpackWrapper.<init>(
    at info.icodethings.chroma.Chroma.preInit(
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    at java.lang.reflect.Method.invoke(
    at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    at java.lang.reflect.Method.invoke(
    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(
    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    at java.lang.reflect.Method.invoke(
    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(
    at net.minecraftforge.fml.common.Loader.preinitializeMods(
    at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(
    at net.minecraft.client.Minecraft.func_71384_a(

    -- Initialization --
    at net.minecraft.client.Minecraft.func_99999_d(
    at net.minecraft.client.main.Main.main(SourceFile:120)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    at java.lang.reflect.Method.invoke(
    at net.minecraft.launchwrapper.Launch.launch(
    at net.minecraft.launchwrapper.Launch.main(

    -- System Details --
    Minecraft Version: 1.8
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_25, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 103278216 bytes (98 MB) / 281309184 bytes (268 MB) up to 3207856128 bytes (3059 MB)
    JVM Flags: 6 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx3G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v9.10 FML v8.0.76.1404 Minecraft Forge 4 mods loaded, 4 mods active
    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized
    FML{} [Forge Mod Loader] (forge-1.8- Unloaded->Constructed->Pre-initialized
    Forge{} [Minecraft Forge] (forge-1.8- Unloaded->Constructed->Pre-initialized
    chroma{1.0} [ChromaCraft] (chromacraft-1.0.jar) Unloaded->Constructed->Errored
    Loaded coremods (and transformers):
    Launched Version: 1.8-Forge11.14.1.1404
    LWJGL: 2.9.1
    OpenGL: AMD Radeon R7 200 Series GL version 4.5.13399 Compatibility Profile Context 15.200.1062.1004, ATI Technologies Inc.
    GL Caps: Using GL 1.3 multitexturing.
    Using GL 1.3 texture combiners.
    Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
    Shaders are available because OpenGL 2.1 is supported.
    VBOs are available because OpenGL 1.5 is supported.

    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs: []
    Current Language: English (US)
    Profiler Position: N/A (disabled)
  20. Thannis86

    Thannis86 Active Member

    This is freaking awesome. But would it work for modpacks?
Thread Status:
Not open for further replies.
Sign In with Razer ID >

Don't have a Razer ID yet?
Get Razer ID >