Skip to content

Chaos Gems and Runes

SilentChaos512 edited this page Apr 14, 2019 · 2 revisions

Quick facts

  • Found in: Most versions
  • Generates chaos when enabled. Emission rate depends on context.
  • Limited number of slots to apply runes
  • Apply runes by crafting them with a chaos gem
  • Buff data path: data/*/silentgems/chaos_buffs

Introduction

Chaos gems are items which apply buffs to players when enabled, producing chaos as a side effect. Most buffs are simply potion effects. The buffs are set by crafting the chaos gem with chaos runes.

Each rune adds one level of a "buff". Different buffs will use a different number of slots, with higher levels requiring additional slots (usually one or two per extra level).

Minecraft 1.12.2 and Lower

Chaos was an energy system in 1.12.2 and earlier, so chaos gems must be charged to work. Place them in a chaos altar with nodes or pylons nearby. Most buffs will drain a fixed amount in 1.12.2 and lower, regardless of whether you are benefiting from them or not.

Using

Once a chaos gem has at least one rune applied, you can enable or disable it by using the chaos gem (right-click). Chaos will be generated depending on the buffs, and whether they are considered active or inactive. Typically, a buff is "active" if you are benefiting from it. For example, jump boost is active while you are in the air, water breathing is active underwater, etc. Most buffs still generate chaos while inactive, but the amount is much smaller. Consider disabling chaos gems when not in use.

Pedestals

When placed on a pedestal, chaos gems can apply effects to all players in a small radius. Redstone can be used to enable/disable the chaos gem. Chaos generated is slightly discounted if multiple players are in the area of effect.

Crafting

In Minecraft 1.13.2 and higher, both chaos gems and chaos runes are crafted in the token enchanter. Recipes are visible in Just Enough Items (JEI) and Roughly Enough Items (REI).

In Minecraft 1.12.2 and lower, normally vanilla crafting is used. Recipes are visible in Just Enough Items (JEI).

Adding Buffs

Additional buffs can be added (to some extent) with a data pack. For the most part you will only be able to add potion effect buffs (more types may be added in the future). The data path is data/*/silentgems/chaos_buffs, where * should be replaced by the namespace of your data pack.

Chaos rune recipes are best handled with the token enchanter. You can read about how to add recipes on the token enchanter page

If you are not familiar with data packs, you can read about them here.

JSON Format

JSON files are used to define chaos buffs, allowing a great degree of control. The slots and chaos generated can be controlled per-level. For example, if slots is an array of four elements, the first is the slots used by level I, the second element is the slots used by level II, etc. The same applies to cost.active. The inactive cost (cost.inactive) cannot be set by level.

You can view built-in buffs here: https://github.com/SilentChaos512/SilentGems/tree/1.13/src/main/resources/data/silentgems/silentgems/chaos_buffs

Properties

  • type - The type of buff, typically silentgems:potion
  • potion - The potion effect (for type silentgems:potion)
  • maxLevel - The maximum level allowed
  • displayName - The name of the effect. If you change translate to false, name will be used literally. Otherwise, it tries to translate name.
  • slots - Slots used (per level)
  • cost - Defines how chaos is generated
    • inactive - Chaos generated when conditions are not met
    • active - Chaos generated when conditions are met
    • conditions - Conditions in which the buff is considered "active". All conditions must be true to be considered active.

Cost Conditions

These are the conditions which may be used in cost.conditions. The JSON files ignore casing.

  • burning - The player is "on fire". Note that an entity can be "burning" without taking damage (i.e. this is true even if the player has fire resistance).
  • flying - The player is flying
  • hurt - The player is not at max health
  • in_air - The player is not standing on the ground
  • moving - The player has moved recently (this is currently broken and is always "true")
  • underwater - The player is currently in water

Example

{
    "type": "silentgems:potion",
    "potion": "minecraft:jump_boost",
    "maxLevel": 4,
    "displayName": {
        "translate": true,
        "name": "effect.minecraft.jump_boost"
    },
    "slots": [
        4,
        5,
        6,
        7
    ],
    "cost": {
        "inactive": 0,
        "active": [
            10,
            12,
            14,
            16
        ],
        "conditions": [
            "in_air"
        ]
    }
}
Clone this wiki locally