All Classes and Interfaces

Class
Description
 
 
An artifact item that is also an accessory for the Accessories mod.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An item that helps you to upgrade wands to new spell tiers.
 
 
Where Part of the magic happens.
 
Client-side GUI screen for the Arcane Workbench, where all rendering, button logic, tooltips, and animations are handled.
 
Base class for spells that affect entities within a specified area of effect (AoE).
 
 
 
 
Represents a spell that launches a MagicArrowEntity-based projectile.
 
Base data provider for generating a Markdown table with all the artifacts registered in the mod, including item sprite, artifact name and description.
 
Base class for artifact items.
This is used for filtering only
Various utility methods for use by artifacts.
AttackSpellBasicGoal<T extends net.minecraft.world.entity.Mob & ISpellCaster>
Basic version of AttackSpellGoal that can be used by most spell-casting mobs without checking movement or look controls, leaving those to other goals.
AttackSpellGoal<T extends net.minecraft.world.entity.Mob & ISpellCaster>
A goal which allows a spell-casting mob to attack its target with spells.
 
 
 
 
 
 
BlankRenderer<T extends net.minecraft.world.entity.Entity>
This class is used to render entities that don't have a texture,
 
 
 
 
 
 
 
 
 
 
 
A SurfaceCriteria object is used to define a 'surface', a boundary between two blocks which differ in some way, for use in BlockUtil.getNearestSurface(Level, BlockPos, Direction, int, boolean, SurfaceCriteria).
 
 
 
 
 
 
 
Renderer for the Bookshelf block entity.
 
 
 
 
 
 
 
 
Spell that applies mob effects to the caster.
 
 
 
 
CastContext - Base Context for Spell Casting
This class avoids big classes just to handle NBT data for getting/saving values.
A utility class for handling various aspects of spell casting, including event firing, cooldown application, spell tracking, and network packet sending.
 
 
Handles messages received on the client side, we may only call client-side methods from here because we don't want to accidentally reference client-only code on the server side.
Handles messages received on the client side, we may only call client-side methods from here because we don't want to accidentally reference client-only code on the server side.
Handles messages received on the client side, we may only call client-side methods from here because we don't want to accidentally reference client-only code on the server side.
 
 
 
 
 
 
A class representing a single configuration option.
 
 
 
 
 
This is the interface that we will use later to interact with the conjure item data!! Loading this as an interface and later implemented by the loaders from "scratch" is basically because we need a similar way to load-change data for Fabric and forge, with this we're trying to create a mask that we will trust that the loaders won't have any problem saving and handling the data.
Loading the conjure data with Forge, nothing too crazy over here, just using the capabilities to load-change the data
 
Base class for spells that conjure items.
 
 
 
We need to modify the way that the items load the durability bar, with this we check for the ConjureData if the item isn't a conjure item it just continues with the normal behavior, if the item is a conjure item and is summoned the mod will load the remaining lifetime based on gameTime and expireTime.
Extension of ConstructSpell that spawns constructs at a distance from the caster using ray casting.
Base class for spells that spawn magical construct entities (MagicConstructEntity).
 
Represents containment data for living entities affected by the containment effect.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This class is used to save all the custom data events used in Electroblob's Wizardry, normally just including player tick and spell cast events.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Handles the registration of block entity renderers.
 
 
 
 
 
 
 
This applies to loaders with the Mixin MinecraftMixin#EBWIZARDRY$clientTick
Check CommandsMixin to see the registry
We only need to use EBCommands.COMMANDS_TO_REGISTER :p
 
 
 
 
 
Electroblob's Wizardry Internal Use Only

This is the main class that handles the basic data gen features for the mod we use this to register all the just-one-file or small models with a generic behaviour.
 
 
 
 
 
Simple class to save all the event helper methods This is internal use, you're not supposed to use this for any reason
Electroblob's Wizardry Internal Use Only

 
 
Event fired when a player attempts to place an item in a container (Inside the slot class's mayPlace method) Can be cancelled to prevent the item from being placed.
 
The registration of all wizardry items, sorted by category for helping with creative tabs

Sorted by: General Items Flasks Spectral Dust Wands Crystals Wand Upgrades Wizard Armor Artifacts Conjured (Spectral) Spell Cast Items Bombs
 
Event fired when a player tosses an item from their inventory.
 
 
This applies to loaders with the Mixin LivingEntityMixin#EBWIZARDRY$livingEntityHurt
This applies to loaders with the Mixin LivingEntityMixin#EBWIZARDRY$tick
EBLogger is a simple wrapper around the SLF4J Logger, providing convenience methods for logging messages at different levels.
 
 
 
Handles the registration of menus.
Handles the registration of menu screens.
EBMenuScreens.ScreenFactory<T extends net.minecraft.world.inventory.AbstractContainerMenu,U extends net.minecraft.client.gui.screens.Screen & net.minecraft.client.gui.screens.inventory.MenuAccess<T>>
 
 
 
 
 
 
This applies to:

Fabric: ServerPlayConnectionEvents#JOIN
Forge: EntityJoinLevelEvent
 
 
 
 
 
 
 
 
Implementation of the spell documentation provider for Electroblob's Wizardry Redux.
 
 
 
 
 
Custom argument type for Element objects in commands.
 
 
 
 
 
EntityCastContext - Casting Context for Entities
 
 
 
Internal use for Electroblob's Wizardry

Dummy interface to use events
You don't need to use or access to this interface, this could help you if you want to make events for you mod
Internal use for Electroblob's Wizardry

Base interface for WizardryEventBus, used to work as a blueprint for register-handle events
You don't need to use or access to this interface, this could help you if you want to make events for you mod
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Abstract base class for all spell forfeits.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Hey! I'm just a client handler for the glyph data
 
 
 
Why this is called GST...?
 
 
 
 
Helps a mob to look directly at its target with hard rotations, ignoring any smoothing that would normally be applied.
 
 
 
 
 
Interface representing the effects of artifacts in the mod.
Offers a template for spell casting items to handle the base spell casting logic, cooldown, spell selection, cast verification and spell casting.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Interface to mirror allow items to add/remove entity attributes dynamically based on the item stack
Exposing helper methods to define how to obtain/set the damage/max-damage for an item, especially used to avoid item destruction in normal cases.
Deprecated.
 
Interface for items that have an associated element value.
 
 
 
 
 
 
 
 
Interface for tracking temporary enchantments on items, such as those applied by imbuement spells.
 
 
 
 
 
 
 
 
 
Interface defining methods for serializing and deserializing spell properties to and from JSON and NBT formats.
 
 
Interface for spell variables that can be stored and synchronized between client and server.
Default implementation of ISpellVar that provides basic functionality.
Extension of ISpellVar that adds NBT serialization capabilities for persistent storage.
IStoredSpellVar.StoredSpellVar<T,E extends net.minecraft.nbt.Tag>
Default implementation of IStoredSpellVar with NBT serialization support.
 
 
 
Interface for items that have an associated tier value.
Internal use for Electroblob's Wizardry

Base interface to create WizardryCancelableEvent and WizardryEvent
You don't need to use or access to this interface, this could help you if you want to make events for you mod
 
 
 
 
 
 
 
 
 
 
 
 
 
LocationCastContext - Casting Context from Fixed Location
This class uses the base code from AbstractArrow and adds some methods to make it easier to use with the mod.
This class, MagicArrowRenderer, extends the ProjectileEntityRenderer class.
 
This class is for all inanimate magical constructs that are not projectiles.
Damage source factory for the mod's magic damage types.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Goal that helps to copy the owner's target for the minion.
Represents the data associated with a minion entity in the game.
 
 
 
 
 
MinionSpell<T extends net.minecraft.world.entity.Mob>
Base class for spells that summon minions.
 
 
 
 
 
MovingSoundEntity<T extends net.minecraft.world.entity.Entity>
 
 
 
This is an empty spell used for whenever a non-null empty spell is needed; it's great for using as a template when making your own spell.
 
 
 
 
 
 
 
 
 
Particle Buff is the only particle in Electroblob's Wizardry (at least on Alpha release) that's using the linking mechanism from ParticleWizardry to follow an entity.
 
 
Data class for particle properties to be sent over the network and spawned client-side.
 
 
 
 
 
 
 
Based on the vanilla ParticleParticle, but with modified rendering to allow for a pulsing scale and a fade out.
 
 
Deprecated.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Client-only class that handles actual particle spawning.
 
 
 
 
Abstract superclass for all of wizardry's particles.
 
 
 
 
 
 
 
 
PlayerCastContext - Casting Context for Players
 
 
 
 
 
 
 
Base class for spells that shoot magical projectile entities (MagicProjectileEntity).
This class loads spell properties from JSON files located in the "data/modid/spells" directory of data packs.
 
Generic implementation of the IPropertyType interface using functional interfaces for serialization and deserialization.
Registry class for different property types used in spell properties.
 
Utility class used for quickly add artifacts effect to simple items without having to create a whole new class.
 
 
 
Intelligent kiting goal for ranged attack entities that maintains a safe distance.
 
Base class for spells that cast a ray from the caster's position or a location, affecting entities and blocks along the ray's path.
Utility class for performing ray trace operations in the world, including both block and entity detection.
 
 
 
Functional interface used by Electroblob's Wizardry Redux registration helpers to perform actual registrations into the different loaders' registries (Forge, Fabric).
General utility methods used for Spell related functionality, normally being used for item creation, retrieval, etc.
 
 
 
 
 
 
 
RobeArmorModel<T extends net.minecraft.world.entity.LivingEntity>
 
 
 
 
 
 
 
 
Scroll Item!! Fast and easy way to use spells
 
 
 
 
 
 
 
 
 
Arcane Workbench Slot that only allows items whose class matches one of the specified allowed item classes.
Arcane Workbench Slot that only allows specific items and has a configurable stack limit and icon.
 
Arcane Workbench slot that only accepts items implementing IWorkbenchItem.
 
 
Handle all the active sound loops with the SoundLoop.onClientTick(EBClientTickEvent) Saves all the info for the three basic sounds (start, loop, end) and handle all the logic in the event

This class only works as a blueprint for situations that you need to play a sound loop, for example: SpellSoundManager, all the logic here is just for simplify the process of doing a sound loop
 
Encapsulate all the work and info needed to cast spells in the mod, this contains 3 subclasses that are used depending on how you're casting a spell
Sound loop from a spell cast by a dispenser
Sound loop from a spell cast by an entity
 
Sound loop from a spell cast just by the location, normally a /cast command
 
 
 
 
 
 
 
 
 
 
 
Abstract blueprint for every spell in the mod.
 
 
Custom argument type for Spell objects in commands.
Event fired when a player presses the apply button in the Arcane Workbench GUI (not confuse, this is only called on the server side).
 
 
 
 
 
 
 
 
 
 
 
Represents a set of conditions that can be tested against a Spell.
A single condition predicate consisting of a type and a value.
 
An argument type for parsing SpellCondition instances from command input.
Enum representing different contexts in which a spell can be used.
Base class for data providers that generate spell properties files.
 
 
Base data provider for generating spell documentation in Markdown format.
This class is responsible for storing and managing the random names and descriptions assigned to spell glyphs, this is when the player don't know what a spell does and they have to identify it first, all the scrolls/books showing that spell will then have the same random name/description.
 
 
 
 
 
 
 
Glorified map for storing and saving spell modifier values such as potency, cost, chargeup and many others.
 
 
 
 
A class representing a property of a spell, such as its cost or cooldown.
 
Class mostly used in minecraft gametesting framework for checking spell values in different contexts.
 
A column represents the scenario that will return a desired result to be compared
A row represents a context where you're going to cast a spell
 
Custom argument type for spell tier objects in commands.
 
 
 
 
 
 
 
 
 
 
Used just for testing the network api
 
Used internally for the ArcaneWorkbechScreen, this is just the template that display information about the selected item in the menu, with this you could render:
text (Check TooltipElementText)
items (Check TooltipElementUpgrades)
and custom textures and lists (Check TooltipElementSpellEntry and TooltipElementSpellList)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Where the magic (normally) happens!! Most of the functions and logic for this item are handled on various utils classes (e.g.
 
 
 
This class manages the registration and retrieval of wand upgrade items along with their unique identifiers.
 
 
 
 
 
This Wizard class is only concerned with trading behavior.
Base class for all wizard armor items in Electroblob's Wizardry Redux.
 
WizardArmorModel<T extends net.minecraft.world.entity.LivingEntity>
 
 
 
Enum defining the different classes of wizard armor.
 
 
 
 
 
 
Makes the wizard look at the player it is trading with.
 
 
General version of a SimpleCriterionTrigger for the mod, we use this to simple call "advancement events" inside the mod code, no need to get/save data for it
 
Extension of the base Attribute Modifiers to add SpellCondition for being used with the /magic_attribute command.
Base event class to use if you want to create custom events Just make a new subclass with this and fire the event when you need it

Keep in mind if one event before you cancel the used event your listener will be used anyway, if you don't want this, use WizardryCancelableEvent.isCanceled() before doing anything
 
 
Base event class to use if you want to create custom events Just make a new subclass with this and fire the event when you need it
Internal use for Electroblob's Wizardry

Help to register and fire all the events used in the mod.
 
This class contains - WizardryForgeEvents.ForgeBusEvents : Events that are fired by Forge - WizardryForgeEvents.ModBusEvents : Events that are fired by the mod - WizardryForgeEvents.ModBusEventsClient : Events that are fired by the mod on the client
 
 
 
 
 
 
 
Stops the wizard from moving when trading.
Utility class for workbench-related operations, such as recharging mana and applying spell books to wands.