First pass on Pedestal/Plinth
I just want this out of my uncommitted file list...
This commit is contained in:
parent
a12c72092a
commit
cbd4f8c75f
7 changed files with 257 additions and 13 deletions
82
src/main/java/WayofTime/bloodmagic/block/BlockPedestal.java
Normal file
82
src/main/java/WayofTime/bloodmagic/block/BlockPedestal.java
Normal file
|
@ -0,0 +1,82 @@
|
|||
package WayofTime.bloodmagic.block;
|
||||
|
||||
import WayofTime.bloodmagic.BloodMagic;
|
||||
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;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockPedestal extends BlockStringContainer {
|
||||
|
||||
public static String[] names = { "pedestal", "plinth" };
|
||||
|
||||
public BlockPedestal() {
|
||||
super(Material.rock, names);
|
||||
|
||||
setUnlocalizedName(BloodMagic.MODID + ".");
|
||||
setCreativeTab(BloodMagic.tabBloodMagic);
|
||||
setHardness(2.0F);
|
||||
setResistance(5.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
switch (getMetaFromState(state)) {
|
||||
case 0: {
|
||||
// TileEntity plinth = world.getTileEntity(pos);
|
||||
//
|
||||
// if (plinth!= null && plinth instanceof TilePlinth) {
|
||||
// Utils.insertItemToTile((TilePlinth) plinth, player);
|
||||
// }
|
||||
}
|
||||
|
||||
case 1: {
|
||||
TileEntity plinth = world.getTileEntity(pos);
|
||||
|
||||
if (plinth == null || player.isSneaking())
|
||||
return false;
|
||||
|
||||
if (plinth instanceof TilePlinth) {
|
||||
Utils.insertItemToTile((TilePlinth) plinth, player);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
world.markBlockForUpdate(pos);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess blockAccess, BlockPos pos) {
|
||||
IBlockState state = blockAccess.getBlockState(pos);
|
||||
|
||||
if (getMetaFromState(state) == 0)
|
||||
setBlockBounds(0.5F - 0.3125F, 0.0F, 0.5F - 0.3125F, 0.5F + 0.3125F, 0.6F, 0.5F + 0.3125F);
|
||||
else if (getMetaFromState(state) == 1)
|
||||
setBlockBounds(0.1F, 0.0F, 0.1F, 1.0F - 0.1F, 0.8F, 1.0F - 0.1F);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
return meta == 0 ? null : new TilePlinth();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package WayofTime.bloodmagic.item.block;
|
||||
|
||||
import WayofTime.bloodmagic.block.BlockPedestal;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemBlockPedestal extends ItemBlock {
|
||||
|
||||
public ItemBlockPedestal(Block block) {
|
||||
super(block);
|
||||
|
||||
setHasSubtypes(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
return super.getUnlocalizedName(stack) + BlockPedestal.names[stack.getItemDamage()];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int meta) {
|
||||
return meta;
|
||||
}
|
||||
}
|
|
@ -1,36 +1,33 @@
|
|||
package WayofTime.bloodmagic.registry;
|
||||
|
||||
import WayofTime.bloodmagic.block.*;
|
||||
import WayofTime.bloodmagic.item.block.ItemBlockBloodStoneBrick;
|
||||
import WayofTime.bloodmagic.item.block.*;
|
||||
import WayofTime.bloodmagic.tile.TilePlinth;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import WayofTime.bloodmagic.BloodMagic;
|
||||
import WayofTime.bloodmagic.ConfigHandler;
|
||||
import WayofTime.bloodmagic.item.block.ItemBlockBloodRune;
|
||||
import WayofTime.bloodmagic.item.block.ItemBlockRitualController;
|
||||
import WayofTime.bloodmagic.item.block.ItemBlockRitualStone;
|
||||
import WayofTime.bloodmagic.tile.TileAltar;
|
||||
import WayofTime.bloodmagic.tile.TileImperfectRitualStone;
|
||||
import WayofTime.bloodmagic.tile.TileMasterRitualStone;
|
||||
import WayofTime.bloodmagic.util.helper.InventoryRenderHelper;
|
||||
|
||||
public class ModBlocks
|
||||
{
|
||||
public class ModBlocks {
|
||||
public static Block altar;
|
||||
public static Block bloodRune;
|
||||
public static Block ritualController;
|
||||
public static Block ritualStone;
|
||||
public static Block testSpellBlock;
|
||||
public static Block pedestal;
|
||||
|
||||
public static Block lifeEssence;
|
||||
|
||||
public static Block crystal;
|
||||
public static Block bloodStoneBrick;
|
||||
|
||||
public static void init()
|
||||
{
|
||||
public static void init() {
|
||||
FluidRegistry.registerFluid(BlockLifeEssence.getLifeEssence());
|
||||
lifeEssence = registerBlock(new BlockLifeEssence());
|
||||
|
||||
|
@ -39,21 +36,20 @@ public class ModBlocks
|
|||
ritualController = registerBlock(new BlockRitualController(), ItemBlockRitualController.class);
|
||||
ritualStone = registerBlock(new BlockRitualStone(), ItemBlockRitualStone.class);
|
||||
testSpellBlock = registerBlock(new BlockTestSpellBlock());
|
||||
|
||||
pedestal = registerBlock(new BlockPedestal(), ItemBlockPedestal.class);
|
||||
bloodStoneBrick = registerBlock(new BlockBloodStoneBrick(), ItemBlockBloodStoneBrick.class);
|
||||
|
||||
initTiles();
|
||||
}
|
||||
|
||||
public static void initTiles()
|
||||
{
|
||||
public static void initTiles() {
|
||||
GameRegistry.registerTileEntity(TileAltar.class, BloodMagic.MODID + ":" + TileAltar.class.getSimpleName());
|
||||
GameRegistry.registerTileEntity(TileImperfectRitualStone.class, BloodMagic.MODID + ":" + TileImperfectRitualStone.class.getSimpleName());
|
||||
GameRegistry.registerTileEntity(TileMasterRitualStone.class, BloodMagic.MODID + ":" + TileMasterRitualStone.class.getSimpleName());
|
||||
GameRegistry.registerTileEntity(TilePlinth.class, BloodMagic.MODID + ":" + TilePlinth.class.getSimpleName());
|
||||
}
|
||||
|
||||
public static void initRenders()
|
||||
{
|
||||
public static void initRenders() {
|
||||
InventoryRenderHelper renderHelper = BloodMagic.instance.getRenderHelper();
|
||||
|
||||
renderHelper.fluidRender(lifeEssence);
|
||||
|
@ -78,6 +74,8 @@ public class ModBlocks
|
|||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(ritualStone), 6);
|
||||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodStoneBrick), 0);
|
||||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(bloodStoneBrick), 1);
|
||||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(pedestal), 0);
|
||||
renderHelper.itemRender(InventoryRenderHelper.getItemFromBlock(pedestal), 1);
|
||||
}
|
||||
|
||||
private static Block registerBlock(Block block, Class<? extends ItemBlock> itemBlock, String name) {
|
||||
|
|
8
src/main/java/WayofTime/bloodmagic/tile/TilePlinth.java
Normal file
8
src/main/java/WayofTime/bloodmagic/tile/TilePlinth.java
Normal file
|
@ -0,0 +1,8 @@
|
|||
package WayofTime.bloodmagic.tile;
|
||||
|
||||
public class TilePlinth extends TileInventory {
|
||||
|
||||
public TilePlinth() {
|
||||
super(1, "plinth");
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue