The Best Resource for Minecraft
The Best Resource for Minecraft

In Control Mod Wiki

In Control! is a powerful utility mod for Minecraft that provides server administrators and modpack creators with absolute control over mob spawning, loot drops, experience rewards, and entity attributes through a flexible JSON-based rule system.

8 sections · 941 words

Overview#

In Control! is a comprehensive tool designed to manage every aspect of mob behavior and presence in a Minecraft world. Unlike mods that simply add content, In Control! acts as a logic layer, allowing you to define exactly when, where, and how mobs appear. It supports complex conditions such as biomes, dimensions, time of day, player distance, and even custom game stages.

Key Features

  • Spawn Restriction: Block specific mobs from spawning in certain biomes or dimensions.
  • Spawn Addition: Add mobs to dimensions where they don't naturally occur (e.g., Blazes in the Overworld).
  • Attribute Modification: Change a mob's health, speed, damage, and equipment upon spawning.
  • Loot & XP Control: Customize what items mobs drop and how much experience they grant.
  • Event-Based Spawning: Trigger mob spawns based on player actions like breaking blocks or killing other mobs.
  • Area Management: Define specific safe zones or high-danger areas using the new Area system.

Configuration Files#

All configuration files are located in the config/incontrol/ directory. These files use JSON syntax and are evaluated by the mod to apply rules.

File Name Purpose
spawn.json Restricts or modifies existing natural spawns.
spawner.json Adds new mob spawns to the world (1.16+).
loot.json Customizes item drops from mobs.
experience.json Customizes XP rewards from mobs.
summonaid.json Controls zombie reinforcement spawns.
effects.json Applies potion effects to players based on conditions.
phases.json Defines global conditions (phases) to simplify other rules.
areas.json Defines named geographic regions (1.20+).
events.json Spawns mobs based on specific world events (1.20+).
potentialspawn.json 1.12 ONLY. Replaced by spawner.json in newer versions.

Conditions Reference#

Conditions are tests that must be true for a rule to execute. Most conditions can be used across all JSON files.

Common Conditions

Condition Type Description
mob String/List The registry name of the mob (e.g., minecraft:zombie).
hostile Boolean Matches all hostile mobs if true.
passive Boolean Matches all passive mobs if true.
dimension String/List The dimension ID (e.g., minecraft:overworld).
biome String/List The biome registry name (e.g., minecraft:plains).
biometags String/List Matches biomes based on tags (e.g., minecraft:is_forest).
time Range Time of day in ticks (0-24000).
mindaycount Integer Minimum number of days passed in the world.
minlight Integer Minimum light level at the spawn position (0-15).
minheight Integer Minimum Y-level for the spawn.
seesky Boolean True if the position has a direct view of the sky.
onblock String The block the mob is spawning on.
weather String Current weather: clear, rain, or thunder.
difficulty String Current difficulty: easy, normal, hard.
random Float A random chance between 0.0 and 1.0.
area String Matches if the spawn is within a named area from areas.json.
phase String Matches if a specific phase from phases.json is active.

Actions Reference#

Actions define what happens when all conditions in a rule are met.

Spawn Actions (spawn.json)

Action Description
result The outcome: deny (block), allow (force), default (vanilla check), or deny_with_actions.
healthmultiply Multiplies the mob's base health.
healthadd Adds a flat value to the mob's health.
speedmultiply Multiplies the mob's movement speed.
damagemultiply Multiplies the mob's attack damage.
potion Applies a potion effect (Format: effect,duration,amplifier).
helditem Gives the mob an item to hold (Format: itemstack).
armorhelmet Equips the mob with a specific helmet.
customname Sets a custom display name for the mob.
nbt Adds custom NBT data to the entity.
nodespawn If true, the mob will never naturally despawn.
setphase Activates a specific phase.

Spawn Control (spawn.json)#

The spawn.json file is used to restrict or modify mobs that are already attempting to spawn. Rules are evaluated from top to bottom, and the first matching rule is applied.

Note: spawn.json cannot add new spawns; it can only filter or modify existing ones.

Example: Blocking Creepers in the Overworld

[
 {
 "dimension": "minecraft:overworld",
 "mob": "minecraft:creeper",
 "result": "deny"
 }
]

Example: Buffing Zombies at Night

[
 {
 "mob": "minecraft:zombie",
 "time": "13000-24000",
 "healthmultiply": 2.0,
 "damagemultiply": 1.5,
 "result": "default"
 }
]

Adding Spawns (spawner.json)#

Introduced in 1.16+, spawner.json allows you to add entirely new spawn rules to the world. Unlike spawn.json, all matching rules in this file are executed.

Spawner Keywords

  • mobs: A list of mob objects to spawn.
  • persecond: How often the spawner attempts to run (e.g., 0.5 means every 2 seconds).
  • attempts: Number of attempts per cycle.
  • amount: Number of mobs to spawn per successful attempt.
  • conditions: The conditions required for this spawner to run.

Example: Spawning Blazes in Deserts

[
 {
 "mobs": [
 {
 "mob": "minecraft:blaze",
 "weight": 10,
 "groupcountmin": 1,
 "groupcountmax": 2
 }
 ],
 "persecond": 0.1,
 "attempts": 20,
 "amount": {
 "minimum": 1,
 "maximum": 3
 },
 "conditions": {
 "dimension": "minecraft:overworld",
 "biome": "minecraft:desert"
 }
 }
]

Loot and Experience#

Loot Control (loot.json)

This file allows you to add or remove items from a mob's drop table. You can use conditions like playerhelditem to make specific items drop only when killed with a certain tool.

Action Description
item The item to add to the drops.
remove A list of items to remove from the default drops.
removeall If true, removes all vanilla drops.

Experience Control (experience.json)

Controls the amount of XP dropped by a mob.

Action Description
result Set to deny to prevent any XP from dropping.
setxp Sets the XP to a fixed value.
multxp Multiplies the default XP value.

Commands#

In Control! provides several commands for debugging and management. All commands start with /incontrol.

Command Description
/incontrol reload Reloads all JSON configuration files immediately.
/incontrol debug Toggles debug mode, logging spawn details to the console.
/incontrol show Lists all valid entity registry names.
/incontrol list Lists all currently loaded mobs in the current dimension.
/incontrol kill <type> Kills mobs of a certain type (all, hostile, passive).
/incontrol days Shows or sets the current internal day counter.
/incontrol phases Lists all currently active phases.
/incontrol area Shows information about the area the player is standing in.