public override bool IsFullBlock(WorldBase world, Vector3i blockPos) => false;
public bool IsOpaqueFullBlock(WorldBase world, Vector3i blockPos) => IsVisible(world, blockPos) && IsFullBlock(world, blockPos) && IsTransparent(world, blockPos) == TransparencyType.None;
public override bool IsVisible(WorldBase world, Vector3i blockPos) => false;
public virtual string GetUnlocalizedName(WorldBase world, Vector3i blockPos) => Name;
public virtual string GetName(WorldBase world, Vector3i blockPos) => I18N.Get(GetUnlocalizedName(world, blockPos));
public virtual bool IsFullBlock(WorldBase world, Vector3i blockPos) => true;
public virtual int OnLightPassThrough(WorldBase world, Vector3i blockPos, int lightLevel, int color) => lightLevel - 1;
public virtual Color4 GetTintColor(WorldBase world, Vector3i blockPos, int tintId) => Color4.White;
public virtual LightLevel GetLightLevel(WorldBase world, Vector3i blockPos) => LightLevel.Zero;
public virtual bool CanTarget(WorldBase world, Vector3i vector3I) => true;
public virtual AxisAlignedBoundingBox GetBoundingBox(WorldBase world, Vector3i blockPos) => DefaultAlignedBoundingBox;
public virtual bool CanPassThrough(WorldBase world, Vector3i blockPos) => false;
public virtual ConnectionType ConnectsToBlock(WorldBase world, Vector3i blockPos, Vector3i otherBlockPos, Block otherBlock) => ConnectionType.Undefined;
public virtual TransparencyType IsTransparent(WorldBase world, Vector3i blockPos) => TransparencyType.None;
public override bool CanPassThrough(WorldBase world, Vector3i blockPos) => true;
public virtual void OnPlaced(WorldBase world, Vector3i blockPos, EntityPlayer player) { }
public override bool CanTarget(WorldBase world, Vector3i blockPos) => false;
public virtual bool IsVisible(WorldBase world, Vector3i blockPos) => true;