Commit Graph

305 Commits

Author SHA1 Message Date
graywolf336
3784eb6b28 Fix the confirm not working. 2014-02-14 23:18:41 -06:00
graywolf336
c432dee86f Register the #3 confirm command, that was a funny fail on a test. 2014-02-14 21:59:28 -06:00
graywolf336
e148e1e2dd Fix an NPE with the confirmation for #3, oversight on my part. 2014-02-14 21:42:27 -06:00
graywolf336
52456edc6b Finish up the confirmations for #3. 2014-02-14 21:37:39 -06:00
graywolf336
82a40c5d8e Add the confirmation to the clearforce command, continued work on #3. 2014-02-14 18:02:08 -06:00
graywolf336
54bea41d05 Further work on #3, lots of logic work figured out. The clear command
uses the confirmation method now, just need to test it.
2014-02-13 13:40:23 -06:00
graywolf336
f6686fee8d Start work on #3, confirming before deleting something major. 2014-02-13 13:02:44 -06:00
graywolf336
2036a311ac Remove the removing cell command, that is replaced with jaildeletecell. 2014-02-13 13:02:15 -06:00
graywolf336
efcd517360 Add the /jail status command. 2014-02-13 12:00:21 -06:00
graywolf336
78cc20c2c1 Add the removing of a jail via the ``/jail delete`` command. 2014-02-13 11:26:42 -06:00
graywolf336
950eb638b8 Add the command to transfer all the prisoners in one jail to another. 2014-02-12 15:52:10 -06:00
graywolf336
b1ca15d10c Jail check is now for one player only, use jail list <jail> for all. 2014-02-12 15:35:29 -06:00
graywolf336
94111955a4 Add deletecell and deletecells.
The deletion of cells is very spammy, might have to change later on down
the road.
2014-02-12 15:31:02 -06:00
graywolf336
3dc89a60c8 For real fix the no cell message, this is why testing is so important.
I forget things and forget to type something or mistype something.
2014-02-12 13:53:36 -06:00
graywolf336
5256f05fe3 Fix the no cell found message not being correct. 2014-02-12 13:48:45 -06:00
graywolf336
f774bf335f Send a message to the sender when they transfer someone...hehe whoops.
This finalizes the development piece of #5, just need to test it.
2014-02-12 13:42:45 -06:00
graywolf336
65f4f47cca Convert the transfer jewel using args to arguments, removing 'transfer' 2014-02-12 13:27:22 -06:00
graywolf336
c6988edd4f Check for null on the transfer arguments. 2014-02-12 13:14:32 -06:00
graywolf336
30b148f7ca Don't use the actual args but instead use our faked arguments. 2014-02-12 13:05:21 -06:00
graywolf336
5acfa351d2 Params are not empty any more but null. 2014-02-12 12:58:23 -06:00
graywolf336
bf6bbb16f6 Add a couple tests which test the jewel system. 2014-02-12 08:39:29 -06:00
graywolf336
87bb9feecb Make all the arguments optional on the transfer, we handle that ourself.
This way we handle it ourself for language purposes.
2014-02-11 20:46:23 -06:00
graywolf336
48a7435fbe Fix the tests failing and also fix the jail command not doing anything. 2014-02-11 20:44:19 -06:00
graywolf336
58bc007b3e Remove all reference to jcommands and use jewelcli.
This commit also cleans up the jail command to be quicker as the old way
I was doing it just didn't work nor was it good to go for production.
This method also utilizes the CommandInfo's pattern to match
subcommands, like it was meant to be used for. Completely untested.
2014-02-11 20:34:35 -06:00
graywolf336
e078f73d3c Testing out another command parser.
This one seems like it will be good, but there appears to be a bug with
it sadly. https://github.com/lexicalscope/jewelcli/issues/28
2014-02-10 16:42:59 -06:00
graywolf336
b9f01dd599 Remove extra space and add mins after the minutes 2014-02-10 15:10:22 -06:00
graywolf336
d8611a51bc Add the missing space between jailer and remaining time 2014-02-10 14:56:25 -06:00
graywolf336
96a58aa3df Fix the header being incorrect when listing prisoners 2014-02-10 14:55:16 -06:00
graywolf336
7ce81c774f Send a message when there are no prisoners in a jail. 2014-02-10 14:50:41 -06:00
graywolf336
508366468a List all the prisoners in a jail if the jail is provided on /jail list 2014-02-10 14:40:27 -06:00
graywolf336
05695ce969 Tell the sender the player's name they sent back if already jailed. 2014-02-10 14:06:22 -06:00
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