<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.hackslashmine.net/hsmwiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.hackslashmine.net/hsmwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=181.198.102.70</id>
		<title>Hack/Mine Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.hackslashmine.net/hsmwiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=181.198.102.70"/>
		<link rel="alternate" type="text/html" href="http://www.hackslashmine.net/hsmwiki/Special:Contributions/181.198.102.70"/>
		<updated>2026-07-04T11:37:27Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.2</generator>

	<entry>
		<id>http://www.hackslashmine.net/hsmwiki/Customization</id>
		<title>Customization</title>
		<link rel="alternate" type="text/html" href="http://www.hackslashmine.net/hsmwiki/Customization"/>
				<updated>2014-05-20T04:44:55Z</updated>
		
		<summary type="html">&lt;p&gt;181.198.102.70: /* hsmConfig Layout */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The long-term goal of Hack/Mine is to be thoroughly customizable, such that users can create their own content and share it with the community.  As of version 0.6.4, this is starting to become a reality, as users can create their own spells via [[Spellscript]] and create their own classes and skill-sets through a configuration file (''hsmConfig.JSON'') located in the ''&amp;lt;.minecraft&amp;gt;/spells/'' directory.  This information propagates over the network automatically, meaning each Hack/Mine server can offer its own unique RPG experience.&lt;br /&gt;
&lt;br /&gt;
You'll definitely want to use a syntax-highlighted text editor like [http://www.sublimetext.com/ Sublime Text] when customizing Hack/Mine.  A Sublime package for [[Spellscript]] is also available [http://www.mediafire.com/download.php?foak1j6b381huzz here].&lt;br /&gt;
&lt;br /&gt;
This web site really has all the information and facts I wanted about this subject and didn't know who to ask. cacadeaafkgfcddd&lt;br /&gt;
&lt;br /&gt;
Very nice site!&lt;br /&gt;
&lt;br /&gt;
==Script Files==&lt;br /&gt;
Script files can be placed in and referenced from the ''spells'' directory, and are interpreted as [[Spellscript]] scripts.  For both &amp;quot;activeScript&amp;quot; and &amp;quot;effectScript&amp;quot;, a return type of ''bool'' is expected, indicating whether the spell is successfully cast.  The scripts also have the following variables in scope:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type || Name || Description&lt;br /&gt;
|-&lt;br /&gt;
| World || world || The world (e.g. the Surface, the Nether, the End) in which the spell is being cast.&lt;br /&gt;
|-&lt;br /&gt;
| SpellInstance || spellInstance || The instance of the spell being cast.&lt;br /&gt;
|-&lt;br /&gt;
| Living || caster || The Living casting the spell (most likely a Player)&lt;br /&gt;
|-&lt;br /&gt;
| Entity || targetEntity || (&amp;quot;effectScript&amp;quot; only) The Entity the spell is cast on, if any.&lt;br /&gt;
|-&lt;br /&gt;
| Block || targetBlock || (&amp;quot;effectScript&amp;quot; only) The Block the spell is cast on, if any.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Custom Parameters===&lt;br /&gt;
Custom parameters are a way of making your script files easily configurable and reusable.  Rather than hard-coding particular values into your script files (for example, the strength of a jump technique), you can insert identifiers surrounded by double exclamation marks in their place (for example, !!JUMP_STRENGTH!!).  Then, whenever one of those scripts is referenced in ''hsmConfig'', you would also define an object of custom parameters, like:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;quot;mySpell&amp;quot;: {&lt;br /&gt;
    &amp;quot;effectScript&amp;quot;: &amp;quot;@spell_jump.ss&amp;quot;,&lt;br /&gt;
    &amp;quot;effectScriptParams&amp;quot;: { &amp;quot;JUMP_STRENGTH&amp;quot;: &amp;quot;3.2&amp;quot; }&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now for the spell mySpell, !!JUMP_STRENGTH!! will be replaced by the string specified in ''hsmConfig''!  Pretty cool, eh?&lt;br /&gt;
&lt;br /&gt;
Since it's simple string replacement, you can replace custom parameters with whatever snippets of code you desire.  Suppose you wanted JUMP_STRENGTH to depend on strength in one spell, and dexterity in another-- you could do something like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;quot;mySpell&amp;quot;: {&lt;br /&gt;
    &amp;quot;effectScript&amp;quot;: &amp;quot;@spell_jump.ss&amp;quot;,&lt;br /&gt;
    &amp;quot;effectScriptParams&amp;quot;: { &amp;quot;JUMP_STRENGTH&amp;quot;: &amp;quot;3 + caster.getStr() * .02&amp;quot; }&lt;br /&gt;
},&lt;br /&gt;
&amp;quot;anotherSpell&amp;quot;: {&lt;br /&gt;
    &amp;quot;effectScript&amp;quot;: &amp;quot;@spell_jump.ss&amp;quot;,&lt;br /&gt;
    &amp;quot;effectScriptParams&amp;quot;: { &amp;quot;JUMP_STRENGTH&amp;quot;: &amp;quot;3 + caster.getDex() * .02&amp;quot; }&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don't get too crazy though-- you want to be able to glance at a custom parameter's name and value and know exactly what it does, and depending on variables defined in another file can detract from this.&lt;/div&gt;</summary>
		<author><name>181.198.102.70</name></author>	</entry>

	</feed>