Meteor Mash!

This commit is contained in:
WayofTime 2016-07-13 17:18:34 -04:00
parent c5f6495859
commit e3b3d69d1d
5 changed files with 63 additions and 6 deletions

View file

@ -9,6 +9,7 @@ import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
@ -17,8 +18,8 @@ import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.Explosion;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.Optional;
import org.apache.commons.lang3.tuple.ImmutablePair;
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)
{
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);
}

View file

@ -33,9 +33,11 @@ import WayofTime.bloodmagic.client.render.RenderAltar;
import WayofTime.bloodmagic.client.render.RenderDemonCrucible;
import WayofTime.bloodmagic.client.render.RenderItemRoutingNode;
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.SoulSnareRenderFactory;
import WayofTime.bloodmagic.entity.projectile.EntityBloodLight;
import WayofTime.bloodmagic.entity.projectile.EntityMeteor;
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
import WayofTime.bloodmagic.registry.ModBlocks;
@ -91,6 +93,7 @@ public class ClientProxy extends CommonProxy
RenderingRegistry.registerEntityRenderingHandler(EntitySoulSnare.class, new SoulSnareRenderFactory());
RenderingRegistry.registerEntityRenderingHandler(EntitySentientArrow.class, new SentientArrowRenderFactory());
RenderingRegistry.registerEntityRenderingHandler(EntityBloodLight.class, new BloodLightRenderFactory());
RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new MeteorRenderFactory());
ShaderHelper.init();
}

View file

@ -1,10 +1,11 @@
package WayofTime.bloodmagic.registry;
import net.minecraftforge.fml.common.registry.EntityRegistry;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.entity.projectile.EntityBloodLight;
import WayofTime.bloodmagic.entity.projectile.EntityMeteor;
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
import net.minecraftforge.fml.common.registry.EntityRegistry;
public class ModEntities
{
@ -15,5 +16,6 @@ public class ModEntities
EntityRegistry.registerModEntity(EntityBloodLight.class, "BloodLight", id++, BloodMagic.instance, 64, 20, 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(EntityMeteor.class, "Meteor", id++, BloodMagic.instance, 64, 1, true);
}
}

View file

@ -1,5 +1,10 @@
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.api.BlockStack;
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.imperfect.ImperfectRitual;
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.HarvestHandlerStem;
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.ImperfectRitualResistance;
import WayofTime.bloodmagic.ritual.imperfect.ImperfectRitualZombie;
import net.minecraft.init.Blocks;
public class ModRituals
{
@ -50,6 +84,8 @@ public class ModRituals
public static Ritual altarBuilderRitual;
public static Ritual portalRitual;
public static Ritual meteorRitual;
public static ImperfectRitual imperfectNight;
public static ImperfectRitual imperfectRain;
public static ImperfectRitual imperfectResistance;
@ -115,9 +151,23 @@ public class ModRituals
RitualRegistry.registerRitual(altarBuilderRitual, ConfigHandler.altarBuilderRitual);
portalRitual = new RitualPortal();
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.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()