Commit Graph

324 Commits

Author SHA1 Message Date
graywolf336
e34c1d0990 Allow usage of -p jail players who's names are subcommands.
/jail -p version -r Having a strange name.
2014-02-10 13:35:43 -06:00
graywolf336
0f2ff60db7 Change the debugging messages to use the new debug method. 2014-02-10 13:29:30 -06:00
graywolf336
25a6d010ac Add some JavaDoc to the transfer method. 2014-02-10 12:37:57 -06:00
graywolf336
2ecb26dc8a After we've transferred them on joining, don't leave that flag there 2014-02-04 13:34:00 -06:00
graywolf336
d0312afc66 First attempt at working on the transferring of prisoners 2014-02-04 13:30:12 -06:00
graywolf336
d0e41ed908 Add the unjailforce command 2014-02-03 18:44:38 -06:00
graywolf336
b1f4b7bb41 Relocate the move protection so that we only register it if enabled.
This way we save on a tiny bit of performance when it is disabled.
2014-02-01 11:52:50 -06:00
graywolf336
683b4457f4 Fix the messages not being correct. 2014-02-01 01:56:12 -06:00
graywolf336
7c4c403843 Fix the jail command, it will always reach here with one argument. 2014-02-01 01:43:54 -06:00
graywolf336
e52a24cb5e Add some debug to the JailHandler 2014-02-01 01:39:39 -06:00
graywolf336
0bb25e6324 Fix the tests failing 2014-02-01 01:28:33 -06:00
graywolf336
a088577bee Move lots of the subcommands to proper place, let's see if this works. 2014-02-01 01:24:44 -06:00
graywolf336
989e503242 Add the ver to the version command. 2014-01-30 14:34:55 -06:00
graywolf336
bfebd6e944 Fix some of the commands not working, let's hope this doesn't mess up. 2014-01-30 14:29:26 -06:00
graywolf336
f4e735eda4 Fix the jail stop and also add some alternatives. 2014-01-30 14:23:50 -06:00
graywolf336
1e632017c7 Add the jailstop, jailtelein, and jailteleout to subcommands. 2014-01-30 14:10:51 -06:00
graywolf336
edb563a9ec Move mute, reload, and version to the subcommand of /jail 2014-01-29 13:46:26 -06:00
graywolf336
2bea10259c Fix the unjailing force not actually unjailing someone. 2014-01-28 22:50:02 -06:00
graywolf336
c3b3e390b0 Make the subcommands of /jail work. :) 2014-01-28 22:34:39 -06:00
graywolf336
cab6d7fdf9 When unjailing someone, if they've never been online and have time
remaining then forcefully remove them.
2014-01-28 22:20:33 -06:00
graywolf336
2acfbf098e Quick fix, but let's parse the jail command if no args. 2014-01-28 16:23:20 -06:00
graywolf336
9f4ebd5993 Fix some formatting, not actually needed but oh well 2014-01-28 14:24:37 -06:00
graywolf336
691d59f0f7 Work on the new command system, this is not ready at all.
This commit is only so I can work on it more at another computer.
2014-01-27 18:02:24 -06:00
graywolf336
cb8de04a91 Temp work on the jailcheck command, not finishing.
It has been decided we are going to be switching the command structure
up, more details to come.
2014-01-23 18:51:22 -06:00
graywolf336
e0dc22dfec Add the JailReload command. 2014-01-23 18:05:35 -06:00
graywolf336
010b592fb5 Add the JailMute, JailTeleIn, and JailTeleOut commands. 2014-01-23 17:52:21 -06:00
graywolf336
4ac89455b0 Add the JailClearCommand back, this time releasing all the prisoners. 2014-01-23 13:07:26 -06:00
graywolf336
13363f6d9a Rename the JailClear to JailClearForce 2014-01-22 17:55:47 -06:00
graywolf336
d6ad4df991 Log the unjailing to console if we have that enabled. 2014-01-22 17:48:32 -06:00
graywolf336
cb22fe9786 Let's try out the move protection, maybe this will work the first time 2014-01-22 14:43:14 -06:00
graywolf336
fe1db3bb04 Prevent interaction with items and blocks!
Works just like the old version, they can interact with anything except
what is in the blacklist.
2014-01-21 22:23:26 -06:00
graywolf336
1e3a8cc992 Change the priority of the crop trampling to be called first so it
cancels the event before any other interact event gets it.
2014-01-21 21:44:58 -06:00
graywolf336
863793543f Allow protecting and penalizing trampling of crops. 2014-01-21 21:37:52 -06:00
graywolf336
4e06336c99 Simple way of stopping players from getting respawned outside the jail.
Something more complicated might be needed, but I will add that as the
time arises.
2014-01-21 21:12:50 -06:00
graywolf336
1cfd64164c Change the priorities of the event listeners, this way the protections
and the penalties get applied before the other listener cancels it.
2014-01-21 20:52:19 -06:00
graywolf336
06aa6629b7 Finally get all the messages on the jail command to come from the
language system. :)
2014-01-21 19:56:14 -06:00
graywolf336
9a9a75dc1e Fix my comment, would have threw someone off in the future I imagine 2014-01-21 18:11:46 -06:00
graywolf336
34ac65565c More command workings and using the custom languages. 2014-01-21 18:09:47 -06:00
graywolf336
3ab751baa8 Nullify the prisoners and cells before saving them. 2014-01-21 16:14:26 -06:00
graywolf336
c956018d1e Add work on jailclear and also the jail command to use language string. 2014-01-21 15:12:09 -06:00
graywolf336
38438e2eb8 Change it so that offline pending is used always, then inside that we
check the remaining time
2014-01-21 14:37:48 -06:00
graywolf336
d691f1104b If the time of the prisoner on joining is 0, then unjail them. Also,
ignore the sleeping state if enabled in the config.
2014-01-21 14:09:18 -06:00
graywolf336
abb3e70bdf Enable protecting endermen protections in jails 2014-01-21 12:31:56 -06:00
graywolf336
4179a6a2d3 Move the explosion protection to a different section of the config.
This way it makes more sense, as the explosionProtection is for the
jails and not during the jailing.
2014-01-21 12:21:33 -06:00
graywolf336
b005248deb If the time is 0, then send a different message. 2014-01-21 12:10:43 -06:00
graywolf336
4c13948549 Make the command execution throw an exception, and let's catch it. 2014-01-21 11:22:26 -06:00
graywolf336
9f34304fdb Enable protecting chests and people being able to open them and not. 2014-01-20 17:24:22 -06:00
graywolf336
4eae8778ea Enable food control 2014-01-20 15:24:27 -06:00
graywolf336
392b1d94cc Prevent commands from being executed, except those whitelisted 2014-01-20 14:40:03 -06:00
graywolf336
af58eea360 It's crops as well for placing, whoops 2014-01-20 12:26:03 -06:00
graywolf336
18265777dd It's crops and not wheat, also add potatos to the default whitelist. 2014-01-20 12:24:09 -06:00
graywolf336
28953682ae Add some debugging messages to the placing/breaking so we can see what
block are what, will be helpful for figuring out what to add to the
whitelist of placing/breaking.
2014-01-20 12:10:12 -06:00
graywolf336
43cee6311a Add two more tests and rename our Util test class to reflect the usage. 2014-01-19 16:01:12 -06:00
graywolf336
f41ee77092 Enable checking the whitelist of breaking and placing. 2014-01-19 15:53:42 -06:00
graywolf336
da26bc172e Next up is protecting against placing blocks. 2014-01-19 14:49:42 -06:00
graywolf336
95649e7f03 Start work on the protection and penalties. First up is Block Place 2014-01-19 14:40:39 -06:00
graywolf336
d9d0de046d Fix the tests failing. 2014-01-17 14:54:27 -06:00
graywolf336
759df05bdd More language strings, focused this time on the command handler. 2014-01-17 14:34:12 -06:00
graywolf336
976149743a Change some way we let people know of hte language system.
Also added a console command sender to the test setup, just in case we
want to use it later on down the road.
2014-01-14 18:28:02 -06:00
graywolf336
cf7c9fc4c2 Protect the jails against explosions, if it is enabled 2014-01-08 15:27:38 -06:00
graywolf336
d734d99e88 Protect against block breaking and block placing in jails
Unless the player has admin permission. This does not include the
penalties as those will be done in a future commit. This also has a
little better performance on the block placing and breaking events, if
these checks are disabled.
2014-01-08 15:02:24 -06:00
graywolf336
ab74a158b8 Get the muted message from the Language File 2014-01-04 00:22:26 -06:00
graywolf336
369c874add If the config has prisoners not to get the chats, then let's obey that. 2014-01-03 23:57:10 -06:00
graywolf336
2f36c1f900 Fix the broadcast/logging not being the correct one for minutes. 2014-01-03 21:05:39 -06:00
graywolf336
6f86f04f3d Log to the console which timer/scheduler we're using. 2014-01-03 20:29:25 -06:00
graywolf336
57eb5c71e3 Nullify the timer on disable 2014-01-03 14:18:16 -06:00
graywolf336
f5bf76ec46 Add jail timer and jail event, count down the prisoners time. 2014-01-03 14:10:38 -06:00
graywolf336
738f8bc057 Set the handcuff manager to null on disable 2014-01-01 18:27:23 -06:00
graywolf336
2a3c3ad0f7 Register the unhandcuff command with bukkit 2014-01-01 18:22:49 -06:00
graywolf336
a7dacf42c1 Fix the message format not being correct. 2014-01-01 18:13:31 -06:00
graywolf336
3f27410a7a Handcuffing messages are now fully customizable via the language file 2014-01-01 17:39:21 -06:00
graywolf336
f1451f4179 Add the HandCuffListener 2014-01-01 16:22:40 -06:00
graywolf336
b22fad16c4 Merge branch 'master' of git@github.com:graywolf336/Jail.git 2014-01-01 16:19:18 -06:00
graywolf336
9b534b2abc Add handcuffing, next commit will be handcuff listeners. 2014-01-01 16:19:04 -06:00
graywolf336
506ab26858 Send the unjail message and also execute the commands on releasing 2013-12-31 13:25:06 -06:00
graywolf336
0ceef58e73 Move the restore method to the util, makes more sense there. 2013-12-31 13:20:39 -06:00
graywolf336
d49d2243d8 Ignore the cancelled events 2013-12-30 22:03:33 -06:00
graywolf336
4ab48b3659 Do some work on the JavaDoc 2013-12-28 19:50:55 -06:00
graywolf336
ce457fc7bf Derp, save the file when we change it. 2013-12-28 15:42:06 -06:00
graywolf336
05b15cc9b8 Let's try to remove people from the storage system this way. 2013-12-28 15:39:14 -06:00
graywolf336
04d65088e3 First attempt at unjailing a prisoner. 2013-12-28 15:08:24 -06:00
graywolf336
17f627350b Remove the debugging messages and add a debugging variable. 2013-12-28 13:37:18 -06:00
graywolf336
81ec445deb TOLD YOU IT WAS A SMALL BUG... Bah, humbug! 2013-12-28 13:20:09 -06:00
graywolf336
539ebeb326 Don't allow jailing of players who are already jailed. 2013-12-28 13:17:31 -06:00
graywolf336
3ab161cbe8 Clean up the jailstop command, make it tell what all they stopped. 2013-12-28 13:12:45 -06:00
graywolf336
b75f12c23c General bug work, there's a small bug in here I can't find...grrr 2013-12-28 12:53:07 -06:00
graywolf336
df0caabbac The double chests are actually larger than 40, derp 2013-12-28 12:27:25 -06:00
graywolf336
546131dd77 Fix the loading of the cells being really messed up. 2013-12-28 12:12:57 -06:00
graywolf336
359192a655 Fix the usage message being wrong. 2013-12-28 12:07:59 -06:00
graywolf336
15ca0810ba Remove the debugging message, as it is now in the loaded message. 2013-12-28 12:04:44 -06:00
graywolf336
e888467b66 Add the amount of cells loaded to the loaded message. 2013-12-28 12:01:56 -06:00
graywolf336
bde63666bc Fix the issue with losing the inventory and the armor being moved to the
inventory.
2013-12-27 18:22:13 -06:00
graywolf336
e4f74e5e91 Lots of progress was made towards jailing the player.
We now handle the jailing of the players and even store their inventory.
Unjailing hasn't been tested at all yet, so that's still to do.
2013-12-27 18:19:47 -06:00
graywolf336
d9f88b8eef Add some documentation to the prepareJail method. 2013-12-27 14:16:08 -06:00
graywolf336
07f3d85a2a Don't allow prisoners to be jailed into the same cell as someone else.
This will prevent overriding inventories in cell chests. When we tell
them the destination cell already has a prisoner in it, we try to find
the first empty cell in that jail but if all the jail's cells are full
then we tell them that as well.
2013-12-27 13:16:21 -06:00
graywolf336
5e4bc77579 Add some methods to serialize an inventory to Base64 string.
Special thanks to Comphenix, @aadnk, for the code.
2013-12-27 10:37:32 -06:00
graywolf336
fc0bde6255 Seems the player is not being ejected. 2013-12-26 00:00:33 -06:00
graywolf336
b4a740979d Try to parse the gamemode from the config, default to adventure. 2013-12-25 23:28:01 -06:00
graywolf336
c35b3b04f0 Add a config value to set their gamemode to. Also, eject them. 2013-12-25 23:20:52 -06:00
graywolf336
23e7aa15a3 Only save the previous position as well if it is null. 2013-12-25 23:06:00 -06:00
graywolf336
69b7981914 Only try to load the previous gamemode if it isn't null. 2013-12-25 23:01:56 -06:00
graywolf336
aaa286fbdd Save their previous GameMode if it is enabled in the config.
Need to update the wiki with the new config option.
2013-12-25 22:57:09 -06:00
graywolf336
6423e8d2e5 If the location is empty, don't try it. If the language string doesn't
exist, then don't try to parse it either and return an empty string.
2013-12-25 22:41:01 -06:00
graywolf336
57e4eb6c1e If the previous position string given is null, ignore it. 2013-12-25 22:06:57 -06:00
graywolf336
a72f6c273b Work on the actual jailing of the player.
Lots of work done here, untested.
2013-12-25 21:56:01 -06:00
graywolf336
f987dedc3d Fix the time parsing no longer working. 2013-12-25 01:12:20 -06:00
graywolf336
b4dc142455 Save and load the prisoners on flat file. 2013-12-24 23:42:53 -06:00
graywolf336
c499443ff9 If we've already broadcasted it to the entire server, don't log it as
double messages will appear in the console.
2013-12-24 23:29:51 -06:00
graywolf336
170fd1776f Send the log message to the console sender, to support color. 2013-12-24 23:24:30 -06:00
graywolf336
57d61717fe Let's try to use the new preparing method, see what errors we get. 2013-12-24 23:12:24 -06:00
graywolf336
38a4a859e4 Implement not being able to jail people who can't be jailed. 2013-12-24 22:47:17 -06:00
graywolf336
63032ad6cc Some work on the plugin, added a couple things and worked on the
preparing the jail.
2013-12-24 22:25:14 -06:00
graywolf336
a27596bcfb If they provide an incorrect format in time, don't override it. 2013-12-24 19:42:12 -06:00
graywolf336
978bd044fe Fix the time parsing not defaulting to minutes & add another test for it 2013-12-24 19:36:14 -06:00
graywolf336
ed481ff925 Test the parsing of the time and all the variations. 2013-12-24 18:45:50 -06:00
graywolf336
c4b1eb6d1a Default the time to minutes if all else fails. 2013-12-24 18:06:38 -06:00
graywolf336
7e75f297d5 Remove some debugging code. 2013-12-24 17:56:52 -06:00
graywolf336
dc2e74a63e Implement getting the jail nearest to sender of the jail command if no
jail parameter is defined.
2013-12-24 17:51:41 -06:00
graywolf336
64301db196 Fix the regex pattern and add more tests for the default config. 2013-12-24 16:52:59 -06:00
graywolf336
0d79569c74 Add some settings management and also parse the time format.
This allows for: 30seconds, 10minutes, 3hours, or 2days
2013-12-24 12:28:40 -06:00
graywolf336
4a45229bc5 Send the online prisoner the jailed message with the reason. 2013-12-24 10:23:39 -06:00
graywolf336
1021430b75 Output what language we are loading if successful. 2013-12-23 14:51:04 -06:00
graywolf336
c123689e67 Fix the test jailing. 2013-12-23 14:46:09 -06:00
graywolf336
ab0c236711 Add a language file and system. 2013-12-23 14:31:27 -06:00
graywolf336
845e219d5d Maybe copy the defaults on load to get the new config options?
Still not too sure if this will work correctly, as I don't know if this
will override the changes in the config.
2013-12-23 13:40:47 -06:00
graywolf336
1d8316f576 Add another config setting.
This and the previous change require updating of the wiki as I have
changed a lot. I'm still not too sure if this is how I want to keep the
config setup.
2013-12-22 12:31:10 -06:00
graywolf336
3f65450495 More work on the config and also start working on the language messages. 2013-12-22 12:19:29 -06:00
graywolf336
2f27152987 Add some more settings to the config.yml, not too sure this is how I
want to handle these settings yet.

Do they make sense?
2013-12-19 17:24:43 -06:00
graywolf336
78dca18242 Add this. to be consistent. 2013-12-19 16:16:23 -06:00
graywolf336
1a04ecf409 Let's use the PrisonerJailedEvent in the jailing of a player. 2013-12-19 16:13:41 -06:00
graywolf336
92c19fd05f Derp, set the time from the given one. 2013-12-19 11:39:18 -06:00
graywolf336
7376326288 Let's try to convert to minutes from milliseconds. 2013-12-19 11:32:04 -06:00
graywolf336
17ac609a0f Let's start some work on the jail command. 2013-12-19 11:13:07 -06:00
graywolf336
5f2fcd9027 No longer require true/false for the -m. 2013-12-19 09:19:55 -06:00
graywolf336
500c2abd51 Switch to using JCommander for the params/arguments system.
This system is very complex and we can make it as complex or as simple
as we want. This will save us time when we want to parse commands and
since it takes a while to write the code to parse the commands, this way
provides a lot more options. I'm excited for this.
2013-12-18 17:26:39 -06:00
graywolf336
6158aae5b5 Let's test the JCommander on a self instance. 2013-12-18 14:04:04 -06:00
graywolf336
3b77efa93f We're going to be using jcommander for parsing of the commands.
http://jcommander.org/
2013-12-18 13:29:42 -06:00
graywolf336
afccd42c24 Nothing major, just tiny little bits and pieces. 2013-12-16 15:51:25 -06:00
graywolf336
702aa8cc9f This looping through the arguments isn't working for me. 2013-12-16 14:32:06 -06:00
graywolf336
913c5d014e Meh, start a little work on the jailing command. 2013-12-16 14:21:32 -06:00
graywolf336
c7a08381f2 Include some information for when there are no cells. 2013-12-16 14:12:26 -06:00
graywolf336
12b850c391 Rename the JailListCell to JailListCells 2013-12-16 14:08:48 -06:00
graywolf336
5febe47880 Implement the jaillistcell command, prints the prisoner name in the cell
as well if there is someone in there.
2013-12-16 13:57:17 -06:00
graywolf336
7b75c7a158 Don't add the jail if the world is null, also load the plugin after the
worlds have loaded.
2013-12-16 12:39:08 -06:00
graywolf336
f33d6a0c45 Correctly load the world's jail. 2013-12-16 12:36:14 -06:00
graywolf336
677d006978 Add some JavaDoc to the JailIO class. 2013-12-16 12:26:38 -06:00
graywolf336
f03714a5f7 Let's loop through the signs when saving them to file so we save them
correctly in the flatfile.
2013-12-11 17:36:17 -06:00
graywolf336
e21c2d87ad Support Trapped Chests! 2013-12-11 17:26:07 -06:00
graywolf336
b706534b87 Let's add some debugging to the clicking of the clicked block. 2013-12-11 17:14:16 -06:00
graywolf336
2254efe08d Only step if they have the wand in hand. 2013-12-11 17:02:32 -06:00
graywolf336
9e950b56e4 Clean up adding a player to a cell. 2013-12-11 15:23:29 -06:00
graywolf336
89dbc4d2be Don't save the cell when we are loading it. 2013-12-09 16:35:10 -06:00
graywolf336
7743897b9d Save the Jails when the server shuts down and when we add a cell. 2013-12-09 15:12:32 -06:00
graywolf336
aa8443a8f7 Add the missing return which was causing errors when selecting a chest. 2013-12-09 14:58:54 -06:00
graywolf336
b5133842c0 Creation a CreationPlayer with the jailname and cellname. 2013-12-09 14:45:24 -06:00
graywolf336
d85b2db190 Let's start stepping through the cell creation. 2013-12-09 14:38:22 -06:00
graywolf336
d0273828b8 Let's start work on saving of the cells. 2013-12-09 14:28:38 -06:00
graywolf336
0272a3a241 Worked a little more on cell creation, no longer have to provide a cell
name and when that happens we give it one ourself.
2013-12-09 13:05:31 -06:00
graywolf336
3643627b7d Let's check for the wand and not just a wooden sword. 2013-12-09 12:54:51 -06:00
graywolf336
68cd8bc56a Just an increase in the spacing. 2013-12-07 14:31:11 -06:00
graywolf336
b3ccf5e82a Add jail list command, outputs the amount of prisoners in there. 2013-12-07 14:27:41 -06:00
graywolf336
11f9e94f40 Let's try and load the jails from flatfile. 2013-12-07 14:16:16 -06:00
graywolf336
7d18cf9a96 Fix the saving of jails, whoops forgot a period. 2013-12-07 13:02:38 -06:00
graywolf336
e2dc7de842 Fix the test failing. 2013-12-07 12:53:25 -06:00
graywolf336
b664428142 Save the teleports in and free. 2013-12-06 21:56:00 -06:00
graywolf336
7976dec870 Save the Jail when we add it. 2013-12-06 21:50:22 -06:00
graywolf336
af9d1a1f5b Let's start some work on saving the flatfile. 2013-12-06 21:47:03 -06:00
graywolf336
4adffd7b4a Let's try to load the data from flatfile, or rather start. 2013-12-06 16:05:11 -06:00
graywolf336
e07c657a40 Give the players a wand when starting to create a jail or cell. 2013-12-06 15:56:46 -06:00
graywolf336
3159d30aff Add a method to get the color message from a string in the util. 2013-12-06 10:28:03 -06:00
graywolf336
7d0f96cfba Make the test directory implement the respective folder separator. 2013-12-06 10:08:00 -06:00
graywolf336
ed36605506 Add some tests to test the default config values. 2013-12-05 19:22:16 -06:00
graywolf336
d66b9d3447 Work on the tests, they no longer fail and we mock a lot more now. 2013-12-05 19:15:32 -06:00
graywolf336
596c9de2ad First commit, converted to a truely maven project and switching over to my own repository for better management. 2013-12-05 18:22:15 -06:00