
Librarian Mod
=============

The replacement for administrative sign spam!

Why "librarian"? It was meant to be used with bookshelves, but you aren't
required to do it that way.  It's also quite handy for making RP libraries
to share lore with players.

Installation
------------

Drop the files in "plugins" in to your bukkit install, so the jar and config
directory are in your bukkit install's "plugins" directory.  To make bookfiles
available, just put txt files in the Librarian config directory.  Some
example files are provided.

Usage
-----

Create a sign, the first line must be [Librarian].  The second line is the
name of the book, for example "Rules".  When someone right clicks the sign
the file "rules.txt" is read from the librarian plugin folder.

But your rules are too long you say? Well, use sections.  The third line in
a sign allows you to have larger walls of text.  If our sign looks like this:

[Librarian]
Rules
Tophats

And a user right-clicks the sign, "rules/tophats.txt" will be read.

If a file isn't available and the user is an op, they will get a full path to
the file that could not be found.  If the user is not an op, they only see
the short version ("rules/tophats.txt").

Librarian doesn't protect signs, as this is the job of a protection plugin.
You will need something like WorldGuard or Towny to keep people from
destroying libraries.  Creation of library signs is unrestricted; if there
is a demand for it, creating them may be restricted to a permission in the
future.

Security
--------

Bookfiles are as safe as I (Skrylar) am aware.  The only characters allowed in a
book name is the lowercase A-Z set, the numbers 0-9, and the dash character.
Any character not in that set are simply removed; for example "1-The Rules!" will
look up the a file named "1-therules.txt" This ENSURES that users can't make
librarian signs to read files they shouldn't, EVEN if a sign had malicious text
written before installation of the mod.  Any security issues I'm informed of with
the current system will be addressed promptly.

Disclaimer
----------

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
