Electroblob's Wizardry

4,657,634 Downloads Last Updated: Apr 13, 2020 Game Version: Forge

File Details

Filename ElectroblobsWizardry-4.2.0-MC1.12.2.jar
Uploaded by Electroblob
Uploaded Aug 17, 2019
Game Version Forge
Size 6.94 MB
Downloads 3,904
MD5 a25d9b5b33a9c75aee9ea4351c246ed8
Supported Modloader Versions
Supported Java Versions
Java 10
Java 9
Java 8
Supported Minecraft 1.12 Versions


^ Version updates
+ Added features
* Changed features
# Bugfixes
- Removed features


Version 4.2.0 - An update so big the changelog is in multiple parts!


^ Updated to Forge 1.12.2 -
* Sanitised the jar filename a bit (removed the spaces and the apostrophe, apparently Maven doesn't like them)


+ Added many new particle effects to various spells
+ Added a variety of new sounds, including spell selection, spell binding in the arcane workbench, and casting of various spells
+ The arcane workbench GUI now has a fancy animation when the apply button is pressed
+ Conjured items now have an appearing/disappearing animation
+ Creatures with the frostbite effect now show an icy layer over their skin
+ Wizard robes now bend when the wearer is sneaking or sitting down
+ Legendary wizard armour now has its own armour texture variants (the items still look the same)
+ The spell HUD has a new default texture and now supports different skins defined using JSON files in resource packs, which can be selected in the config menu - the base mod now comes with 19 different skins to choose from!
+ The spell HUD now shows the previous and next spells and has a spell-switching animation
+ Sixth sense and transience (along with two of the new spells) now have fancy shaders!
+ The spell HUD position config option now has four more options allowing the HUD to switch from left to right depending on which hand the active wand is held in
+ Wands now display their progression when advanced tooltips are enabled
+ Added a spells sound category, use the slider in Options -> Music & Sounds to change the volume of spells separately to other sounds
+ Added a config option to turn off spell shaders
+ Added a config option to reverse the spell switching scroll direction
* The default spell HUD scroll direction has been reversed so it works the way you'd expect it to with the new animation
* The spell HUD now scales itself to get out of the way of the hotbar and offhand slot - this normally only happens with a large GUI scale or a small game window, and can be avoided by changing the HUD position, GUI scale or the player's primary hand
* Completely rewrote the rendering for arc/lightning ray/chain lightning, it is now fully 3D and no longer an entity, resulting in improved performance
* Completely rewrote the rendering for forcefields, they are now actual spheres and not made of particles, and have particle effects when things hit them
* Shockwave has a new animation and sound
* Rewrote the particle system to use the texture atlas, resulting in a major performance improvement for large numbers of particles (such as with the blizzard spell)
* Particles can now have simple physics, for example, flame ray spreads out when it hits a block
* Spirit animals now fade away when dispelled
* All sounds are now defined in separate sound events
* Continuous spell sounds are now looped nicely, with start and end sections and a much longer loop
* Retextured most of the blocks
* Retextured nearly all of the items, including all of the wands
* Retextured a number of spell icons
* Retextured a few entities
* Retextured all of the book GUIs and added subtly different variations for different tiers of spell book
* Updated the Wizardry logo
* Most chat readouts (excluding commands) have been changed to toast notifications above the hotbar
# Fixed render pass/layer issues for various translucent things
# Fixed a bug where status effects with custom particles (e.g. frostbite) would not update on the client when applied to non-players, causing them to appear to continue indefinitely
# Status effects with custom particles no longer mix their colours with other status effects
# Ice spikes no longer appear black when inside blocks
# Fixed transparency for cobwebs from the cobwebs spell
# Flame particles no longer appear dull and translucent for some spells (firebomb, flame ray, phoenix attacks, etc.)
# Fixed various spells where particles that were meant to appear did not
# Fixed z-fighting on the brim of wizard hats when they have the enchantment glint effect
# Wizard hats no longer clip through the hat layer of player skins, fixing issue #83 - the brim is slightly wider now to keep it in proportion
# The arcane workbench in-world animation is now smoother
# The spell HUD no longer displays in spectator mode
# Wizards no longer spawn heal particles around themselves when they first spawn
- Removed the mana readout in item tooltips (you can still view the exact mana in an arcane workbench - or by pressing F3 + H, you spoilsport...)


+ Added runestone and runestone pedestals
+ Added elemental crystal block variants
+ Stones of transportation now display particles at the positions of any stones missing from the circle when right-clicked
* Magic light blocks can now be broken in creative mode
# Fixed issue #128, where magic light blocks would grow indefinitely on server/client desync
# Arcane workbenches no longer connect to fences, panes, iron bars or walls


+ Added artefacts! These can only be found by exploring shrines, which will each contain a single artefact
+ Added elemental crystal variants, which may be used to craft novice elemental wands
+ Added wand progression - a new mechanic in which wands gain progression from casting spells and must reach a certain amount of progression before they can be upgraded to the next tier (tomes of arcana are still required to do the actual upgrading)
+ Added a config option to revert to legacy wand levelling, because I know you'll ask
+ Added 3 armour enchantments: Magic Protection, Frost Protection and Shock Protection - these can be applied to any armour, including wizard armour, and may be applied to or found in enchanted books
+ Wizard armour items now show a tooltip in the arcane workbench with how much mana they have left
+ Added spark bombs as an item - they work in much the same way as firebombs, poison bombs and smoke bombs and can be crafted or found in dungeon chests
+ Added wand melee upgrades, which allow wands to deal more melee damage
+ Added purifying elixir for removing curses
+ Added astral diamonds, which can be found as loot and are now required to buy master-tier items
+ There are now three different sizes of mana flask, which restore 300, 700 and 1400 mana respectively and can occasionally be found in dungeon chests or dropped by wizards, as well as being craftable as before
+ Added spawn eggs for all of wizardry's non-vanilla summoned creatures
* Magic wands are now empty when first crafted
* Wizard armour can now be enchanted using an enchantment table, as well as with an anvil as before (though that was not intended prior to this release!) - fixes issue #139
* The cost reduction provided per piece of wizard armour has been reduced to 15%, however there is now an additional 20% bonus for wearing a complete set, meaning that the cost reduction for a full set is still 80% as before
* When invisible, wizard armour is now ignored when calculating the mob detection penalty for wearing armour
* Wizard armour now doesn't render at all when invisible, rather than just using an invisible texture
* Siphon upgrades have been buffed to grant at least 5 mana per level for each kill (it was 3 before)
* All wands are now available in the creative inventory, and wizardry gear (wands, armour and artefacts) now has its own separate tab
* Spell books and scrolls now stack to 16 (the arcane workbench slots still only accept one spell book at a time, but you can now enchant a stack of 16 scrolls at once)
# Wands and conjured items can no longer be enchanted using an anvil


+ Added obelisks
+ Added shrines
+ Added some of the new items to loot tables
+ Firebombs, poison bombs, smoke bombs, spark bombs and a selection of spell scrolls now have a chance to generate in jungle temple dispensers
+ Added the 'fancy' structure generation algorithm to determine whether there is space for the structure to spawn, meaning structures are very unlikely to spawn on cliffs, steep slopes, or other structures, and will clear any floating trees left behind after they generate - there is a config option to turn this off for potentially quicker worldgen
+ Added the option 'undiscovered_bias' to the random_spell loot function; this option allows a weighting towards undiscovered spells to be specified, with 0 being no weighting (as it was previously) and 1 producing guaranteed undiscovered spells
+ Added a config option to change the chance for a tower to contain an evil wizard and loot chest, see issue #133
+ Added a config option to add, change and remove structure file locations, allowing pack makers to add and remove structure variants from resource packs rather than being limited to just overriding the default ones
+ Added a config option to specify the loot injection locations, meaning you can now add wizardry's standard set of dungeon loot to any loot table from any mod
* All structures now use the structure file system, meaning you can spawn them yourself using structure blocks and change them using resource packs
* The tower rarity config option is now the 1/n chance per chunk that a wizard tower will generate, allowing for finer control over their rarity - multiply pre-4.2 values by 70 for an equivalent value in the new system
* Wizard tower materials have been tweaked a little: cobblestone and stone brick towers now have random mossy blocks and towers in mesas are now made of red sandstone
* Structures now ignore trees when finding a space to generate, meaning they should now spawn at the same rate in forests as everywhere else
* The spell books and scrolls generated in dungeon chests and wizard tower chests (as well as shrines and obelisks) now have an undiscovered bias of 0.3 by default, meaning 65% of generated spell books and scrolls will contain spells the player has not yet discovered
* Mob spell book drops are now defined in a loot table, and mobs can be blacklisted or whitelisted for this in the config
* Mobs no longer drop master spell books, apart from evil wizards spawned from structures
* All loot is now less common in dungeon chests, to account for the new structures
* Tomes of arcana are now much less common
* Various other loot rarity tweaks
# Eliminated most cascading worldgen lag (a small amount still remains; this is due to the size of the bigger stuctures)
# All structures now respect the generated structures world option
# The rewrite should fix issue #100
- Removed novice elemental wands from loot tables in favour of elemental crystals
- Removed the generateLoot config option in favour of finer control over loot injection locations, see above

+ Added 32 new spells!
+ Spells can now be cast by placing a spell scroll in a dispenser and powering the dispenser - some spells behave slightly differently to when they are cast by players, and a few spells such as transportation cannot be cast by dispensers
+ Continuous spells can now be cast using scrolls, and will last for a set duration of 6 seconds in survival mode. They also work in dispensers!
+ Continuous spells may now have cooldowns, though by default none of them do
+ Arcane jammer now prevents evokers from casting spells
+ Added a config option to prevent player block damage, this should stop griefing on servers - the one exception to this is the new Mine spell since that's all it does, but it should still respect block protection mods (if not, you'll have to disable the spell, sorry)
+ Added a pocket furnace item blacklist to the config
+ Added sword and bow item whitelists to the config
* Wizards (and other non-player spell casters) now obey range restrictions for all spells, so no more being electrocuted from 20 blocks away!
* Wizards now have the decency to tell you which spell you are buying before you buy it - however, it will only count as discovered after you buy it
* All construct spells including sigils now have anti-overlap, meaning that multiple constructs of the same type cannot be placed such that they intersect - this removes an exploit where constructs (especially sigils) could be stacked up at a single location to deal massive amounts of damage
* All summoned creatures now increase their attack damage based on the potency the spell was cast with
* Summoned creatures can now always attack non-players that are attacking their caster (noticeable with, for example, angry wolves)
* Some spells such as blizzard no longer require the caster to be aiming at the ground in order to cast them, they can now be cast in mid-air just like black hole, fixing issue #132
* Summoning a spirit horse or wolf when the player already has one now causes the old one to disappear, instead of not allowing the new one to be summoned - this fixes issue #74
* Wizards can now cast even more of the spells
* Some projectile spells have had their base ranges reduced to make range upgrades more useful
* Forcefield's repulsion code has been completely rewritten; it is now impossible for anything to get through that isn't supposed to - this fixes issue #117
* Forcefield now supports blast modifiers, which increase the forcefield size
* Forcefield now protects against explosions - you can now stand inside your forcefield and watch creepers blow up in your face without taking a single bit of damage!
* Blocks can now be placed and broken and entities can now be interacted with inside forcefields; however, you cannot interact with anything outside a forcefield from inside it, and vice versa
* Sigil spells are now affected by potency modifiers
* Blast upgrades now affect various spells that weren't affected by them before
* Firestorm has been renamed to fire breath (any references to the old firestorm spell in existing worlds will change to fire breath)
* Fireball and greater fireball have had their fireballs replaced with custom ones because the vanilla ones are useless - you can optionally replace all fireballs in the game with these if you prefer them
* Phase step now allows teleportation through floors and ceilings, and also works as a short-distance teleport that does not require the caster to be looking at a block, unlike blink
* Summoned silverfish now have a limit to the number of 'generations' that can happen, preventing them from multiplying indefinitely - this fixes issue #143
* Flame ray and fire breath now support duration modifiers, in the same way as ignite
* Life drain's healing power has been nerfed slightly, but now scales with potency modifiers
* Wall of frost now freezes mobs solid if they are caught in its blast
* Wall of frost now uses frosted ice instead of ice statue blocks, eliminating the large number of tile entities, resulting in improved performance
* Wall of frost now supports duration modifiers, which will increase the time before the ice breaks
* Lightning hammer now deals damage to entities on a direct hit
* Phoenixes now spawn in mid-air instead of on the ground
* Banish's teleportation radius is now affected by blast modifiers instead of range modifiers. The range of the actual spell shot is still affected by range modifiers.
* Light is now affected by range modifiers
* Greater fireball and growth aura are now affected by blast modifiers
* Glide and flight are now affected by potency modifiers, which in both cases increase flight speed
* Intimidate is now affected by potency modifiers, which increase the distance mobs will run away
* Whirlwind is now affected by potency modifiers, which increase the repulsion speed
* Ice spikes can now be summoned on walls and ceilings
* Ice charge now spawns ice shards with greater velocity
* Diamondflesh now gives resistance IV instead of resistance V
* The code now allows wizards to cast most master spells, but only wizards spawned from shrines will actually do so naturally - but you can make any wizard cast master spells by right-clicking them with a master spell book in creative mode (at your own risk!)
* All spells now respect the mobGriefing gamerule
# All spells no longer hit entities that are in the process of dying
# Transience now prevents all damage except being out of the world, as was originally intended - you can now jump off a cliff and land unharmed under its effects
# Spirit wolves now spawn with a full 40 health instead of 8 (the value for untamed wolves, which was incorrectly used in previous versions)
# Decoy now has a greater chance to trick mobs the higher the potency, as it should (it was less before... my bad!)
# Pocket furnace no longer smelts weapons, tools or armour, fixing issue #115
# Fixed issue #30, where Potion Core (or any other mod that modifies vanilla invulnerability timers) would cause continuous spells to deal damage in very quick succession in certain cases - the config-based workaround should no longer be necessary
# Fixed issue #69, where discover spells would (sometimes?) reset client-side on player death
# Fixed issue #137, where summoned iron golems would behave like village ones instead of player-built ones
# Fixed issue #150, where lightning hammer caused a crash with LordCraft installed


The Wizard's Handbook:

+ Added a movable bookmark to The Wizard's Handbook

+ Added more images to The Wizard's Handbook

+ The Wizard's Handbook now adds pages as and when you discover the relevant item, location or thing, so that new players don't have a huge wall of text to start off with (and to encourage you people to actually read the thing!)

+ Added a (client-side) config option to switch this behaviour off for the wizardry veterans out there

+ Added a config option controlling whether wizardry's books pause the game when opened in singleplayer, fixing issue #126

* The Wizard's Handbook is now defined in a JSON file, allowing for much more flexibility in its structure and formatting - it now supports:

        > Inline and animated crafting recipes, which are loaded dynamically from defined recipe JSON files

        > Inline images with captions > Customisable text colours

        > Inline hyperlinks to sections of the book and external websites

        > Customisable contents lists, complete with automatically-generated hyperlinks

        > Advancement triggers for book sections

* Updated and reorganised the information in The Wizard's Handbook

# As a result of the changes, text now wraps properly regardless of the font, language or book contents, fixing issue #58

# Fixed issue #145, where the handbook background was coloured if the GL colour was not set to white by whatever was drawn before it


Mod Integration / Compatibility:
+ Added Baubles integration for the new artefacts - if Baubles is installed, they are active when worn in the appropriate Baubles slot, otherwise they are active when on the hotbar (and are limited to the same number as the Baubles slots would allow)
+ Added Antique Atlas integration for wizard towers and the two new structures, shrines and obelisks - each has its own dedicated marker type, and by default global markers will be added as the structures are generated
+ Added mod integration options to the config file
# Added the damage safety checker, fixing issues #72 and #89 - this system allows wizardry to detect an imminent crash before it happens and divert the damage to prevent it
# Fixed issue #125, a crash with the Applied Energistics 2 terminal
# Fixed issues #66 and #153, an exploit where wands and armour could be refilled with mana using item repair methods from other mods



+ Added support for positional spell casting using commands, meaning players and command blocks can cast spells at any location as if there was a dispenser there

+ Spells now each have their own JSON file located under assets/ebwizardry/spells, which defines the spell's base attributes and where it can appear and be used - this means they can now be tweaked using resource packs

        > On a server, you'll need to modify the jar in the same way you would for recipes or advancements - but the changes will be sent to clients automatically

+ Added proper advancement triggers, meaning you can make custom advancements for certain actions in wizardry including spell casting, spell discovery and arcane workbench use

* Continuous spells cast via commands now last for a certain duration which may be specified in the command, or left as the default 5 seconds, similar to the /effect command

* Assigning spells to wizards via right-clicking in creative now displays a chat readout

* Increased the config limit for player/NPC damage scaling from 20 to 255

* Wizardry's commands now respect the sendCommandFeedback gamerule (with the exception of /allies, since that's all it does)

# Eliminated several ArrayIndexOutOfBoundsExceptions caused by wand NBT in commands


+ Ice wraiths now occasionally spawn at night in tundra, ice spikes and ice mountains biomes
+ Lightning wraiths now occasionally spawn in any biome during thunderstorms
+ Added config options to control mob spawning
+ Added a config option for changing the items required to buy items from wizards, useful if, for example, your modpack has a currency item such as coins
+ Added Korean translations, thanks to rewi_wire and shejery
+ Added French translations, thanks to Hahdrim
+ Added Brazilian Portugese translations, thanks to lorrampi
* The ally designation system now takes tamed creatures into account, including those from other mods (assuming they use the vanilla system): creatures tamed by you or an ally will not be targeted by your spells, even when you are not logged in
* Due to internal changes (namely that they now implement IEntityOwnable), other mods should now recognise that your summoned creatures and constructs belong to you - actual effects will vary between mods
* The friendly fire config option now has four settings: All (allow all friendly fire), Only players (prevent friendly fire on creatures summoned/tamed by you or an ally, but allow it on allied players), Only minions/pets (prevent friendly fire on players, but allow it on creatures summoned/tamed by you or an ally), and None (prevent all friendly fire)
* The minion revenge targeting config option now works on everything the ADS works on, so your pets, your friends and their pets will now be completely safe if it is disabled
* Wizard trades are a bit less expensive now, and diamonds have been removed from the potential items bought
* Reorganised wizardry's advancements, added some new ones and removed some old ones
* Updated Russian translations, thanks to kellixon
* Reorganised and improved the config file and GUI
* Polar bears are now immune to frost damage
# Binding the next/previous spell keys to mouse buttons finally works properly - gaming mouse users, rejoice!
# Fixed issue #116, where the server would freeze when it received an invalid arcane workbench packet (this now prints a warning instead)
# Squashed a load of other little bugs


+ Improved API support for adding new elements
+ Improved API support for adding new tiers, you'll probably need to do some of the legwork yourself though
+ Added the ISpellCastingItem interface, allowing custom spellcasting items to be defined without needing to extend ItemWand
+ Added the IManaStoringItem interface, allowing custom implementations of mana storage (such as NBT)
+ Added a spell data system to WizardData which allows data of any type to be stored in it. This is done by specifying a key which is an IVariable<T>, where T is the type of data you want to store. The system also allows automatic saving to NBT through supplied converter functions, see IStoredVariable. There are a number of static methods for generating keys for primitives and other common data types in StoredVariable. The system is completely optional, so you may well not even need to use it.
* Reorganised some of the packages
* Moved a lot of methods around in an effort to improve code navigability and separation of concerns. There shouldn't be too many external changes, but some helper methods may be somewhere different to before (notably: raytracing, NBT helpers and the ally designation system).
* Significantly refactored the structure and hierarchy of the spell classes, introducing a set of standardised superclasses for similar types of spells. These changes should be backwards-compatible except for a few minor tweaks/name changes, though these are insignificant compared to the changes required as part of the spell JSON system - HOWEVER, it is highly recommended that spell classes are converted over to extend the appropriate superclass wherever possible. This will likely result in deletion of a lot of copied code.
* Introduced spell properties, which are the code representation of the base_properties object in the new spell JSON files. You'll need to make JSON files for all your spells and plug in their tier, element, cost, etc. (I have a code snippet that generates the standard stuff for you, give me a shout). The more involved part is taking the hardcoded constants ('properties') out of your spells and moving them over to the JSON file so that users can change them. Your spells will still work without doing this, so which things you choose to give users control over is up to you. See my spell classes for examples.
* Decoupled spell metadata from the numbers used in packets. This fixes a problem where removing a spell from a world (perhaps by uninstalling a spell pack) would result in the game crashing when trying to sync spell glyph data. Spells now have a network ID which must be used for packets, see Spell#networkID() and Spell#byNetworkID(int). For clarity, the Spell#id() and Spell#get(int) methods have been renamed to metadata() and byMetadata() respectively. N.B. Spell metadata is likely to be phased out in future updates in preparation for 1.13 and the flattening, network IDs are the first step towards that.
* Rewrote the particle system, pretty much from the ground up. Wizardry particles must now be spawned using the particle builder - see electroblob.wizardry.util.ParticleBuilder for more details. It's pretty self-explanatory though, this isn't a difficult change to make. You can even add your own particles to this system!
* Improvements and changes to spell casting events and modifiers to accommodate dispenser casting, including proper support for cooldown modifiers and integration of cost into the modifiers system - fixing issue #140
* Allies are now stored as UUIDs, as are owners of summoned creatures and constructs, which now also implement IEntityOwnable. The ally system has been tweaked accordingly and there are a few extra helper methods for it, see electroblob.wizardry.util.AllyDesignationSystem for details. This change fixes issue #113 and possibly #21.

Related Projects

Optional Dependency