2011-04-06 04:43:54 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
2011-04-06 21:20:35 +00:00
|
|
|
|
namespace Substrate
|
2011-04-06 04:43:54 +00:00
|
|
|
|
{
|
|
|
|
|
public interface IBlock
|
2011-04-08 02:16:06 +00:00
|
|
|
|
{
|
|
|
|
|
BlockInfo Info { get; }
|
|
|
|
|
int ID { get; set; }
|
|
|
|
|
int Data { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public interface ILitBlock : IBlock
|
|
|
|
|
{
|
|
|
|
|
int BlockLight { get; set; }
|
|
|
|
|
int SkyLight { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public interface IPropertyBlock : IBlock
|
|
|
|
|
{
|
|
|
|
|
TileEntity GetTileEntity ();
|
|
|
|
|
bool SetTileEntity (TileEntity te);
|
|
|
|
|
bool ClearTileEntity ();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public interface IBlockContainer
|
|
|
|
|
{
|
|
|
|
|
IBlock GetBlock (int x, int y, int z);
|
|
|
|
|
IBlock GetBlockRef (int x, int y, int z);
|
|
|
|
|
|
|
|
|
|
void SetBlock (int x, int y, int z, IBlock block);
|
|
|
|
|
|
|
|
|
|
BlockInfo GetBlockInfo (int x, int y, int z);
|
|
|
|
|
|
|
|
|
|
int GetBlockID (int x, int y, int z);
|
|
|
|
|
int GetBlockData (int x, int y, int z);
|
|
|
|
|
|
|
|
|
|
bool SetBlockID (int x, int y, int z, int id);
|
|
|
|
|
bool SetBlockData (int x, int y, int z, int data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public interface IBoundedBlockContainer : IBlockContainer
|
|
|
|
|
{
|
|
|
|
|
int XDim { get; }
|
|
|
|
|
int YDim { get; }
|
|
|
|
|
int ZDim { get; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public interface IResizableBlockContainer : IBoundedBlockContainer
|
|
|
|
|
{
|
|
|
|
|
new int XDim { get; set; }
|
|
|
|
|
new int YDim { get; set; }
|
|
|
|
|
new int ZDim { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public interface ILitBlockContainer : IBlockContainer
|
|
|
|
|
{
|
|
|
|
|
new ILitBlock GetBlock (int x, int y, int z);
|
|
|
|
|
new ILitBlock GetBlockRef (int x, int y, int z);
|
|
|
|
|
|
|
|
|
|
void SetBlock (int x, int y, int z, ILitBlock block);
|
|
|
|
|
|
|
|
|
|
int GetBlockLight (int x, int y, int z);
|
|
|
|
|
int GetBlockSkyLight (int x, int y, int z);
|
|
|
|
|
|
|
|
|
|
bool SetBlockLight (int x, int y, int z, int light);
|
|
|
|
|
bool SetBlockSkyLight (int x, int y, int z, int light);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public interface IPropertyBlockContainer : IBlockContainer
|
|
|
|
|
{
|
|
|
|
|
new IPropertyBlock GetBlock (int x, int y, int z);
|
|
|
|
|
new IPropertyBlock GetBlockRef (int x, int y, int z);
|
|
|
|
|
|
|
|
|
|
void SetBlock (int x, int y, int z, IPropertyBlock block);
|
|
|
|
|
|
|
|
|
|
TileEntity GetTileEntity (int x, int y, int z);
|
|
|
|
|
bool SetTileEntity (int x, int y, int z, TileEntity te);
|
|
|
|
|
bool ClearTileEntity (int x, int y, int z);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public interface IAlphaBlockContainer : ILitBlockContainer, IPropertyBlockContainer
|
|
|
|
|
{
|
2011-04-10 21:04:33 +00:00
|
|
|
|
new Block GetBlock (int x, int y, int z);
|
|
|
|
|
new BlockRef GetBlockRef (int x, int y, int z);
|
2011-04-08 02:16:06 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public interface IBlockManager : IAlphaBlockContainer
|
2011-04-10 21:04:33 +00:00
|
|
|
|
{
|
2011-04-08 02:16:06 +00:00
|
|
|
|
}
|
2011-04-06 04:43:54 +00:00
|
|
|
|
}
|