Project MMO

Project MMO

Server Config Syntax and Examples

Example File

WITH config(server)
//general settings
set(creative_reach).value(50);
set(salvage_block).value(minecraft:smithing_table);
set(treasure_enabled).value(true);
set(brewing_tracked).value(true);
//levels settings
set(max_level).value(1523);
set(static_levels).value(-1);
set(loss_on_death).value(0.05);
set(lose_only_excess).value(false);
set(global_modifier).value(1.0);
set(skill_modifiers).value(example_skill,1.0);
set(xp_min).value(200);
set(xp_base).value(1.025);
set(per_level).value(1.1);
//Requirements settings
//requirements are true by default. the script explicitly disables them. omission implies enabled.
//see wiki table for all values
set(disable_req).value(WORN);
//XP Gain Settings
set(reuse_penalty).value(0.0);
set(perks_plus_config).set(false);
set(player_actions).event(JUMP).value(agility,2.5);
set(damage_dealt).type(minecraft:player_attack).value(combat,1);
set(damage_received).type(minecraft:mob_attack).value(endurance,1);
//Party Settings
set(party_range).value(50);
set(party_bonus).value(combat,1.05,endurance,1.1);
//Mob Scaling Settings
set(mob_scaling_enabled).value(false);
set(scaling_aoe).value(150);
set(base_level).value(0);
set(boss_scaling).value(1.1);
set(use_exponential_formula).value(true);
set(per_level).value(1.0);
set(power_base).value(1.104088404342588);
set(ratios).mob(minecraft:generic.max_health).value(combat,0.001);
//Vein Miner Settings
set(vein_enabled).value(true);
set(require_settings).value(false);
set(default_consume).value(1);
set(charge_modifier).value(1.0);
set(blacklist).value(silentgear:saw);
END

Syntax

Most configurations use a combination of set(config_keyword).value(some_value);. However, some have additional elements which clarify what that value is set on. The table below lists each configuration node's keyword, purpose, any special nodes, and the value node format.

set node keysetting functionspecial nodesvalue node
creative_reachspecifies how much extra distance players can interact while in creative modea whole number value(50) by default
salvage_blockWhich block should be used to salvage itemsthe ID of the block. default value(minecraft:smithing_table)
treasure_enabledShould treasure drop.value true/false. default value(true)
brewing_trackedshould brewed potions be marked as having awarded xp. makes them unstackable with non-xp-gained potions if using a stacking potion modvalue true/false. default value(true)
max_levelthe maximum level for all skillsa whole number. default value(1523)
static_levelsa full override of the level system where you set the required XP for every level.value is a list of values representing the XP required for the level at that position in the list. eg value(10, 30, 10) would require 10 xp for level 1, 30 for 2, and 10 for 3. default value(-1) disables this feature
loss_on_deathwhat percentage of xp should be lost on death. 0.0 = no loss 1.0 = lose all xpa decimal number. default value(0.05)
lose_only_excessshould xp loss apply only to xp gained after the current level threshold.value true/false. default value(true)
global_modifieradjusts xp gains for all levelsdecimal value less than zero reduces XP gain, 0 means no xp gain, 1.0 is no change and 2.0 is double xp. default value(1.0)
skill_modifiersadjusts xp gains like global modifier but only for specific skillsvalues are skills followed by decimal numbers separated by commas. for example value(combat,1.5,endurance,0.5) results in 50% increase to combat and 50% decrease to endurance. default none
xp_minsets the value of the same name in the formula xp_min + xp_base^(level * per_level)whole number. default value(200)
xp_basesets the value of the same name in the formula xp_min + xp_base^(level * per_level)decimal value. default value(1.025)
per_levelsets the value of the same name in the formula xp_min + xp_base^(level * per_level)decimal vale. default value(1.1)
disable_reqsince all reqs are enabled by default, this operation disables specific reqs.any of WEAR, USE_ENCHANTMENT, TOOL, WEAPON, USE, PLACE, BREAK, KILL, TRAVEL, RIDE, TAME, BREED, INTERACT, ENTITY_INTERACT. no defaults
reuse_penaltyhow much xp percentage should breaking blocks placed by the player award.decimal value. default value(0.0)
perks_plus_configfor perks that award XP, if this is true, the perk XP will combine with the configured XPtrue/false. default value(false)
player_actionssets the XP ratio for player actions not tied to other objects in the game.event() accepts any of the following JUMP, SPRINT_JUMP, CROUCH_JUMP, BREATH_CHANGE, HEALTH_INCREASE, HEALTH_DECREASE, SPRINTING, SUBMERGED, SWIMMING, DIVING, SURFACING, SWIM_SPRINTINGdecimal value. example value(2.5)
damage_dealtwhat skill and XP ratio to award when the player deals specific damage typestype() takes a damage type ID. eg type(minecraft:player_attack)skills and decimal values separated by commas. example value(combat,2.5,archery,1.3)
damage_receivedsame as damage dealt but for damage inflicted to the playersame as abovesame as above
party_rangeHow close players need to be for their XP to be shareda whole number, default value(50)
party_bonushow much extra xp is awarded to players in parties based on the skilla list of skills and decimal values. default value(combat,1.05,endurance,1.1)
mob_scaling_enabledis mob scaling enabled.true/false. default value(false)
scaling_aoeall players within this range of a spawning mob will contribute to the scaling valueswhole number. default value(150)
base_levelthe minimum level in the skill a player must be to contribute to scalingwhole number. defaule value(0)
boss_scalinga modifier on top of regular scaling applied to bossesdecimal number, default value(1.1)
use_exponential_formulaif false, use a linear formula for scaling attributestrue/false, default value(true)
per_levelthe value in the formulas for linear ((playerLevels - base_level) * per_level) or exponential (power_base^(per_level * (playerLevels - base_level)))decimal number. default value(1.0)
power_basesee abovedecimal value. default value(1.104088404342588)
ratioswhich skills should be used to scale which attributes.attribute() accepts the attribute ID being scaleda list of skills and ratios separated by commas. example value(combat,0.001,archery,0.003)
vein_enabledshould vein miner features be enabledtrue/false. default value(true)
require_settingsif true, requires that automatic break values be ignoredtrue/false. default value(false)
default_consumethe default amount of vein charge consumed on unconfigured blockswhole number. default value(1)
charge_modifierscales charge rates globally from all sourcesdecimal value. default value(1.0)
blacklistitems that should cannot be used to vein mine blocksa list of item ids separated by a comma. default value(silentgear:saw)