Meteor Mash!
This commit is contained in:
parent
c5f6495859
commit
e3b3d69d1d
|
@ -9,6 +9,7 @@ import net.minecraft.block.SoundType;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
|
@ -17,8 +18,8 @@ import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.Explosion;
|
import net.minecraft.world.Explosion;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
import net.minecraftforge.fml.common.Optional;
|
import net.minecraftforge.fml.common.Optional;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
|
@ -104,9 +105,8 @@ public class BlockRitualController extends BlockStringContainer implements IVari
|
||||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion explosion)
|
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion explosion)
|
||||||
{
|
{
|
||||||
TileEntity tile = world.getTileEntity(pos);
|
TileEntity tile = world.getTileEntity(pos);
|
||||||
IBlockState state = world.getBlockState(pos);
|
|
||||||
|
|
||||||
if (getMetaFromState(state) == 0 && tile instanceof TileMasterRitualStone)
|
if (tile instanceof TileMasterRitualStone)
|
||||||
((TileMasterRitualStone) tile).stopRitual(Ritual.BreakType.EXPLOSION);
|
((TileMasterRitualStone) tile).stopRitual(Ritual.BreakType.EXPLOSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,9 +33,11 @@ import WayofTime.bloodmagic.client.render.RenderAltar;
|
||||||
import WayofTime.bloodmagic.client.render.RenderDemonCrucible;
|
import WayofTime.bloodmagic.client.render.RenderDemonCrucible;
|
||||||
import WayofTime.bloodmagic.client.render.RenderItemRoutingNode;
|
import WayofTime.bloodmagic.client.render.RenderItemRoutingNode;
|
||||||
import WayofTime.bloodmagic.client.render.entity.BloodLightRenderFactory;
|
import WayofTime.bloodmagic.client.render.entity.BloodLightRenderFactory;
|
||||||
|
import WayofTime.bloodmagic.client.render.entity.MeteorRenderFactory;
|
||||||
import WayofTime.bloodmagic.client.render.entity.SentientArrowRenderFactory;
|
import WayofTime.bloodmagic.client.render.entity.SentientArrowRenderFactory;
|
||||||
import WayofTime.bloodmagic.client.render.entity.SoulSnareRenderFactory;
|
import WayofTime.bloodmagic.client.render.entity.SoulSnareRenderFactory;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntityBloodLight;
|
import WayofTime.bloodmagic.entity.projectile.EntityBloodLight;
|
||||||
|
import WayofTime.bloodmagic.entity.projectile.EntityMeteor;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
|
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
|
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
|
||||||
import WayofTime.bloodmagic.registry.ModBlocks;
|
import WayofTime.bloodmagic.registry.ModBlocks;
|
||||||
|
@ -91,6 +93,7 @@ public class ClientProxy extends CommonProxy
|
||||||
RenderingRegistry.registerEntityRenderingHandler(EntitySoulSnare.class, new SoulSnareRenderFactory());
|
RenderingRegistry.registerEntityRenderingHandler(EntitySoulSnare.class, new SoulSnareRenderFactory());
|
||||||
RenderingRegistry.registerEntityRenderingHandler(EntitySentientArrow.class, new SentientArrowRenderFactory());
|
RenderingRegistry.registerEntityRenderingHandler(EntitySentientArrow.class, new SentientArrowRenderFactory());
|
||||||
RenderingRegistry.registerEntityRenderingHandler(EntityBloodLight.class, new BloodLightRenderFactory());
|
RenderingRegistry.registerEntityRenderingHandler(EntityBloodLight.class, new BloodLightRenderFactory());
|
||||||
|
RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new MeteorRenderFactory());
|
||||||
|
|
||||||
ShaderHelper.init();
|
ShaderHelper.init();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package WayofTime.bloodmagic.registry;
|
package WayofTime.bloodmagic.registry;
|
||||||
|
|
||||||
|
import net.minecraftforge.fml.common.registry.EntityRegistry;
|
||||||
import WayofTime.bloodmagic.BloodMagic;
|
import WayofTime.bloodmagic.BloodMagic;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntityBloodLight;
|
import WayofTime.bloodmagic.entity.projectile.EntityBloodLight;
|
||||||
|
import WayofTime.bloodmagic.entity.projectile.EntityMeteor;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
|
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
|
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
|
||||||
import net.minecraftforge.fml.common.registry.EntityRegistry;
|
|
||||||
|
|
||||||
public class ModEntities
|
public class ModEntities
|
||||||
{
|
{
|
||||||
|
@ -15,5 +16,6 @@ public class ModEntities
|
||||||
EntityRegistry.registerModEntity(EntityBloodLight.class, "BloodLight", id++, BloodMagic.instance, 64, 20, true);
|
EntityRegistry.registerModEntity(EntityBloodLight.class, "BloodLight", id++, BloodMagic.instance, 64, 20, true);
|
||||||
EntityRegistry.registerModEntity(EntitySoulSnare.class, "SoulSnare", id++, BloodMagic.instance, 64, 1, true);
|
EntityRegistry.registerModEntity(EntitySoulSnare.class, "SoulSnare", id++, BloodMagic.instance, 64, 1, true);
|
||||||
EntityRegistry.registerModEntity(EntitySentientArrow.class, "SoulArrow", id++, BloodMagic.instance, 64, 1, true);
|
EntityRegistry.registerModEntity(EntitySentientArrow.class, "SoulArrow", id++, BloodMagic.instance, 64, 1, true);
|
||||||
|
EntityRegistry.registerModEntity(EntityMeteor.class, "Meteor", id++, BloodMagic.instance, 64, 1, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
package WayofTime.bloodmagic.registry;
|
package WayofTime.bloodmagic.registry;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import WayofTime.bloodmagic.ConfigHandler;
|
import WayofTime.bloodmagic.ConfigHandler;
|
||||||
import WayofTime.bloodmagic.api.BlockStack;
|
import WayofTime.bloodmagic.api.BlockStack;
|
||||||
import WayofTime.bloodmagic.api.registry.HarvestRegistry;
|
import WayofTime.bloodmagic.api.registry.HarvestRegistry;
|
||||||
|
@ -8,7 +13,37 @@ import WayofTime.bloodmagic.api.registry.RitualRegistry;
|
||||||
import WayofTime.bloodmagic.api.ritual.Ritual;
|
import WayofTime.bloodmagic.api.ritual.Ritual;
|
||||||
import WayofTime.bloodmagic.api.ritual.imperfect.ImperfectRitual;
|
import WayofTime.bloodmagic.api.ritual.imperfect.ImperfectRitual;
|
||||||
import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid;
|
import WayofTime.bloodmagic.item.alchemy.ItemCuttingFluid;
|
||||||
import WayofTime.bloodmagic.ritual.*;
|
import WayofTime.bloodmagic.meteor.MeteorComponent;
|
||||||
|
import WayofTime.bloodmagic.meteor.MeteorRegistry;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualAltarBuilder;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualAnimalGrowth;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualArmourEvolve;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualCobblestone;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualContainment;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualCrushing;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualCrystalHarvest;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualExpulsion;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualFeatheredKnife;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualFelling;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualForsakenSoul;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualFullStomach;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualGreenGrove;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualHarvest;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualInterdiction;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualJumping;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualLava;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualMagnetic;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualMeteor;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualPlacer;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualPortal;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualPump;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualRegeneration;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualSpeed;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualSuppression;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualUpgradeRemove;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualWater;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualWellOfSuffering;
|
||||||
|
import WayofTime.bloodmagic.ritual.RitualZephyr;
|
||||||
import WayofTime.bloodmagic.ritual.harvest.HarvestHandlerPlantable;
|
import WayofTime.bloodmagic.ritual.harvest.HarvestHandlerPlantable;
|
||||||
import WayofTime.bloodmagic.ritual.harvest.HarvestHandlerStem;
|
import WayofTime.bloodmagic.ritual.harvest.HarvestHandlerStem;
|
||||||
import WayofTime.bloodmagic.ritual.harvest.HarvestHandlerTall;
|
import WayofTime.bloodmagic.ritual.harvest.HarvestHandlerTall;
|
||||||
|
@ -16,7 +51,6 @@ import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualNight;
|
||||||
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualRain;
|
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualRain;
|
||||||
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualResistance;
|
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualResistance;
|
||||||
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualZombie;
|
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualZombie;
|
||||||
import net.minecraft.init.Blocks;
|
|
||||||
|
|
||||||
public class ModRituals
|
public class ModRituals
|
||||||
{
|
{
|
||||||
|
@ -50,6 +84,8 @@ public class ModRituals
|
||||||
public static Ritual altarBuilderRitual;
|
public static Ritual altarBuilderRitual;
|
||||||
public static Ritual portalRitual;
|
public static Ritual portalRitual;
|
||||||
|
|
||||||
|
public static Ritual meteorRitual;
|
||||||
|
|
||||||
public static ImperfectRitual imperfectNight;
|
public static ImperfectRitual imperfectNight;
|
||||||
public static ImperfectRitual imperfectRain;
|
public static ImperfectRitual imperfectRain;
|
||||||
public static ImperfectRitual imperfectResistance;
|
public static ImperfectRitual imperfectResistance;
|
||||||
|
@ -115,9 +151,23 @@ public class ModRituals
|
||||||
RitualRegistry.registerRitual(altarBuilderRitual, ConfigHandler.altarBuilderRitual);
|
RitualRegistry.registerRitual(altarBuilderRitual, ConfigHandler.altarBuilderRitual);
|
||||||
portalRitual = new RitualPortal();
|
portalRitual = new RitualPortal();
|
||||||
RitualRegistry.registerRitual(portalRitual, ConfigHandler.portalRitual);
|
RitualRegistry.registerRitual(portalRitual, ConfigHandler.portalRitual);
|
||||||
|
meteorRitual = new RitualMeteor();
|
||||||
|
RitualRegistry.registerRitual(meteorRitual, true);
|
||||||
|
|
||||||
RitualCrushing.registerCuttingFluid(ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC), 250, 0.5);
|
RitualCrushing.registerCuttingFluid(ItemCuttingFluid.getStack(ItemCuttingFluid.BASIC), 250, 0.5);
|
||||||
RitualCrushing.registerCuttingFluid(ItemCuttingFluid.getStack(ItemCuttingFluid.EXPLOSIVE), 25, 0.05);
|
RitualCrushing.registerCuttingFluid(ItemCuttingFluid.getStack(ItemCuttingFluid.EXPLOSIVE), 25, 0.05);
|
||||||
|
|
||||||
|
List<MeteorComponent> ironMeteorList = new ArrayList<MeteorComponent>();
|
||||||
|
ironMeteorList.add(new MeteorComponent(400, "oreIron"));
|
||||||
|
ironMeteorList.add(new MeteorComponent(200, "oreCopper"));
|
||||||
|
ironMeteorList.add(new MeteorComponent(140, "oreTin"));
|
||||||
|
ironMeteorList.add(new MeteorComponent(70, "oreSilver"));
|
||||||
|
ironMeteorList.add(new MeteorComponent(80, "oreLead"));
|
||||||
|
ironMeteorList.add(new MeteorComponent(30, "oreGold"));
|
||||||
|
ironMeteorList.add(new MeteorComponent(60, "oreLapis"));
|
||||||
|
ironMeteorList.add(new MeteorComponent(100, "oreRedstone"));
|
||||||
|
|
||||||
|
MeteorRegistry.registerMeteor(new ItemStack(Blocks.IRON_BLOCK), ironMeteorList, 15, 5, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void initImperfectRituals()
|
public static void initImperfectRituals()
|
||||||
|
|
|
@ -455,6 +455,7 @@ ritual.BloodMagic.armourEvolveRitual=Ritual of Living Evolution
|
||||||
ritual.BloodMagic.animalGrowthRitual=Ritual of the Shepherd
|
ritual.BloodMagic.animalGrowthRitual=Ritual of the Shepherd
|
||||||
ritual.BloodMagic.forsakenSoulRitual=Gathering of the Forsaken Souls
|
ritual.BloodMagic.forsakenSoulRitual=Gathering of the Forsaken Souls
|
||||||
ritual.BloodMagic.crystalHarvestRitual=Crack of the Fractured Crystal
|
ritual.BloodMagic.crystalHarvestRitual=Crack of the Fractured Crystal
|
||||||
|
ritual.BloodMagic.meteorRitual=Mark of the Falling Tower
|
||||||
|
|
||||||
ritual.BloodMagic.cobblestoneRitual=Le Vulcanos Frigius
|
ritual.BloodMagic.cobblestoneRitual=Le Vulcanos Frigius
|
||||||
ritual.BloodMagic.placerRitual=Laying of the Filler
|
ritual.BloodMagic.placerRitual=Laying of the Filler
|
||||||
|
@ -495,6 +496,7 @@ ritual.BloodMagic.fellingRitual.info=A standard tree-cutting machine, this ritua
|
||||||
ritual.BloodMagic.pumpRitual.info=Looks around the world and grabs fluids from the defined area. Will only remove and put the fluid into the connected tank if the tank has at least a bucket's worth of the same fluid.
|
ritual.BloodMagic.pumpRitual.info=Looks around the world and grabs fluids from the defined area. Will only remove and put the fluid into the connected tank if the tank has at least a bucket's worth of the same fluid.
|
||||||
ritual.BloodMagic.altarBuilderRitual.info=Builds an altar out of the components inside of the connected inventory.
|
ritual.BloodMagic.altarBuilderRitual.info=Builds an altar out of the components inside of the connected inventory.
|
||||||
ritual.BloodMagic.portalRitual.info=Creates a portal network based on the activator and the immediately surrounding blocks. Blocks can be changed after activation without changing the network of portals, and portals with the same "key" will link together.
|
ritual.BloodMagic.portalRitual.info=Creates a portal network based on the activator and the immediately surrounding blocks. Blocks can be changed after activation without changing the network of portals, and portals with the same "key" will link together.
|
||||||
|
ritual.BloodMagic.meteorRitual.info=Consumes an item inside of its item range to summon a meteor full of resources from the sky, aimed directly at the ritual.
|
||||||
|
|
||||||
ritual.BloodMagic.waterRitual.waterRange.info=(Water) The area that the ritual will place water source blocks.
|
ritual.BloodMagic.waterRitual.waterRange.info=(Water) The area that the ritual will place water source blocks.
|
||||||
ritual.BloodMagic.lavaRitual.lavaRange.info=(Lava) The area that the ritual will place lava source blocks.
|
ritual.BloodMagic.lavaRitual.lavaRange.info=(Lava) The area that the ritual will place lava source blocks.
|
||||||
|
|
Loading…
Reference in a new issue