Hack Slash Mine/Changelog

Version	Date of Addition	Patch Summary
0.6.4.7	? 	
* Java 7, 8, 9, and 10 are now supported! Hopefully future versions won't break compatibility, either!
* Villager dialogues should be working!
* Crashes involving area system after longer play sessions are hopefully fixed!
* Please report any issues to hackslashmine@gmail.com!
0.6.4.6	? 	A crash-fix patch!
* Significantly improved implementation and performance of caching throughout the project.
* Players no longer draw aggro by attacking mobs in Creative mode.
* Fixed a crash that frequently occurred upon encountering a new village.
* Prevented random crashes from a 'NullPointerException' when clients received mob info from the server. Instead, debug information is outputted to the console, and will be removed once the issue is resolved.
* Spellscript
** Fixed virtual method calls resolving the invoked instance twice. For example, if a virtual method was invoked on the value returned from a constructor, the constructor would actually be invoked twice. (This only mattered if the expression returning the instance had a side-effect.)
** Reduced memory consumption of bools created at compile-time (e.g., literals, results of compiler optimizations.)
0.6.4.5	6/25/2013 	Ocean Nerf!
* Nerfed oceans! They've been reduced from 10 times the amount of land to the same amount.
* Improved mob spawning! Mobs are now capped at a certain amount, mob distribution is far improved, and animals are back in the game. For now, mobs will only spawn immediately after sunset, rather than slowly throughout the day.
* More than tripled the speed of big dungeon generation! Hasta la vista, lag spikes.
* Fixed Block Leash, Shockwave, and other spells being able to break block protection.
* Fixed loss of stat and skill points when reroll propogated by H/M update.
* Fixed unification of chunk protection for non-surface dimensions.
* Fixed Skill Tree Menu's key binding not appearing in Controls menu.
* Fixed compass showing wrong direction.
* Fixed ores coloring differently than stone on the radar.
* Spellscript
** Exposed chunk protection, mob spawning, and animal spawning with "World.isChunkProtected", "World.doesChunkSpawnMobs", and "World.doesChunkSpawnAnimals", respectively.
** In the IDE, fixed text-removal and undoing occasionally operating on the wrong section of text.
** Changed hardcoded custom params to on-item-hit scripts to use double exclamation marks rather than single (akin to user-definable spell scripts.)
** Fixed binary operations and compound assignment operations on boxed types producing strange behavior.
** Fixed function/method lookup failing on parameterized types of type parameter (for example, calling 'add' on a List<?> retrieved from a Map<?, List<?>>).
** Fixed function/method lookup failing when a function expects a supertype of a primitive's boxed type and is passed the unboxed primitive.
0.6.4.4	5/31/2013 	Polish and Debug Patch
* Added page flipping buttons to the spellbook (for those of you with tons o' spells).
* Vastly improved the textures of many spells! Thanks to RevVo and wrnewlun for their texturework!
* Fixed 'kill' script occasionally failing due to "concurrent modification"
* Gave 'maze' parameters enterable from the command line.
* Forgot to mention the last patch: improved much of the in-game GUI!
** Overhauled the bottom-right section of the main inventory, which now displays detailed character information.
** Key bindings are now displayed within their spell/item slots.
** Leveling stats makes clicky noises! (YAY!!!)
* Properly renamed "War Stomp" to "Shockwave"
* Spellscript
** Added undo/redo functionality to the Spellscript IDE!
** Exposed server script scheduling within Spellscript via 'SERVER.schedule' and 'SERVER.scheduleLocal' (schedule only applies on the server side, propogating the script to all clients, whereas scheduleLocal schedules the script on whatever machine the script is running on.)
** Fixed return/break/continue statements doing nothing in except and finally bodies.
** Fixed functions with no parameters failing to refer to variables when invoked as function pointers.
** Fixed assignability tests failing when assigning to supertype with type parameters.
** Fixed return type inference not failing when incompatible return types are given within certain control constructs.
** Fixed JVM methods failing to serialize over the network, causing many scripts not to run on the client side.
** Fixed class type variables propogating improperly throughout subclasses, causing some things to work that shouldn't be.
** Fixed inability to infer method type parameters when given a 'None' parameter (and a few others).
** Fixed type params nested within type variables causing a variety of errors (including unusablity of methods they're included in).
** Fixed primitive parameters not accepting their boxed equivalents.
0.6.4.3	5/26/2013 	Skill Trees and Spellscript/Java Integration!
* Added customizable skill trees! Press 'K' to bring it up by default.
* Added skill points which can be used to level up yer skills!
** Invest points in Leap to jump higher!
** Invest points in Multishot and Charged Bolt to fire more projectiles!
** A lot more!
* Added skills Bash and Laddershot.
* Significantly lowered the experience required to level up.
* Nerfed Defense substantially.
** Fixed the ridiculous scroll-rate of several in-game menus, including the Spellscript IDE.
* Spellscript (see www.hackslashmine.net/hsmwiki/ for specific details.)
** You can now program the console with your own scripts! Scripts are run via the "ss" command, and edited via "ss edit" (edit.ss is itself a script! Use it to control permissions.)
** Added syntactic support for Java HashMaps! (Like '{key : value, dog : barks}') Curly braces ftw.
** Added the 'var' keyword! Works like the one in C#--infers the type of the variable statically for compound decl/assignment statements and for loop variable declarations.
** Added try-except-finally statements! Analagous to Java's try-catch-finally.
** Integrated Spellscript with Java!
*** You now have access to JVM libraries on the classpath. Use 'import' statements along with the '\' operator to import Java classes/packages.
*** Instances of JVM objects may be passed, have their methods invoked, and tested for assignability.
*** Static JVM methods may now be called.
*** All Java primitives are available in Spellscript. (Note: literal support has not been added for all primitives, so use coercion as necessary.)
** Added generic types, and type inference of generic method calls! (Have yet to provide ways to define generic parameters yourself, but existing generic features of Java may be used.)
** Added the 'in' operator for Collection/Map containment testing.
*** Lists declared with '[]' are now Java ArrayLists.
*** Added auto-boxing/unboxing for primitives, using Java's primitive box types.
** Changed type parameters to be universally passed like 'ClassName<Type1, Type2>(Param1, Param2)'.
** Removed "self" as a parameter-- don't use it no more.
** Function calls, lists, and dictionaries may now span multiple lines.
** Replaced "instanceof" with "isa" and "isnota" (hehe).
** Lowered the "not" operator on the precedence chain.
** Mo' methods!
** Fixed one-liner if/else chains not parsing correctly.
* Parametrized more spells via hsmConfig.
* Fixed issue preventing Linux users from running HSM.
0.6.4.2	???? 	(aka Donald Duck Patch)
* Returned the Mage's starting weapon to being a wand (was accidentally set to... pants?)
* Added custom parameters to spells defined in hsmConfig.JSON ( see the wiki for details!) Many existing spells have been parameterized for funsies...
* Fixed the Mage's Lightning not casting.
* Fixed Mage Cannon having a buggy tooltip.
* Fixed MORE negative mana issues.
* Fixed a potential game-freezer in the mob spawning code.
* Fixed scripts referencing the global variable SERVER not transmitting over the network properly (this caused some wonky behavior).
* Fixed Server.getPlayer failing in SSP, along with a few other Spellscript methods.
* Fixed other minor issues.
0.6.4.1	3/6/2013 	Just fyi, the little ".1" on the end of the version, as the fourth number, indicates a change which doesn't affect world/player compatibility. However, you'll still need to update your server jar... NOW YOU KNOW!!!
* Classes and spells are now *completely* customizable-- furthermore, they transfer over the network, so you can test them out with your friends! See the Wiki for details: (www.hackslashmine.net/hsmwiki/)
* In Spellscript, "SERVER" is now a global variable and can be used to manipulate the Minecraft server. (Consequently, schedulable scripts' local variable "server" has been removed.)
* In the Advanced World Gen screen, changed the text "Large Dungeons" to "H/M Dungeons", to clarify that it refers to all dungeons (but not towers) introduced by Hack/Mine.
* Bug Fixes
** Spells no longer use blocks that were previously used during a spell cast when no block is in range (this was the reason Blink would occasionally send you to seemingly random locations, or Lightning would strike somewhere you weren't aiming.)
** Fixed player input affecting their character despite the inventory/spell screens being open.
** Fixed the inventory/spell screens being unclosable by their assigned key bindings. 
** Fixed "negative mana" issues in SMP.
** Fixed a hilarious vendor exploit.
** Fixed villagers in SMP all having the same dialogue after being loaded from disk.
** Spellscript 
*** Bringing up a subscreen (such as the "Methods" screen) no longer causes an infinite loop whereby the screen can never be closed.
*** Type inference of multiple objects no longer fails when inferring the type of class objects.
*** User-defined constructors that accept multiple parameters (besides the "self" parameter) no longer incorrectly throw a compilation error.
*** Multi-field declarations in class declarations now work properly.
*** Fixed several broken methods, including World.getAllInBox.
** Other minor fixes
0.6.4 	2/24/2013 	Spellscript Update!
* Created the Spellscript scripting language for Minecraft! Many new and existing features of Hack/Mine are now completely scriptable by the user, including spells, Spellscript-Blocks, and much more to come.
* Spellscript is usable from the console and the in-game Spellscript Editor. Wanna drop TNT on every user's head every 5 seconds? Why not!?!
* Added NPC dialogues! Talk to villagers to learn about your surroundings.
* Completely overhauled mob spawning! Mobs now only spawn at night as in regular Minecraft, but with the addition of "make-up spawning" for chunks that are either newly created or were off-loaded during the last night to occur.
* Added effect system for living entities! This allows arbitrary effects (ie DOTs, buffs, debuffs, stuff scripted in Spellscript) to be applied to entities! This also means poison is fixed!
* Added Spellscript blocks! This means that dungeons and towers now include teleporters at the end, and will later feature a myriad of traps and shrines... to edit them, simply right-click them as an Op (or if in singleplayer, while in Creative.) They can placed from the Creative inventory.
* Added a fully-featured, syntax-highlighted Spellscript Editor! Comes up when editing a block or scheduling a script on the server as an Op.
* Added spells and reimplemented all the existing ones in Spellscript
** Many spells now respond to increases in stats! Increase Dexterity for more arrows per Multishot, Strength for increased War Stomp distance, etc.
** Most (if not all) spells have changed to some degree, from number tweaking to significant mechanical improvements.
** Lotsa spell bugs were obliterated.
* Class Specific Changes:
** Warrior
*** Change to Whirlwind: use it midair for a double jump! Use it with Charge for even more ridiculous results... (Note that the earlier you time it, the higher you'll go.)
*** Added War Stomp: Send a wave o' blocks hurdling towards your enemies!
** Mage
*** Buffed many spells significantly.
*** Added Mage Cannon: spam it to thrust forward in quick spurts, or charge it to travel insanely large distances.
*** Added Block Yank: huzzah for minor utility spells!
*** Added Breath of Fire: BLLLARRRGGGHHHHHH
*** Fixed magical projectiles dissipating on tall grass.
** Ranger
*** Added Wind Trap: places a trap on the ground which sends nearby enemies flying. Has a low cooldown for excellent crowd control.
*** Added Haste: Cut a tenth of your life for a sudden burst of speed! Speed increases with Dexterity.
* Fixed and reintroduced Super Towers! Prepare for 20+ floors of increased difficulty madness...
* Increased initial world gen block height from 128 to 256 (this is what was glitched up Super Towers earlier). Consequently, the mystery dimension is now absolutely ginormous!
* Food now replenishes your health! For now, the percentage healed is derived by multiplying the number of hearts normally healed by 10 (thus 5 hearts yields 50% health replenishment.)
* Added Phase Creepers (have fun with that.)
* Changed Defense mechanics drastically-- it's totally important now!
* Added air supply, gold drop bonus, and pickaxe/shovel/hoe mimicing as magical properties!
* Also added a Charged Bolt, Gravity Well, and Gale as a magical property procs! Spellscript ftw...
* Damage shown on weapons' tooltips now includes magic damage (in other words, the damage displayed includes all factors that currently may effect damage, though minimum damage capped to max damage - 1 may be 'uncapped' when summed for your character's total damage output).)
* Drowning now removes a tenth of your life every 30 ticks, as in vanilla Minecraft.
* Portals to the Nether now may appear in dungeons...
* Mob spawners now drop loot.
* Substantially tuned down the bonus given by resistance-related magical properties.
* Fire resist now protects against natural fire sources (including lava)
* Completely fixed proxy areas and area crashing in SMP! It's gone! Kaput! No more! Still can't fix the vanillaness of the server, though :(
* Vastly improved the in-game controls:
** Many horrible bugs were fixed.
** The system now works with arbitrary key combinations, rather than the limited "primary key + modifier" system previously in use. Want Shift+Ctrl+E for a spell? Go for it!
** The Controls GUI is now much more intuitive to use. Additionally, the names of items and spells are now included next to their equipped slots' key bindings (when you're currently in a world, naturally.)
* Fixed pickaxes' inability to mine appropriate ores.
* Fixed weird slime levels.
* Fixed weird rare spawn inconsistencies from mob spawners in SMP.
* Fixed inter-dimensional bugginess! You may now freely travel to the Void and the Nether and back in SMP (assuming "allow-nether" is set to "true" in the server.properties).
* Fixed vendor exploits.
* Fixed a randomization issue where towers rerolled the same pseudo-random numbers while generating (resulting in many having the same color, for example.)
* Heavily refactored the magical properties code, such that new properties could be added easily (hence the new magical properties listed above).
* Optimized dungeon generation significantly. Chunks are no longer force-loaded, and those that are already loaded are queried much less frequently.
* Removed many performance-slowing decompilation artifacts throughout the modded parts of Minecraft.
* About a million minor alterations and bug fixes (including the "getTopSolidOrLiquidBlock" crash).
0.6 	May 29, 2012 	
Patch notes for 0.6.0 (Vendors, Currency, and Server Support!)
*Making a new world is REQUIRED for this!!! No amount of NBT editing will save you D: However, future world compatibility is greatly improved.
*Added currency!
*Added vendors! Talk to your local librarian, blacksmith, priest, or butcher! Also, increased village frequency.
*Added amulets!
*New textures for rings, amulets, dungeons, and the Naga! There are now over 160 additional blocks with Hack/Mine (that totally means Hack/Mine is better) Extra special thanks to SMP for his amazing texture-work!
*Fixed Creative! Also, the new dungeon blocks are available in the Creative menu!
*Overhauled dungeon system! Will allow for new dungeon types, and eventually the creation of dungeon types by users! Already added a new type, and will add more throughout 0.6
*Added "hidden" doors in dungeons! Keep your eyes peeled...
*Added tons o' server functionality! Additions include smart name matching (both case and 1337 insensitive), setting of block protection, pvp settings, and mob/animal spawning, all on a chunk-by-chunk basis, and lots more! Also, many of the server.properties and all of the new areaCache.properties may be changed and made effective in-game by Ops! See the Wiki for more details.
*Vastly improved server stability, by improving area caching! Less server lag and crashing (caused by excessive file I/O from "area thrashing"), more hacky slashy. Also, fixed the occasional super-fast-flickering of "Proxy" areas and its associated bugs in SMP.
*Added an "areaCache.properties" to server, for those who want to fine-tune or experiment with the numbers. For larger servers, this will likely improve your performance and stability. (Be careful, though-- see the Wiki before attempting. Post your findings on the Wiki along with your system specs and player count!)
*Increased block limit to 4096!
*One jillion bug fixes. The "gzip," "broken pipe," and "Mob spawn read incorrectly" are gone forever...
*Lots o' little things
*Expect significant improvements to dungeons and additional server support throughout 0.6, along with the addition of boss mobs
0.5.3 	May 13, 2012 	
More bug fixes + new things, As always make a new world!
*Fixed item rendering in technic!
*Fixed MANY bugs and issues, like block reach, item duping on chests breaking and more.
*Gave the Warrior "Whirlwind".
*Added more uniques!
*Temporarily removed super towers in all theri bugginess.
*Higher level bows no longer render incorrectly on other players.
*Fourthed the RAM consumed by new grass colors/"Custom Colors" in Optifine.
*Made dimensions in SMP "better", so they don't crash you as horribly but I'll need more time to make them function correctly (I'am taking finals this week!), so for now just avoid them if you're on a server.
*Super-nerfed "spectral" stat bonuses (ones that give bonuses to all stats)
0.5 	April 23, 2012 	
Extreme Polish and Bug-Relief Patch!
As always, remember to make a new world when running a new Hack/Mine version!
*Added a patch note screen!
*Added Races!!! Explorer Minecraftia as a stoutly Dwarf, a snooty Elf, a tricksy Halfing, or a regular Steve!
*Significantly increased experience required to level (basically quadrupled the number of same level mobs slain to hit level 30, the planned level cap).
*Increased mob damage by 50%, cause the game was TOO EASY! Mob frequency has also been reduced.
*Decreased stat points per level from 6 to 5 (forgot to do this with the removal of Agility)
*Increased dungeon loot a good bit, and decreased tower loot slightly.
*Added Super Towers! Towers will occasionally be much taller and difficult than normal, but with even greater loot at the top...
*Significantly reduced mana consumption of the Wand.
*Added tooltips to Spells and Stats!
*Added new bows and wands for all levels!
*Added a "Reroll Character" option to the In-Game Menu!
*Fixed biome grass colors not appearing in Optifine!
*Fixed having to restart when changing resolutions with Optifine. (Note: confirmed there will still sometimes be rendering glitchiness if you don't restart your client.)
*Until the Technic crew fixes the missing/buggy text, you can drag the en_US.lang file that comes with the non-Technic H/M download into the lang folder of "techniclauncher/hackslashmine/bin/modpack..jar". Problem solved!
*Rangers have been given "Torch Shot" for even more funsies
*Dungeon blocks have been defruitified!
*Made mob spawners unexpodable. Nice try, Ranger :)
*Changed Endermen so they don't auto-evade all projectiles
*Derfed damage from lightning summoning spells!
*Added more Unique items!
*Animal health has been NERFED
*Fixed adjacent towers having similar colors
*Addressed weird tooltip proportions in Optifine (is not fixed in TechnicLauncher version of the game)
*Slimes now display their namebar appropriately in SMP
*Baby slimes now inherit their level from the mama slime
*Sixed an SMP crash involving casting spells on targets
*Fixed an SMP kick due to Mages Blinkin' too fast
*Fixed items reverting to non-magical states when the chest containing them is explodinated
*Fixed entities "ghosting" on death (well, to the extent H/M made it worse)
*Increased the visibility of the Live Combat Display
*Fixed a crash involving buggy unique items rendering in a gui
0.4 	April, ?? 2012 	
Ranger Nerf Patch!
* The Warrior has a new spell: Charge! Rush at your foes, dealing AoE damage on impact with an enemy.
* The Ranger may now only climb "natural" blocks. Iow, nothing man-made.
* Added new dungeon blocks! Wall blocks are indestructible, whereas filler blocks and stairs are easily mined. These are considered "man-made" There are many more blocks to come, and the existing blocks are definitely subject to change.
* The Scorpion has finally been textured! Hurray!
*Fall damage has been increased.
*The wand's mana consumption has been reduced.
*Players no longer spawn underground in SMP, hehe.
*The SMP "string length" crash has been addressed, but I'm uncertain if it's been fixed or improved upon (I don't have hours to test it!) Let me know if it's gone/if it's better/if you want to strangle me because it STILL isn't fixed!
*Area system for SMP has been improved a bit.
*Fixed a lot of hotkey issue, particularly with spell casting (all spells may now be cast from the hotbar!) It should be working flawlessly now.
* The Ranger's bow spells now appropriately trigger a cooldown on the release of the bow, not the inital draw.
*Lots more!
0.3 	April 12, 2012 	
New Features:
Introducing Classes!
*Added a class selection dialogue! The Warrior, Mage, and Ranger are now all playable classes. For some reason this makes me want to add more...
*Gave rangers the ability to climb! It's totally imba right now, but it will be limited to non-manmade blocks, once I've created/obtained some new blocks for use in dungeons.
*Added Blink and Lightning for the Mage, and gave the Ranger Tri-shot, Explosive Shot, and Lightning Shot.
*I'll be giving the Warrior more toys in the next patch. Note that every spell is subject to being changed or entirely removed( especially the Ranger's) and will eventually be unlockable, instead of you just starting out with them. Also, I need to get/make some more spell icons, as well as purdy/neaten up the spells a good bit. So for now, just have fun and tell me how it goes!
*Added the Orc Archer! Props to my roommate for the texture-work, hehe!
*Added a whole RAINBOW of slimes, which appear in small numbers throughout the entire world! Each has a particular element that it both deals in damage and entirely resists. Also, there's a camouflage slime and an actual rainbow slime that cycles through all the colors, changing its element appropriately. For now, black slimes have a random element, but will later resist physical.
*Added a dynamic atmosphere system-- many Areas now change the sky, fog, cloud and overall screen color, along with day and night lighting and brightness, for your enhanced viewing pleasure. Still need to add a lot of features to Areas, but this was a large step in the right direction.
*Added a new Controls screen! Key bindings may now be configured with modifiers (shift, ctrl, or alt).
*Adding resistance to magical properties! Fire resist already added, will be adding more in the next patch.
*Fixed a few horrible game-crashing bugs in SMP, though there are probably still others. For now, run your client from command prompt, then copy-paste any game-crashing errors to this thread!
*Lava and fall damage now deal damage on a percent basis.
*Mobs weren't dealing damage correctly! This has been corrected, and your game will now probably be much more difficult
*Decreated the travel time required to find higher level areas.
*Some more little things and general performance
==References==
1. "Known issues and workarounds" . PuddingHuxtable. 24 April 2012. Retrieved 24 April 2012.
Category:Changelogs
Category:Hack Slash Mine