Lots of import rearrangement due to odd "clean up" algorithm. Added Crystals, which are very WIP.

This commit is contained in:
WayofTime 2016-02-25 08:54:18 -05:00
parent 99c2b26c6b
commit da6f410394
220 changed files with 2973 additions and 791 deletions

View file

@ -3,7 +3,6 @@ package WayofTime.bloodmagic.block;
import java.util.List;
import java.util.Random;
import WayofTime.bloodmagic.registry.ModItems;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
@ -11,13 +10,16 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.*;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumWorldBlockLayer;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.registry.AlchemyArrayRecipeRegistry;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.tile.TileAlchemyArray;
import WayofTime.bloodmagic.util.Utils;

View file

@ -1,5 +1,14 @@
package WayofTime.bloodmagic.block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.altar.IAltarManipulator;
@ -10,16 +19,8 @@ import WayofTime.bloodmagic.api.orb.IBloodOrb;
import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
import WayofTime.bloodmagic.tile.TileAltar;
import WayofTime.bloodmagic.util.Utils;
import com.google.common.base.Strings;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
public class BlockAltar extends BlockContainer
{

View file

@ -1,6 +1,8 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.api.Constants;
import java.util.List;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
@ -12,9 +14,7 @@ import net.minecraft.util.EnumWorldBlockLayer;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
import java.util.Random;
import WayofTime.bloodmagic.api.Constants;
public class BlockBloodLight extends Block
{

View file

@ -1,9 +1,9 @@
package WayofTime.bloodmagic.block;
import net.minecraft.block.material.Material;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockString;
import net.minecraft.block.material.Material;
public class BlockBloodRune extends BlockString
{

View file

@ -1,9 +1,9 @@
package WayofTime.bloodmagic.block;
import net.minecraft.block.material.Material;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockString;
import net.minecraft.block.material.Material;
public class BlockBloodStoneBrick extends BlockString
{

View file

@ -1,9 +1,8 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.TileBloodTank;
import WayofTime.bloodmagic.util.Utils;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
@ -19,9 +18,10 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
import java.util.ArrayList;
import java.util.List;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.TileBloodTank;
import WayofTime.bloodmagic.util.Utils;
public class BlockBloodTank extends BlockContainer
{

View file

@ -1,9 +1,9 @@
package WayofTime.bloodmagic.block;
import net.minecraft.block.material.Material;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockString;
import net.minecraft.block.material.Material;
public class BlockCrystal extends BlockString
{

View file

@ -0,0 +1,122 @@
package WayofTime.bloodmagic.block;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
public class BlockDemonCrystal extends Block
{
public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 6);
public BlockDemonCrystal()
{
super(Material.rock);
this.setDefaultState(this.blockState.getBaseState().withProperty(AGE, Integer.valueOf(0)));
setUnlocalizedName(Constants.Mod.MODID + ".demonCrystal");
setRegistryName(Constants.BloodMagicBlock.DEMON_CRYSTAL.getRegName());
setCreativeTab(BloodMagic.tabBloodMagic);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 2);
}
@Override
public boolean isOpaqueCube()
{
return false;
}
@Override
public boolean isFullCube()
{
return false;
}
@Override
public boolean isVisuallyOpaque()
{
return false;
}
@Override
public int getRenderType()
{
return 3;
}
// public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state)
// {
// return (worldIn.getLight(pos) >= 8 || worldIn.canSeeSky(pos)) && worldIn.getBlockState(pos.down()).getBlock().canSustainPlant(worldIn, pos.down(), net.minecraft.util.EnumFacing.UP, this);
// }
/**
* Convert the given metadata into a BlockState for this Block
*/
@Override
public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(AGE, Integer.valueOf(meta));
}
/**
* Convert the BlockState into the correct metadata value
*/
@Override
public int getMetaFromState(IBlockState state)
{
return ((Integer) state.getValue(AGE)).intValue();
}
@Override
protected BlockState createBlockState()
{
return new BlockState(this, new IProperty[] { AGE });
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (world.isRemote)
{
return true;
}
int meta = getMetaFromState(state);
int nextMeta = Math.min(meta + 1, 6);
world.setBlockState(pos, this.getStateFromMeta(nextMeta));
return true;
}
// @Override
// public java.util.List<ItemStack> getDrops(net.minecraft.world.IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
// {
// java.util.List<ItemStack> ret = super.getDrops(world, pos, state, fortune);
// int age = ((Integer) state.getValue(AGE)).intValue();
// Random rand = world instanceof World ? ((World) world).rand : new Random();
//
// if (age >= 7)
// {
// int k = 3 + fortune;
//
// for (int i = 0; i < 3 + fortune; ++i)
// {
// if (rand.nextInt(15) <= age)
// {
// ret.add(new ItemStack(this.getSeed(), 1, 0));
// }
// }
// }
// return ret;
// }
}

View file

@ -0,0 +1,56 @@
package WayofTime.bloodmagic.block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.TileDemonCrystallizer;
public class BlockDemonCrystallizer extends BlockContainer
{
public BlockDemonCrystallizer()
{
super(Material.rock);
setUnlocalizedName(Constants.Mod.MODID + ".demonCrystallizer");
setRegistryName(Constants.BloodMagicBlock.DEMON_CRYSTALLIZER.getRegName());
setCreativeTab(BloodMagic.tabBloodMagic);
setHardness(2.0F);
setResistance(5.0F);
setHarvestLevel("pickaxe", 0);
// setBlockBounds(0.3F, 0F, 0.3F, 0.72F, 1F, 0.72F);
}
@Override
public boolean isOpaqueCube()
{
return false;
}
@Override
public boolean isFullCube()
{
return false;
}
@Override
public boolean isVisuallyOpaque()
{
return false;
}
@Override
public int getRenderType()
{
return 3;
}
@Override
public TileEntity createNewTileEntity(World world, int meta)
{
return new TileDemonCrystallizer();
}
}

View file

@ -15,7 +15,6 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.ritual.IMasterRitualStone;
import WayofTime.bloodmagic.api.teleport.PortalLocation;

View file

@ -1,20 +1,19 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.api.BloodMagicAPI;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.util.helper.TextHelper;
import java.awt.Color;
import lombok.Getter;
import net.minecraft.block.material.Material;
import net.minecraft.util.BlockPos;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
import java.awt.*;
import WayofTime.bloodmagic.api.BloodMagicAPI;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.util.helper.TextHelper;
public class BlockLifeEssence extends BlockFluidClassic
{

View file

@ -1,10 +1,5 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockStringContainer;
import WayofTime.bloodmagic.tile.TilePlinth;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
@ -13,6 +8,11 @@ import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.block.base.BlockStringContainer;
import WayofTime.bloodmagic.tile.TilePlinth;
import WayofTime.bloodmagic.util.Utils;
public class BlockPedestal extends BlockStringContainer
{

View file

@ -1,8 +1,7 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.TilePhantomBlock;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
@ -15,8 +14,9 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.Random;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.TilePhantomBlock;
public class BlockPhantom extends BlockContainer
{

View file

@ -1,15 +1,15 @@
package WayofTime.bloodmagic.block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.BlockPos;
import net.minecraft.world.World;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.ritual.EnumRuneType;
import WayofTime.bloodmagic.api.ritual.IRitualStone;
import WayofTime.bloodmagic.block.base.BlockString;
import WayofTime.bloodmagic.registry.ModBlocks;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.BlockPos;
import net.minecraft.world.World;
public class BlockRitualStone extends BlockString implements IRitualStone
{

View file

@ -1,7 +1,8 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.TileSpectralBlock;
import java.util.List;
import java.util.Random;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
@ -14,9 +15,8 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
import java.util.Random;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.TileSpectralBlock;
public class BlockSpectral extends BlockContainer
{

View file

@ -1,20 +1,18 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.util.helper.BindableHelper;
import WayofTime.bloodmagic.item.ItemTelepositionFocus;
import WayofTime.bloodmagic.tile.TileTeleposer;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.item.ItemTelepositionFocus;
import WayofTime.bloodmagic.tile.TileTeleposer;
public class BlockTeleposer extends BlockContainer
{

View file

@ -1,7 +1,5 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
@ -11,6 +9,8 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.IBlockAccess;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants;
public class BlockTestSpellBlock extends Block
{

View file

@ -1,6 +1,7 @@
package WayofTime.bloodmagic.block.base;
import WayofTime.bloodmagic.block.property.UnlistedPropertyInteger;
import java.util.List;
import lombok.Getter;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@ -21,8 +22,7 @@ import net.minecraftforge.common.property.IExtendedBlockState;
import net.minecraftforge.common.property.IUnlistedProperty;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
import WayofTime.bloodmagic.block.property.UnlistedPropertyInteger;
/**
* Creates a block that has multiple meta-based states.

View file

@ -1,7 +1,8 @@
package WayofTime.bloodmagic.block.base;
import WayofTime.bloodmagic.block.property.PropertyString;
import WayofTime.bloodmagic.block.property.UnlistedPropertyString;
import java.util.Arrays;
import java.util.List;
import lombok.Getter;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
@ -21,9 +22,8 @@ import net.minecraftforge.common.property.IExtendedBlockState;
import net.minecraftforge.common.property.IUnlistedProperty;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.Arrays;
import java.util.List;
import WayofTime.bloodmagic.block.property.PropertyString;
import WayofTime.bloodmagic.block.property.UnlistedPropertyString;
/**
* Creates a block that has multiple meta-based states.

View file

@ -1,13 +1,14 @@
package WayofTime.bloodmagic.block.property;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
import net.minecraft.block.properties.PropertyHelper;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import net.minecraft.block.properties.PropertyHelper;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
public class PropertyString extends PropertyHelper<String>
{
private final ImmutableSet<String> allowedValues;

View file

@ -1,10 +1,10 @@
package WayofTime.bloodmagic.block.property;
import net.minecraftforge.common.property.IUnlistedProperty;
import java.util.Arrays;
import java.util.List;
import net.minecraftforge.common.property.IUnlistedProperty;
public class UnlistedPropertyString implements IUnlistedProperty<String>
{
private List values;