Quick Nav


Back To Top

Overview

DragonAPI is a function library and support mod which is relied upon by all of my mods. If you do not have the API, you will crash on game load with a NoClassDefFoundError mentioning DragonAPIMod.class.

Features

DragonAPI does add some features to the game in its own right. Most of the significant ones are configurable (see below); others are simply streamlining and fixes.

Developers can download the DragonAPI source from the link below.

Developer Features

If you are a developer, here are some (a very small subset) of the features to using DragonAPI:

Developer Use

You may use DragonAPI to create your own mods - it was always designed with this in mind - but there are some restrictions. See the License page for more details.

Configuration Settings

This mod contains several config options to modify values and behaviors - such as for balance or server safety concerns, or simply personal taste - to your preferences. Note that several settings may have bounds imposed on their values, either logically or explicitly; these can usually be seen in the actual settings files or ingame. These are listed in order found in the source code, which is generally the order in which they were added; They may be present in a different order ingame or in the configuration files.
The settings for the mod, when installed, can be found in the 'config/Reika' subfolder of the MC instance.

Console Loading Info

Type: boolean
Current Default Value:
true

Log Loading Info To Separate File

Type: boolean
Current Default Value:
false

Debug Mode

Type: boolean
Current Default Value:
false

Sync Packet ID

Type: int
Current Default Value:
182

Disable Renders For Debug

Type: boolean
Current Default Value:
false

Show TileEntity NBT when using Debug Key

Type: boolean
Current Default Value:
false

Increase sound channel count

Type: boolean
Current Default Value:
true

Restore Obsidian Blast Resistance

Type: boolean
Current Default Value:
true
This is to undo an effect from IC2, presumably intended for making obsidian vulnerable to its explosions.

Disable Hotbar Swapping

Type: boolean
Current Default Value:
false
Whether to disable using number keys while mousing over inventory slots to swap its item into that hotbar slot. Good if you keep doing this accidentally.

Log errors to chat

Type: boolean
Current Default Value:
true

Sort Creative Tabs Alphabetically

Type: boolean
Current Default Value:
true

Custom/Donator Renders

Type: boolean
Current Default Value:
true

Only show update notice to Ops or SSP

Type: boolean
Current Default Value:
false

Force Gregtech Ore Compatibility

Type: boolean
Current Default Value:
true
Whether to add GT ores to the registries of vanilla/modded ores DAPI recognizes.

Log Sync Packet CME Avoidance

Type: boolean
Current Default Value:
true
Whether to log an error to the console when a TE sync packet arrives during the tick and would have triggered a CME. Usually only happens when the TPS drops severely, and is not harmful aside from causing clientside desync.

Slow Sync Packets - Only use this as a last resort

Type: boolean
Current Default Value:
false
Whether to reduce the rate at which sync packets are sent. This is not a good thing to do unnecessarily.

Minimum Delay (ms) for 'Can't Keep Up!' Log Warning

Type: int
Current Default Value:
0

Check Environment Sanity

Type: boolean
Current Default Value:
false
Whether to warn about other mods registering invalid content (eg biomes without names or items that crash when rendered). See here.

Attempt to Repair Environment Sanity

Type: boolean
Current Default Value:
false
Whether to attempt to repair the above detections. Imperfect.

Admins Bypass Permissions

Type: boolean
Current Default Value:
true
Whether admins bypass block break permissions applied to machines.

Use HashMap for Sound Categories - Only use if necessary

Type: boolean
Current Default Value:
false
Whether to use a HashMap instead of an EnumMap for sound categories. Necessary on some JVMs but comes with a (hopefully very) minor performance penalty.

Compare mod file hashes between client and server

Type: boolean
Current Default Value:
true
Whether to check and compare mod file hashes at login. Not usually necessary but useful if you have multiple potential builds with the same outwards version (eg playing DragonRealm).

Enable Temporally Dependent Amusement Behavior

Type: boolean
Current Default Value:
true

Particle Limit (Vanilla = 4000)

Type: int
Current Default Value:
4000

Debug Overlay Key (LWJGL ID)

Type: float
Current Default Value:
0x0F

Direct OpenComputers Support

Type: boolean
Current Default Value:
false
Whether OC compat on DAPI TileEntities is done with components as opposed to them being peripherals.

Merge XP Orbs Like Items

Type: boolean
Current Default Value:
true

Extra Block Ticks When Raining

Type: boolean
Current Default Value:
true
Whether rain should trigger extra block ticks, thus making exposed crops grow faster.

Prevent Mobs From Targeting Players Immediately After Logging In

Type: boolean
Current Default Value:
true

Biome Humidity Dependent Fire Spread

Type: boolean
Current Default Value:
true

Restrict profiling abilities to admins

Type: boolean
Current Default Value:
true

Bytecodeexec command user UUID whitelist

Type: String Array
Current Default Value:
new String[0]
Who can use /bytecodeexec. See here.

Automatic Collection of Inventories; set to 'NULL' to disable

Type: String
Current Default Value:
Key.LCTRL.name()
Like Factorio - ctrl-click to collect everything without opening the GUI.

AFK Timer Threshold (Seconds); Set to 0 to Disable

Type: int
Current Default Value:
120

Reroute Ender Eyes to Stronghold Entrances

Type: boolean
Current Default Value:
false
As opposed to the portal room; this way players are required to actually navigate the structure.

Expected Approximate Maximum World Size (Radius)

Type: int
Current Default Value:
5000
How large you expect the world to eventually become. Will affect the spread of some fixed-count worldgen objects.

Expected Approximate World Center Location X

Type: int
Current Default Value:
0
Where you expect the center of occupied world to be. Will affect the spread of some fixed-count worldgen objects.

Expected Approximate World Center Location Z

Type: int
Current Default Value:
0

Disable rain sound and particles

Type: boolean
Current Default Value:
false

Bytecodeexec command notifies other admins

Type: boolean
Current Default Value:
false

Player-Specific Mob Caps

Type: boolean
Current Default Value:
false
Whether to make the mob cap work on a per-player basis to avoid the vanilla issue of more players on a server resulting in fewer mobs per player. Disable this in SSP.

Setting Warning Persistence (EVERYLOAD/SETTINGCHANGE/VERSION/ONCE)

Type: String
Current Default Value:
SETTINGCHANGE

Allow charged certus to be recognized as normal certus ore

Type: boolean
Current Default Value:
false
This affects the ore registries used for things like meteors and processing machines.

Prevent block spreading near unloaded chunks

Type: boolean
Current Default Value:
true
For things like grass spread. This helps keep them from inadvertently loading those chunks.

Make bonemeal generate biome-correct foliage instead of tall grass

Type: boolean
Current Default Value:
true

Version Change Warning Level (0 = None, 1 = ReikaMods only, 2 = All)

Type: int
Current Default Value:
2
Control what if any mods trigger a "you changed versions" alert.

Source Code

The source code for DragonAPI can be found here:GitHub

Downloads

1.7.10: Via CurseForge
1.6.4: Via Adfly
1.5.2: Via Adfly
1.5.1: Via Adfly
1.4.7: Via Adfly