Basic sigils implementation

This commit is contained in:
Arcaratus 2015-12-27 19:38:12 -05:00
parent ae85224003
commit 5dff08380d
61 changed files with 1394 additions and 106 deletions

View file

@ -69,7 +69,7 @@ public class BlockBloodLight extends Block {
float f1 = f * 0.6F + 0.4F;
float f2 = f * f * 0.7F - 0.5F;
float f3 = f * f * 0.6F - 0.7F;
worldIn.spawnParticle(EnumParticleTypes.REDSTONE, pos.getX() + 0.5D + rand.nextGaussian() / 8, pos.getY() + 0.5D, pos.getZ() + 0.5D + rand.nextGaussian() / 8, f1, f2, f3);
worldIn.spawnParticle(EnumParticleTypes.REDSTONE, pos.getX() + 0.5D + rand.nextGaussian() / 8, pos.getY() + 0.5D, pos.getZ() + 0.5D + rand.nextGaussian() / 8, f1, f2, f3, 0);
}
}

View file

@ -0,0 +1,66 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.TilePhantomBlock;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumWorldBlockLayer;
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;
public class BlockPhantom extends BlockContainer {
public BlockPhantom() {
super(Material.cloth);
setUnlocalizedName(Constants.Mod.MODID + ".phantom");
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean isFullCube() {
return false;
}
@Override
@SideOnly(Side.CLIENT)
public EnumWorldBlockLayer getBlockLayer() {
return EnumWorldBlockLayer.CUTOUT;
}
@Override
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockAccess worldIn, BlockPos pos, EnumFacing side) {
IBlockState iblockstate = worldIn.getBlockState(pos);
Block block = iblockstate.getBlock();
if (worldIn.getBlockState(pos.offset(side.getOpposite())) != iblockstate) {
return true;
}
return block != this && super.shouldSideBeRendered(worldIn, pos, side);
}
@Override
public int quantityDropped(Random par1Random) {
return 0;
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
return new TilePhantomBlock();
}
}

View file

@ -0,0 +1,69 @@
package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.tile.TileSpectralBlock;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumWorldBlockLayer;
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;
public class BlockSpectral extends BlockContainer {
public BlockSpectral() {
super(Material.cloth);
setUnlocalizedName(Constants.Mod.MODID + ".spectral");
setBlockBounds(0, 0, 0, 0, 0, 0);
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean isFullCube() {
return false;
}
@Override
@SideOnly(Side.CLIENT)
public EnumWorldBlockLayer getBlockLayer() {
return EnumWorldBlockLayer.CUTOUT;
}
@Override
public void addCollisionBoxesToList(World worldIn, BlockPos pos, IBlockState state, AxisAlignedBB mask, List list, Entity collidingEntity) {
}
@Override
public int quantityDropped(Random par1Random) {
return 0;
}
@Override
public boolean isReplaceable(World world, BlockPos blockPos) {
return true;
}
@Override
public boolean isAir(IBlockAccess world, BlockPos blockPos) {
return true;
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
return new TileSpectralBlock();
}
}