Files
Wizardry/src/main/java/electroblob/wizardry/registry/Spells.java
T
2018-03-09 11:56:31 +01:00

354 lines
14 KiB
Java

package electroblob.wizardry.registry;
import electroblob.wizardry.Wizardry;
import electroblob.wizardry.spell.*;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder;
import net.minecraftforge.registries.IForgeRegistry;
import net.minecraftforge.registries.RegistryBuilder;
/**
* Class responsible for defining, storing and registering all of wizardry's spells.
*
* @author Electroblob
* @since Wizardry 2.1
*/
// In case anyone was wondering, the reason @ObjectHolder is useful within one mod is that it allows you to initialise
// stuff during the registry events (or whenever), whilst still having a final field (which is important, not only
// because it makes the text go bold, but also because it stops anyone fiddling with your fields). "Why would I want to
// initialise things within the registry events?", I hear you ask - well, for one, custom registries don't like it if
// you haven't created the registry before you start calling constructors of classes extending IForgeRegistryEntry.Impl,
// and secondly, you might want to initialise objects based on certain conditions - perhaps a config option, or whether
// another mod is installed. This, presumably, is why everyone at forge is encouraging us to use @ObjectHolder.
@ObjectHolder(Wizardry.MODID)
@Mod.EventBusSubscriber
public final class Spells {
// This is here because this class is already an event handler.
@SubscribeEvent
public static void createRegistry(RegistryEvent.NewRegistry event){
// Beats me why we need both of these. Surely the type parameter means it already knows?
RegistryBuilder<Spell> builder = new RegistryBuilder<Spell>();
builder.setType(Spell.class);
builder.setName(new ResourceLocation(Wizardry.MODID, "spells"));
builder.setIDRange(0, 5000); // Is there any penalty for using a larger number?
Spell.registry = builder.create();
}
// Wizardry 1.0 spells
public static final Spell none = null;
public static final Spell magic_missile = null;
public static final Spell ignite = null;
public static final Spell freeze = null;
public static final Spell snowball = null;
public static final Spell arc = null;
public static final Spell thunderbolt = null;
public static final Spell summon_zombie = null;
public static final Spell snare = null;
public static final Spell dart = null;
public static final Spell light = null;
public static final Spell telekinesis = null;
public static final Spell heal = null;
public static final Spell fireball = null;
public static final Spell flame_ray = null;
public static final Spell firebomb = null;
public static final Spell fire_sigil = null;
public static final Spell firebolt = null;
public static final Spell frost_ray = null;
public static final Spell summon_snow_golem = null;
public static final Spell ice_shard = null;
public static final Spell ice_statue = null;
public static final Spell frost_sigil = null;
public static final Spell lightning_ray = null;
public static final Spell spark_bomb = null;
public static final Spell homing_spark = null;
public static final Spell lightning_sigil = null;
public static final Spell lightning_arrow = null;
public static final Spell life_drain = null;
public static final Spell summon_skeleton = null;
public static final Spell metamorphosis = null;
public static final Spell wither = null;
public static final Spell poison = null;
public static final Spell growth_aura = null;
public static final Spell bubble = null;
public static final Spell whirlwind = null;
public static final Spell poison_bomb = null;
public static final Spell summon_spirit_wolf = null;
public static final Spell blink = null;
public static final Spell agility = null;
public static final Spell conjure_sword = null;
public static final Spell conjure_pickaxe = null;
public static final Spell conjure_bow = null;
public static final Spell force_arrow = null;
public static final Spell shield = null;
public static final Spell replenish_hunger = null;
public static final Spell cure_effects = null;
public static final Spell heal_ally = null;
public static final Spell summon_blaze = null;
public static final Spell ring_of_fire = null;
public static final Spell detonate = null;
public static final Spell fire_resistance = null;
public static final Spell fireskin = null;
public static final Spell flaming_axe = null;
public static final Spell blizzard = null;
public static final Spell summon_ice_wraith = null;
public static final Spell ice_shroud = null;
public static final Spell ice_charge = null;
public static final Spell frost_axe = null;
public static final Spell invoke_weather = null;
public static final Spell chain_lightning = null;
public static final Spell lightning_bolt = null;
public static final Spell summon_lightning_wraith = null;
public static final Spell static_aura = null;
public static final Spell lightning_disc = null;
public static final Spell mind_control = null;
public static final Spell summon_wither_skeleton = null;
public static final Spell entrapment = null;
public static final Spell wither_skull = null;
public static final Spell darkness_orb = null;
public static final Spell shadow_ward = null;
public static final Spell decay = null;
public static final Spell water_breathing = null;
public static final Spell tornado = null;
public static final Spell glide = null;
public static final Spell summon_spirit_horse = null;
public static final Spell spider_swarm = null;
public static final Spell slime = null;
public static final Spell petrify = null;
public static final Spell invisibility = null;
public static final Spell levitation = null;
public static final Spell force_orb = null;
public static final Spell transportation = null;
public static final Spell spectral_pathway = null;
public static final Spell phase_step = null;
public static final Spell vanishing_box = null;
public static final Spell greater_heal = null;
public static final Spell healing_aura = null;
public static final Spell forcefield = null;
public static final Spell ironflesh = null;
public static final Spell transience = null;
public static final Spell meteor = null;
public static final Spell firestorm = null;
public static final Spell summon_phoenix = null;
public static final Spell ice_age = null;
public static final Spell wall_of_frost = null;
public static final Spell summon_ice_giant = null;
public static final Spell thunderstorm = null;
public static final Spell lightning_hammer = null;
public static final Spell plague_of_darkness = null;
public static final Spell summon_skeleton_legion = null;
public static final Spell summon_shadow_wraith = null;
public static final Spell forests_curse = null;
public static final Spell flight = null;
public static final Spell silverfish_swarm = null;
public static final Spell black_hole = null;
public static final Spell shockwave = null;
public static final Spell summon_iron_golem = null;
public static final Spell arrow_rain = null;
public static final Spell diamondflesh = null;
public static final Spell font_of_vitality = null;
// Wizardry 1.1 spells
public static final Spell smoke_bomb = null;
public static final Spell mind_trick = null;
public static final Spell leap = null;
public static final Spell pocket_furnace = null;
public static final Spell intimidate = null;
public static final Spell banish = null;
public static final Spell sixth_sense = null;
public static final Spell darkvision = null;
public static final Spell clairvoyance = null;
public static final Spell pocket_workbench = null;
public static final Spell imbue_weapon = null;
public static final Spell invigorating_presence = null;
public static final Spell oakflesh = null;
public static final Spell greater_fireball = null;
public static final Spell flaming_weapon = null;
public static final Spell ice_lance = null;
public static final Spell freezing_weapon = null;
public static final Spell ice_spikes = null;
public static final Spell lightning_pulse = null;
public static final Spell curse_of_soulbinding = null;
public static final Spell cobwebs = null;
public static final Spell decoy = null;
public static final Spell arcane_jammer = null;
public static final Spell conjure_armour = null;
public static final Spell group_heal = null;
public static final Spell hailstorm = null;
public static final Spell lightning_web = null;
public static final Spell summon_storm_elemental = null;
public static final Spell earthquake = null;
public static final Spell font_of_mana = null;
@SubscribeEvent
public static void register(RegistryEvent.Register<Spell> event){
IForgeRegistry<Spell> registry = event.getRegistry();
// event.getRegistry should always equal Spell.registry.
registry.register(new None());
registry.register(new MagicMissile());
registry.register(new Ignite());
registry.register(new Freeze());
registry.register(new Snowball());
registry.register(new Arc());
registry.register(new Thunderbolt());
registry.register(new SummonZombie());
registry.register(new Snare());
registry.register(new Dart());
registry.register(new Light());
registry.register(new Telekinesis());
registry.register(new Heal());
registry.register(new Fireball());
registry.register(new FlameRay());
registry.register(new Firebomb());
registry.register(new FireSigil());
registry.register(new Firebolt());
registry.register(new FrostRay());
registry.register(new SummonSnowGolem());
registry.register(new IceShard());
registry.register(new IceStatue());
registry.register(new FrostSigil());
registry.register(new LightningRay());
registry.register(new SparkBomb());
registry.register(new HomingSpark());
registry.register(new LightningSigil());
registry.register(new LightningArrow());
registry.register(new LifeDrain());
registry.register(new SummonSkeleton());
registry.register(new Metamorphosis());
registry.register(new Wither());
registry.register(new Poison());
registry.register(new GrowthAura());
registry.register(new Bubble());
registry.register(new Whirlwind());
registry.register(new PoisonBomb());
registry.register(new SummonSpiritWolf());
registry.register(new Blink());
registry.register(new Agility());
registry.register(new ConjureSword());
registry.register(new ConjurePickaxe());
registry.register(new ConjureBow());
registry.register(new ForceArrow());
registry.register(new Shield());
registry.register(new ReplenishHunger());
registry.register(new CureEffects());
registry.register(new HealAlly());
registry.register(new SummonBlaze());
registry.register(new RingOfFire());
registry.register(new Detonate());
registry.register(new FireResistance());
registry.register(new Fireskin());
registry.register(new FlamingAxe());
registry.register(new Blizzard());
registry.register(new SummonIceWraith());
registry.register(new IceShroud());
registry.register(new IceCharge());
registry.register(new FrostAxe());
registry.register(new InvokeWeather());
registry.register(new ChainLightning());
registry.register(new LightningBolt());
registry.register(new SummonLightningWraith());
registry.register(new StaticAura());
registry.register(new LightningDisc());
registry.register(new MindControl());
registry.register(new SummonWitherSkeleton());
registry.register(new Entrapment());
registry.register(new WitherSkull());
registry.register(new DarknessOrb());
registry.register(new ShadowWard());
registry.register(new Decay());
registry.register(new WaterBreathing());
registry.register(new Tornado());
registry.register(new Glide());
registry.register(new SummonSpiritHorse());
registry.register(new SpiderSwarm());
registry.register(new Slime());
registry.register(new Petrify());
registry.register(new Invisibility());
registry.register(new Levitation());
registry.register(new ForceOrb());
registry.register(new Transportation());
registry.register(new SpectralPathway());
registry.register(new PhaseStep());
registry.register(new VanishingBox());
registry.register(new GreaterHeal());
registry.register(new HealingAura());
registry.register(new Forcefield());
registry.register(new Ironflesh());
registry.register(new Transience());
registry.register(new Meteor());
registry.register(new Firestorm());
registry.register(new SummonPhoenix());
registry.register(new IceAge());
registry.register(new WallOfFrost());
registry.register(new SummonIceGiant());
registry.register(new Thunderstorm());
registry.register(new LightningHammer());
registry.register(new PlagueOfDarkness());
registry.register(new SummonSkeletonLegion());
registry.register(new SummonShadowWraith());
registry.register(new ForestsCurse());
registry.register(new Flight());
registry.register(new SilverfishSwarm());
registry.register(new BlackHole());
registry.register(new Shockwave());
registry.register(new SummonIronGolem());
registry.register(new ArrowRain());
registry.register(new Diamondflesh());
registry.register(new FontOfVitality());
// Wizardry 1.1 spells
registry.register(new SmokeBomb());
registry.register(new MindTrick());
registry.register(new Leap());
registry.register(new PocketFurnace());
registry.register(new Intimidate());
registry.register(new Banish());
registry.register(new SixthSense());
registry.register(new Darkvision());
registry.register(new Clairvoyance());
registry.register(new PocketWorkbench());
registry.register(new ImbueWeapon());
registry.register(new InvigoratingPresence());
registry.register(new Oakflesh());
registry.register(new GreaterFireball());
registry.register(new FlamingWeapon());
registry.register(new IceLance());
registry.register(new FreezingWeapon());
registry.register(new IceSpikes());
registry.register(new LightningPulse());
registry.register(new CurseOfSoulbinding());
registry.register(new Cobwebs());
registry.register(new Decoy());
registry.register(new ArcaneJammer());
registry.register(new ConjureArmour());
registry.register(new GroupHeal());
registry.register(new Hailstorm());
registry.register(new LightningWeb());
registry.register(new SummonStormElemental());
registry.register(new Earthquake());
registry.register(new FontOfMana());
}
}