Citadel
Description
Citadel is a block protection mod that provides a level of protection relative to the material used to create the protection. There are two linked concepts that Citadel uses to provide protection - reinforcement and security level.
Citadel Natural Reinforcements
Have a hardcore sever where you want everything to be tough? Well Citadel is able to naturally reinforce certain blocks. This allows you you to make mining any certain kind of block you want take a certain amount of breaks to break the block. Example: you have stone and a player comes across it. Citadel says that it takes 4 breaks to really break stone. The player must break the same stone block 4 times before it disappears and drops a cobble stone.
Reinforcement
A reinforcement provides protection to a block from being broken. Each type of reinforcement material provides a different number of protections, with a protection being used up during each block break event. The strengths of stone, iron, and diamond reinforcement are 25, 250, and 1800 respectively. For example, if you protect a glass block with an iron ingot, you will have to break the glass block 250 times before it is actually broken.
Security Level
A reinforced block which is considered securable (configurable but includes anything openable like a door or fence gate, and any containers like furnaces and chests) can also have its allowed access limited to the individual which placed the block or a group to which they belong.
Groups
Players can create groups and add members to them. Groups have the following hierarchy:
Owner: Can delete, transfer, add and remove mods, allow and disallow members, modify reinforcements, and set password.
Moderator: Can allow and disallow members, modify/bypass, and add new blocks to group. Cannot delete or transfer group, and cannot add or remove mods.
Member: Can only access and open things like doors, chests, etc. Cannot modify or bypass reinforcements, and cannot edit group.
Modes
Reinforcement: In this mode, a player can reinforce already existing blocks. To start, type /ctreinforcement followed by an optional security level. If no security level is specified, blocks are secured at the private level. Once in this mode, hold a valid reinforcement material in your hand and click on the block to reinforce it.
Single block mode: To provide feature compatibility with LWC, you can enter single block reinforcement mode by typing /ctprivate, /ctgroup, or /ctpublic. These are aliases for /ctreinforcement followed by the corresponding security level, with the exception that once a block is reinforced, reinforcement mode is disabled. Fortification
In this mode, a player can place blocks that are reinforced. This is useful for building reinforced structures, or placing a lot of reinforced securable blocks. To enter this mode, hold a valid reinforcement material in your hand and type /ctfortify followed by an optional security level. If no security level is specified, blocks are secured at the private level.
Information: In this mode, a player can easily see the status of all reinforce blocks by interacting with them. To enter this mode, type /ctinfo.
Bypass: Can be active alongside any other mode. In this mode, the player will bypass all reinforcements that they are able to access, so that blocks can be broken normally. The chance that they will receive the reinforcement resource back is (durability / material strength). To toggle this mode, type /ctbypass.
Normal: To reset placement mode to normal, type /ctoff. This will reset your placement mode, security level, and turn bypass mode off.
Commands
Name Usage Shortcut
Create Group /ctcreate <group-name> /ctc
Delete Group /ctdelete <group-name> /ctdel
Group Info /ctgroupinfo <group-name> /ctgi
Transfer Group /cttransfer <group-name> <target-player-name> /ctt
Group Password ("null" disables password/join) /ctpassword <group-name> <password> /ctpw
Add Moderator /ctaddmod <group-name> <player-name> /ctam
Remove Moderator /ctremovemod <group-name> <player-name> /ctrm
Allow Member /ctallow <group-name> <player-name> /cta
Disallow Member /ctdisallow <group-name> <player-name> /ctd
Join Group /ctjoin <group-name> <group-password> /ctj
Leave Group /ctleave <group-name> /ctl
List Your Groups /ctgroups /ctgs
List Moderators of Your Group /ctmoderators <group-name> /ctmods
List Members of Your Group /ctmembers <group-name> /ctm
Bypass Mode /ctbypass /ctb
Fortify Mode /ctfortify [security-level] /ctf
- /ctfortify group <group-name> -
Group Mode /ctgroup <group-name> /ctg
Reinforce Mode /ctreinforce [security-level] /ctr
- /ctreinforce group <group-name> -
Private Mode /ctprivate /ctpr
Public Mode /ctpublic /ctpu
Info Mode /ctinfo /cti
Toggle Modes Off /ctoff /cto
Possible Reinforcement Materials /ctmaterials /ctmat
Non Reinforceable /ctnonreinforceable /ctn
Reinforcements that are securable /ctsecurable /cts
Plugin Version /ctversion /ctv
Stats /ctstats
Help /help Citadel
<> = mandatory [] = optional
Hierarchy:
Owner: Can: delete group, transfer group, add & remove mods, allow & disallow members, access reinforcements, modify reinforcements, set password.
Moderator: Can: allow & disallow members, access reinforcements, modify reinforcements.
Member: Can: access reinforcements (such as doors, chests)
Requirements
A Mysql database is required to use this plugin. If needed, the SQL create table statements are here.
Source Code
Want to Contribute to the project, here is the Git Hub page and the Jenkins Page.
Recommended Plugins
Prison Pearl: Prison Pearl is a plugin that allows players to imprison other players and control them through the use of ender pearls that become Prison Pearls. Combined with Citadel it allows imprisoned players to tell other players the location of their pearl and the possibility of being freed.
CivChat: CivChat is a mod that used citadel groups to have group chats.
JukeAlert: A plugin that creates snitches and helps player's identify grief done by another player.
Expensive Beacons: A plugin that makes beacons expensive to use but limits the effects to citadel groups and a longer range.
Name Layer: A plugin that controls uuids and player names.
Better Associations: is a plugin that associates players. Has built in support for PrisonPearl and provides useful other services for managing player accounts.
Civcraft
Citadel was designed and customized for Civcraft (ip= untamedears.com) as a way to allow players be able to protect their own buildings but also gave the advantage of allowing griefers or other players to still be able to break or steal blocks or chests.
The subreddit for this server is http://www.reddit.com/r/Civcraft/
The Civcraft Description.
Any chance of this getting updated to 1.5.1?
@Erocss
Thanks for the table statements, I understand that I need mysql installed and already use it for other backend services and plugins. My issue was that no config.yml was created ever for me to point to my database. I will download one off github and use that.
Thanks for your help!
@semisubzero
As per the requirements section, Citadel needs a MySql database to store it's data. Install MySql and then use the create table statements I added as a link off of the requirements section to prepare the database. Update the database section in Citadel's config.yml to point the url at your server (probably jdbc:mysql://localhost:3306/<INSERT YOUR DATABASE NAME HERE>) and update the username and password to match the DB user you created.
@Erocss
Yes it is a database initialization error. There are no files generated because of this error for me to enter the database information into and I don't see any documentation here about installation. Is the intended way to connect to the database by downloading a config.yml from github and using that?
Thanks for helping probably a simple error.
@semisubzero
Please provide a little more detail for the error you are getting. I suspect it will be "An exception has occured while initializing the database".
I get [Server] SEVERE Error occurred while enabling Citadel v2.2.0 (Is it up to date?) on version git-Bukkit-1.4.7-R1.0-b2624jnks craftbukkit.
@StirlitzTheRussianSpy
works fine here on 1.4.7 bukkit build
Reinforcing blocks works fine, but /ctb doesn't. When I execute the command it says it entered bypass mode, but my reinforced blocks still take the full amount of destructions to disappear. Should I make a bug report on github?
@paveeeel
I had the same problem, to fix it I went to github and downloaded the master file and put the plugin.yml into the citadel.jar the problem with the plugin is that in normal downloads the creator has removed plugin.yml either on purpose of accidentally. regardless to get rid of that message error. Unfortunately for me I get rid of one problem and get another. My problem is that after setting up the plugin and the database (MySQL) I get error messages about events such as playerinteractevent not being passed through to the citadel plugin. The plugin works for reinforcing, I can make groups, and check reinforcement. The problem comes with doors and boxes (that's all I tested). Since I can't pass events to the plugin I cant reinforce any boxes or doors . If anyone can help it would be greatly appreciated.
@rourke750
V3.1 - same error
@paveeeel
It is only this version or do you get this in previous versions as well.
Citadel V3.2 , latest beta 1.4.5 bukkit build
2012-12-15 19:12:38 [SEVERE] Could not load 'plugins/Citadel.jar' in folder 'pl$
org.bukkit.plugin.InvalidDescriptionException Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlu$
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManage$
at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:257)
at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:235)
at net.minecraft.server.ServerConfigurationManagerAbstract.<init>(Serve$
at net.minecraft.server.ServerConfigurationManager.<init>(SourceFile:11)
at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:111)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:398)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:856)
Caused by: java.io.FileNotFoundException Jar does not contain plugin.yml
... 9 more
@AnthraxHD
what is your error exactly?
@rourke750
Yeah i have it but how am i supposed to set it up without having a config file made?
@AnthraxHD
Do you have mysql?
I cant get mine to install for some reason i put the jar into my plugins folder and then restart it however no install happens. What can i do to get it to install properly? Is it because i on 1.4.4 craftbukkit and the plugin is only 1.4.2? Any help would be great
@rmh4209
just this version or all versions? edit: nvm. uploading a new version should work.
The most recent version of the plugin won't run due to a missing plugin.yml.