1

Hack/mine Config file help?

Goldendoom7724 6/13/13 11:40 am
278
6/13/2013 1:05 pm
Recently I have been into the hack/mine mod. I found out about the config file and got really into it. But every time I try booting the server up now, it gives me this error:
Click to reveal
[INFO] Starting Hack/Mine Server v0.6.4.4
2013-06-13 11:30:14 [WARNING] To start the server with more ram, launch it as "java -Xmx1024M -Xms1024M -jar minecraft_server.jar"
2013-06-13 11:30:14 [INFO] Loading properties
2013-06-13 11:30:14 [INFO] Loading custom Hack/Mine settings...
2013-06-13 11:30:14 [SEVERE] Unexpected exception
java.lang.Error: Error: couldn't load custom HM options from disk!
at HMCustomize.loadLocalSpells(HMCustomize.java:111)
at net.minecraft.server.MinecraftServer.s(MinecraftServer.java:283)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:567)
at dm.run(SourceFile:490)
Caused by: argo.saj.InvalidSyntaxException: At line 525, column 21: Expected either , or } but got [m].
at argo.saj.SajParser.objectString(SajParser.java:137)
at argo.saj.SajParser.aJsonValue(SajParser.java:237)
at argo.saj.SajParser.aFieldToken(SajParser.java:164)
at argo.saj.SajParser.objectString(SajParser.java:129)
at argo.saj.SajParser.aJsonValue(SajParser.java:237)
at argo.saj.SajParser.aFieldToken(SajParser.java:164)
at argo.saj.SajParser.objectString(SajParser.java:129)
at argo.saj.SajParser.aJsonValue(SajParser.java:237)
at argo.saj.SajParser.aFieldToken(SajParser.java:164)
at argo.saj.SajParser.objectString(SajParser.java:129)
at argo.saj.SajParser.aJsonValue(SajParser.java:237)
at argo.saj.SajParser.aFieldToken(SajParser.java:164)
at argo.saj.SajParser.objectString(SajParser.java:112)
at argo.saj.SajParser.parse(SajParser.java:23)
at argo.jdom.JdomParser.parse(JdomParser.java:19)
at HMCustomize.loadLocalSpells(HMCustomize.java:54)
... 3 more

The thing is... The config file only has 499 lines. In case you need the broken config file, here it is.
Click to reveal
{
"classes": {
"Warrior": {
"relativeIndex": 0,
"displayColor": "FF3333",
"description": "@class.warrior.desc",
"healthPerFortitude": 12,
"startingItems": [
"268",
"270",
"269",
"345",
"320:20"
],
"skillSet": [
"warrior_leap",
"warrior_bash",
"warrior_leash",
"warrior_charge",
"warrior_whirlwind",
"warrior_shockwave"
],
"skillPrereqs": {
"warrior_charge": ["warrior_leash"],
"warrior_shockwave": ["warrior_whirlwind"]
}
},
"Bladecaster": {
"relativeIndex": 3,
"displayColor": "00FFFF",
"description": "Some idiot thought it would be a good idea to give mages swords...",
"healthPerFortitude": 8,
"startingItems": [
"268",
"270",
"269",
"345",
"320:20"
],
"skillSet": [
"warrior_leap",
"warrior_leash",
"warrior_whirlwind",
"warrior_shockwave",
"mage_teleport",
"mage_firebolt"
],
"skillPrereqs": {
"warrior_shockwave": ["warrior_whirlwind"]
}
},
"Mage": {
"relativeIndex": 1,
"displayColor": "EE55FF",
"description": "@class.mage.desc",
"healthPerFortitude": 7,
"startingItems": [
"4652",
"270",
"269",
"345",
"320:20"
],
"skillSet": [
"mage_teleport",
"mage_firebolt",
"mage_chargedBolt",
"mage_lightning",
"mage_gust",
"mage_blockLeash",
"mage_fireBreath",
"mage_launch"
],
"skillPrereqs": {
"mage_fireBreath": ["mage_firebolt"],
"mage_lightning": ["mage_chargedBolt"]
}
},
"Ranger": {
"relativeIndex": 2,
"displayColor": "33FF33",
"description": "@class.ranger.desc",
"healthPerFortitude": 10,
"startingItems": [
"261",
"262:64",
"270",
"269",
"345",
"320:20"
],
"skillSet": [
"ranger_leap",
"ranger_multishot",
"ranger_explodingShot",
"ranger_lightningShot",
"ranger_torchShot",
"ranger_ladderShot",
"ranger_trapWind",
"ranger_haste"
],
"skillPrereqs": {
"ranger_ladderShot": ["ranger_torchShot"]
},
"comment_climbableBlocks": [
"1 stone",
"2 grass",
"3 dirt",
"7 bedrock",
"9 ice",
"12 sand",
"13 gravel",
"17 log",
"18 leaves",
"82 clay",
"87 netherrack",
"99 giantBrownMushroom",
"100 giantRedMushroom",
"110 mycelium"
]
},
"spells": {

"warrior_leap": {
"displayName": "@spell.warrior.leap.name",
"description": "@spell.warrior.leap.desc",
"requiredLevel": 0,
"effectScript": "@spell_leap.ss",
"effectScriptParams": {
"FALL_CUSHION": "-6f - .5f * spellInstance.getLevel()",
"SOUND": "\"random.bow\", 1f, .5f, .25f",
"VEL_FORWARD": ".75f + .05f * spellInstance.getLevel()",
"VEL_UP" : ".75f + .05f * spellInstance.getLevel()"
},
"textureID": 1,
"manaCost": 7,
"coolDown": 15
},
"warrior_taunt": {
"displayName": "@spell.warrior.taunt.name",
"description": "@spell.warrior.taunt.desc",
"effectScript": "@spell_taunt.ss",
"effectScriptParams": {
"MAX_DISTANCE": "16",
"SOUND": "\"note.snare\", 1.3f, .5f, .25f"
},
"textureID": 0,
"manaCost": 5,
"coolDown": 50
},
"warrior_bash": {
"displayName": "@spell.warrior.bash.name",
"description": "@spell.warrior.bash.desc",
"effectScript": "@spell_bash.ss",
"effectScriptParams": {
"DAMAGE_BONUS": "0",
"DAMAGE_MULT": "1.5f + spellInstance.getLevel() * .1f",
"MAX_DISTANCE": "6 + caster.getItl() * .05f",
"PARTICLE_PARAMS": "\"crit\", 10, 0, 1",
"PUSH_PARAMS": "True, .4 + caster.getDex() * .01, 0, .2 + caster.getDex() * .005, 0",
"SOUND": "\"damage.fallsmall\", 1.7f, 1f, .1f"
},
"textureID": 0,
"manaCost": 7,
"coolDown": 5
},
"warrior_leash": {
"displayName": "@spell.warrior.leash.name",
"description": "@spell.warrior.leash.desc",
"effectScript": "@spell_leash.ss",
"effectScriptParams": {
"MAX_DISTANCE": "16",
"PUSH_PARAMS": "False, -.01d, -.16d, .45d, .05d",
"SOUND": "\"random.bow\", 1f, .6f, .25f"
},
"textureID": 6,
"manaCost": 5,
"coolDown": 15
},
"warrior_charge": {
"displayName": "@spell.warrior.charge.name",
"description": "@spell.warrior.charge.desc",
"effectScript": "@spell_charge.ss",
"effectScriptParams": {
"CHECK_RADIUS": "2.",
"DAMAGE_MULT": ".9f + .1f * spellInstance.getLevel()",
"DURATION": "5",
"EFFECT_RADIUS": "3.85 + .15 * spellInstance.getLevel()",
"PUSH_PARAMS": "False, .80, -.25, .50, -.25",
"STOP_ON_IMPACT": "False",
"VEL_GROUND": ".67f + .03f * spellInstance.getLevel()",
"VEL_WATER": ".77f + .03f * spellInstance.getLevel()",
"VEL_JUMP_FORWARD": "1.1f",
"VEL_JUMP_UP": ".4f"
},
"textureID": 3,
"manaCost": 7,
"coolDown": 30
},
"warrior_whirlwind": {
"displayName": "@spell.warrior.whirlwind.name",
"description": "@spell.warrior.whirlwind.desc",
"effectScript": "@spell_whirlwind.ss",
"effectScriptParams": {
"DAMAGE_MULT": "1.5f + .1f * spellInstance.getLevel()",
"DURATION": "6",
"HIT_RADIUS": "3.",
"PUSH_PARAMS": "False, .40, -.0166, .40, -.0166",
"SIDE_VEL_BONUS": "1. + .025 * spellInstance.getLevel()",
"SOUND": "\"random.bow\", 1f, .3f, .25f",
"UP_BOOST": ".685f + .015f * spellInstance.getLevel()"
},
"textureID": 21,
"manaCost": 8,
"coolDown": 30
},
"warrior_shockwave": {
"displayName": "@spell.warrior.shockwave.name",
"description": "@spell.warrior.shockwave.desc",
"requiredLevel": 5,
"effectScript": "@spell_shockwave.ss",
"effectScriptParams": {
"BLOCK_ATTACK_PARAMS": "0, .4f + .1f * caster.getItl(), .6f + .15f * caster.getItl()",
"BLOCK_EFFECT_RADIUS": "2.",
"BLOCK_PUSH_PARAMS": "False, .3, 0., .4, 0.",
"BLOCK_UP_VEL": ".3",
"DURATION": "21 + 3 * spellInstance.getLevel()",
"SHOCKWAVE_VEL": ".3",
"SOUND": "\"random.bow\", 1f, .01f, .0025f"
},
"textureID": 25,
"manaCost": 6,
"coolDown": 1
},

"mage_teleport": {
"displayName": "@spell.mage.teleport.name",
"description": "@spell.mage.teleport.desc",
"requiredLevel": 0,
"effectScript": "@spell_teleport.ss",
"effectScriptParams": {
"MAX_DISTANCE": "16f",
"PARTICLE": "\"portal\"",
"PARTICLE_DENSITY": "5",
"SOUND": "\"mob.endermen.portal\", 1f, 1f, .1f",
"STABLE_RANGE": "8f",
"TARGET_DISTANCE_PAD": "2"
},
"textureID": 4,
"manaCost": 10,
"coolDown": 20
},
"mage_firebolt": {
"displayName": "@spell.mage.firebolt.name",
"description": "@spell.mage.firebolt.desc",
"effectScript": "@spell_projectile.ss",
"effectScriptParams": {
"MAGIC_DAMAGE": "MAGICDMG_FIRE.makeDamage((spellInstance.getLevel() * 3 + caster.getItl()) * randrange(.6f, 1.0f))",
"PROJECTILE": "PROJ_FIREBOLT",
"SOUND": "\"random.fuse\", 1f, 1f, .2f"
},
"textureID": 19,
"manaCost": 2,
"manaCostPerStat": 0.2,
"stat": "intelligence",
"coolDown": 10
},
"mage_chargedBolt": {
"displayName": "@spell.mage.chargedBolt.name",
"description": "@spell.mage.chargedBolt.desc",
"effectScript": "@spell_projectilemulti.ss",
"effectScriptParams": {
"DAMAGE_PER_PROJECTILE": "spellInstance.getLevel() * 3 / 2 + caster.getItl() * 3f / projectileCount",
"DAMAGE_VARIANCE": "randrange(.5f, 1f)",
"MAGIC_DMG_TYPE": "MAGICDMG_LIGHTNING",
"PROJECTILE": "PROJ_CHARGEDBOLT",
"PROJECTILE_COUNT": "min(15, 3 + spellInstance.getLevel() / 2)",
"SOUND": "\"random.fuse\", 1f, 1f, .2f"
},
"textureID": 21,
"manaCost": 3,
"manaCostPerStat": 0.3,
"stat": "intelligence",
"coolDown": 10
},
"mage_lightning": {
"displayName": "@spell.mage.lightning.name",
"description": "@spell.mage.lightning.desc",
"requiredLevel": 5,
"effectScript": "@spell_lightning.ss",
"effectScriptParams": {
"LIGHTNING_DAMAGE": "caster.getItl() * randrange(.2f, .5f + .15f * spellInstance.getLevel()))",
"MAX_DISTANCE": "10"
},
"textureID": 39,
"manaCost": 20,
"coolDown": 40
},
"mage_gust": {
"displayName": "@spell.mage.gust.name",
"description": "@spell.mage.gust.desc",
"requiredLevel": 3,
"effectScript": "@spell_gust.ss",
"effectScriptParams": {
"PUSH_PARAMS": "False, 1.2, -.115, .85, -.08",
"EFFECT_RADIUS": "min(16d, 5 + log((3 + spellInstance.getLevel()) / 4) * 8)",
"SOUND": "\"random.bow\", 1f, .6f, .25f"
},
"textureID": 2,
"manaCost": 7,
"coolDown": 100
},
"mage_blockLeash": {
"displayName": "@spell.mage.blockLeash.name",
"description": "@spell.mage.blockLeash.desc",
"effectScript": "@spell_blockleash.ss",
"effectScriptParams": {
"MAX_DISTANCE": "10",
"PUSH_PARAMS": "False, -.01, -.08, .3, 0."
},
"textureID": 6,
"manaCost": 6,
"coolDown": 1
},
"mage_fireBreath": {
"displayName": "@spell.mage.fireBreath.name",
"description": "@spell.mage.fireBreath.desc",
"requiredLevel": 5,
"activeScript": "@spell_firebreath.ss",
"activeScriptParams": {
"DAMAGE": ".4f * caster.getItl() * (.85f + .15f * spellInstance.getLevel()) * randrange(0.5f, 1.0f)"
},
"textureID": 90,
"activeManaCost": 0.1
},
"mage_launch": {
"displayName": "@spell.mage.launch.name",
"description": "@spell.mage.launch.desc",
"requiredLevel": 8,
"effectScript": "@spell_launch.ss",
"textureID": 89,
"manaCost": 10,
"coolDown": 20
},

"ranger_leap": {
"displayName": "@spell.ranger.leap.name",
"description": "@spell.ranger.leap.desc",
"requiredLevel": 0,
"effectScript": "@spell_leap.ss",
"effectScriptParams": {
"FALL_CUSHION": "-6f - .5f * spellInstance.getLevel()",
"SOUND": "\"random.bow\", 1f, .5f, .25f",
"VEL_FORWARD": ".75f + .05f * spellInstance.getLevel()",
"VEL_UP" : ".75f + .05f * spellInstance.getLevel()"
},
"textureID": 1,
"manaCost": 7,
"coolDown": 15
},
"ranger_multishot": {
"displayName": "@spell.ranger.multishot.name",
"description": "@spell.ranger.multishot.desc",
"effectScript": "@spell_multishot.ss",
"effectScriptParams": {
"ARROWS_FIRED": "2 + spellInstance.getLevel()",
"DRAW_TIME": "-1f",
"INACCURACY": "13.5f"
},
"textureID": 7,
"coolDown": 20,
"delayCast": true
},
"ranger_explodingShot": {
"displayName": "@spell.ranger.explodingShot.name",
"description": "@spell.ranger.explodingShot.desc",
"requiredLevel": 10,
"effectScript": "@spell_explodingshot.ss",
"effectScriptParams": {
"DRAW_TIME": "-2f",
"EXPLOSION_SIZE": "2.2f + spellInstance.getLevel() * .1f",
"SOUND": "\"random.bow\", 1f, .8f, .2f"
},
"textureID": 5,
"manaCost": 15,
"coolDown": 100,
"delayCast": true
},
"ranger_lightningShot": {
"displayName": "@spell.ranger.lightningShot.name",
"description": "@spell.ranger.lightningShot.desc",
"requiredLevel": 7,
"effectScript": "@spell_lightningshot.ss",
"effectScriptParams": {
"DRAW_TIME": "-2f",
"LIGHTNING_DAMAGE": "caster.getDex() * randrange(.2f, .5f + .15f * spellInstance.getLevel())",
"SOUND": "\"random.bow\", 1f, .8f, .2f"
},
"textureID": 64,
"manaCost": 15,
"coolDown": 100,
"delayCast": true
},
"ranger_torchShot": {
"displayName": "@spell.ranger.torchShot.name",
"description": "@spell.ranger.torchShot.desc",
"effectScript": "@spell_blockshot.ss",
"effectScriptParams": {
"BLOCKS_CONSUMED": "1",
"BLOCK_TO_PLACE": "50",
"DRAW_TIME": "-1f",
"PARTICLE": "\"smoke\"",
"SOUND": "\"random.bow\", 1f, .8f, .2f"
},
"textureID": 65,
"coolDown": 5,
"delayCast": true
},
"ranger_ladderShot": {
"displayName": "@spell.ranger.ladderShot.name",
"description": "@spell.ranger.ladderShot.desc",
"requiredLevel": 5,
"effectScript": "@spell_laddershot.ss",
"effectScriptParams": {
"DRAW_TIME": "-1f",
"PARTICLE": "\"smoke\"",
"SOUND": "\"random.bow\", 1f, .8f, .2f"
},
"textureID": 92,
"coolDown": 5,
"delayCast": true
},
"ranger_trapWind": {
"displayName": "@spell.ranger.trapWind.name",
"description": "@spell.ranger.trapWind.desc",
"requiredLevel": 3,
"effectScript": "@spell_trapwind.ss",
"effectScriptParams": {
"CHECK_FREQUENCY": "7",
"EFFECT_PUSH_PARAMS": "False, .75 + spellInstance.getLevel() * .05, 0., .5, 0.",
"EFFECT_RADIUS": "min(16., 10. + spellInstance.getLevel() * .5)",
"PARTICLE": "\"smoke\"",
"PLACEMENT_RANGE": "4",
"TRAP_DURATION": "2000",
"TRIGGER_RADIUS": "2.",
"TRIGGER_SOUND": "\"random.bow\", 1f, .3f, .25f"
},
"textureID": 2,
"manaCost": 20,
"coolDown": 5
},
"ranger_haste": {
"displayName": "@spell.ranger.haste.name",
"description": "@spell.ranger.haste.desc",
"requiredLevel": 10,
"effectScript": "@spell_haste.ss",
"effectScriptParams": {
"DURATION": "20 * 10",
"MVMT_BONUS": ".3f + .01f * caster.getDex() + .02f * spellInstance.getLevel()",
"PCT_LIFE_COST": ".1f",
"SOUND": "\"mob.endermen.portal\", 1f, 1.25f, .25f"
},
"textureID": 66,
"coolDown": 1200
},
"paladin_mend": {
"displayName": "Omniheal",
"description": "Heals casters health. Stack Int to increase heal.",
"requiredLevel": 1,
"effectScript": "@spell_mend.ss",
"effectScriptParams": {
"SOUND": "/"mob.enderman.portal/", 1f, 1.25f, .25f"
},
"manaCost": 50,
"coolDown": 20
},
"Warrior": {
"relativeIndex": 0,
"displayColor": "FF3333",
"description": "@class.warrior.desc",
"healthPerFortitude": 12,
"startingItems": [
"268",
"270",
"269",
"345",
"320:20"
],
"skillSet": [
"warrior_leap",
"warrior_bash",
"warrior_leash",
"warrior_charge",
"warrior_whirlwind",
"warrior_shockwave"
],
"skillPrereqs": {
"warrior_charge": ["warrior_leash"],
"warrior_shockwave": ["warrior_whirlwind"
}
}
}
}
}
Posted by
Goldendoom7724
Level 9 : Apprentice Warrior
1

  Have something to say?

JoinSign in

1

cuchaz
06/13/2013 1:05 pm
Level 77 : Legendary Modder
You're missing some brackets in the config somewhere. I didn't look at it really carefully, but here's one spot that needs a bracket:

"skillPrereqs": {
"warrior_charge": ["warrior_leash"],
"warrior_shockwave": ["warrior_whirlwind"
}

ie, it should be:
"skillPrereqs": {
"warrior_charge": ["warrior_leash"],
"warrior_shockwave": ["warrior_whirlwind"] <-----
}
1

Welcome