Commit Graph

524 Commits

Author SHA1 Message Date
graywolf336
a38ae137ee Add a prisoner death event, closes #28 2014-07-14 18:39:38 -05:00
graywolf336
3912dbfabc Only save the prisoners if they were changed, add that flag. 2014-07-14 18:23:29 -05:00
graywolf336
f3c2772a87 Use BIGINT for the time 2014-07-14 18:07:13 -05:00
graywolf336
f042af4731 Fix the time not being converted correctly. 2014-07-14 18:03:17 -05:00
graywolf336
c7de4364b1 If the world is null, don't return a string of the location. 2014-07-14 17:09:06 -05:00
graywolf336
34ebc5bc08 Update readme and convert the old positions. 2014-07-14 17:01:34 -05:00
graywolf336
48972e9523 Schedule the time decrease for every ten seconds 2014-07-14 16:52:32 -05:00
graywolf336
fe7aabc6ea Very using the new api, some older versions are still used. 2014-07-14 16:39:01 -05:00
graywolf336
88817fb9a2 If the data passed is empty, return an empty inventory. Try to fix the
latest issue reported in #26
2014-07-07 14:56:25 -05:00
graywolf336
f2cf051b4e Run the save every minute, instead of every 10 seconds.
Next up: making mysql async.
2014-06-12 11:13:55 -05:00
graywolf336
2c971eb9bc Add some JavaDoc explaining what the CacheListener is for. 2014-06-12 11:00:01 -05:00
graywolf336
c6cdd5499e Add a comment to the test. 2014-06-12 10:56:49 -05:00
graywolf336
d535b758d4 Add .gitattributes 2014-06-12 10:50:53 -05:00
graywolf336
a77e0cc472 Performance changes to get better performance on the move protection.
We now get the cache object inside the move event and get all the other
objects from that. The reason for this is so that we don't have to then
loop through all the prisoners in a jail again to get one prisoner, just
get it from the cache object.
2014-06-12 10:30:00 -05:00
graywolf336
a442887b36 Telling me something changed but I don't know what. Will revert if it is
something breaking.
2014-06-12 10:15:11 -05:00
graywolf336
7ad5fedfd1 Work on the tests and change up some performance issues.
1. In the player move event we looped through the jailed players more
than once which really is an issue when you have several hundred jailed
and since the move event is called several times a second, that was a
huge performance hit.
2. Don't save the prisoner data as soon as they are jailed, we take care
of that else where with the shutting down and counting down time.
2014-05-30 15:54:11 -05:00
graywolf336
45bd4ac8c1 Reference the plugin and not Bukkit 2014-05-30 14:28:04 -05:00
graywolf336
74e62be46c Use InputStreamReader when reading the default en.yml from the plugin. 2014-05-30 14:03:20 -05:00
graywolf336
af1fa37470 Add a cache for prisoners online only, this should help performance #26
The cache listens to a lot of events and custom events to ensure the
cache is up to date, this way we don't have to loop through all the
prisoners in a jail every single time they move or something but instead
just check the cache.
2014-05-30 12:23:32 -05:00
graywolf336
82f17f3a4b Merge branch 'master' of git@github.com:graywolf336/Jail.git 2014-05-30 11:12:30 -05:00
graywolf336
c5720ec84d Move the handcuffing to store data per uuid. 2014-05-30 11:12:08 -05:00
graywolf336
8cb7a76eeb Fix #27, all scoreboards are managed by UUIDs and no longer names. 2014-05-24 14:20:37 -05:00
graywolf336
3e54d79dd3 Try to lower the amount of time spent on each move event as mentioned in
issue #26
2014-05-08 19:30:20 -05:00
graywolf336
0bb679329d Fix the error when saving a cell that has a prisoner. This should fix
and close #26.
2014-05-03 09:52:45 -05:00
graywolf336
7db5fe9da5 Attempt to fix the NPE error when loading the old JailPayCurrency 2014-05-03 01:15:00 -05:00
graywolf336
ef5dfe3815 If we have converted data, save everything after JailIO is loaded.
This might solve #26 but I'm not closing it yet as this is untested.
2014-05-03 01:12:26 -05:00
graywolf336
42d0e7983f Convert the jailpay settings over. 2014-05-02 01:43:30 -05:00
graywolf336
b3033913c7 Properly output how many cells were loaded, hopefully this has something
to do with #26 displaying incorrect information.
2014-05-02 01:35:04 -05:00
graywolf336
b8dc15decb We use player instead of name for the player's last known name.
Good catch by @dewick on issue #26.
2014-05-02 01:31:04 -05:00
graywolf336
084e8bea01 Warn when a cell doesn't have a teleport location or cell. Also, don't
double store a prisoner when they get put in a cell from a jail after
being converted.
2014-05-01 17:39:48 -05:00
graywolf336
f1dadaaae0 Lookup the records by username and get the UUID ourself. 2014-04-30 13:18:56 -05:00
graywolf336
a7798c9d62 Fix the javadoc on one method in JailIO being incorrect. 2014-04-29 13:24:26 -05:00
graywolf336
4d4f609b82 Finish using the UUID, we are still using blocking methods.
I want to get fully away from blocking methods and instead make the
user/player/prisoner/whatever wait to get an answer while we retrieve
the uuid information asynchronously.
2014-04-29 13:20:33 -05:00
graywolf336
ad9c70cbbf Readd the method I removed and also change the cells to uuid. 2014-04-29 10:53:36 -05:00
graywolf336
63e117ac72 Build will fail. Started work on converting to using uuid's internally.
While doing this I deleted one method that I shouldn't have, so going to
revert that. Next I have to build a method or two which will allow me to
do last known names lookups, etc. Might switch to using a library to
handle getting names async so we don't block the server up, doing this
will result in us having to recode some of the commands internally.

If you have any suggestions or questions, I'm open.
2014-04-28 23:52:52 -05:00
graywolf336
0981fe659f Correctly log how many prisoners were loaded. 2014-04-28 22:46:41 -05:00
graywolf336
998c7bd824 If we couldn't find a jail from the prisoner, get the first jail.
Also, don't try to load prisoners if there are no jails.
2014-04-28 22:27:41 -05:00
graywolf336
cb88948c29 Merge branch 'master' of git@github.com:graywolf336/Jail.git 2014-04-28 20:11:58 -05:00
graywolf336
581a826524 Output out type of storage is selected when not in debugging mode. 2014-04-28 20:11:39 -05:00
graywolf336
5241f917ce Don't double send the message on backwards support for commands. 2014-04-27 00:29:08 -05:00
graywolf336
7167bff981 Fix the NPE when providing backward compabitility. 2014-04-27 00:19:23 -05:00
graywolf336
6c55578062 Try to provide backwards compatibility. 2014-04-27 00:05:35 -05:00
graywolf336
4f7678fed6 Fix the name portion of the prisoners not loading. 2014-04-26 22:29:36 -05:00
graywolf336
7898d3518e Remove extra line there...this is mostly to get jenkins to build again. 2014-04-25 18:09:14 -05:00
graywolf336
821051a3bc Fix the tests failing, happy day! 2014-04-25 17:56:52 -05:00
graywolf336
a3d9a54ff0 First attempt to use UUID, not tested one ounce.
And I imagine the unit tests are going to fail.
2014-04-21 22:58:15 -05:00
graywolf336
1de176e67e Don't enable scoreboards by default, they are laggy in the newer bukkit 2014-04-21 22:52:17 -05:00
graywolf336
3ad2eb26af Merge branch 'master' of git@github.com:graywolf336/Jail.git 2014-04-21 22:04:23 -05:00
graywolf336
0ae2956137 Add a command to toggle whether jail is in debugging or not. 2014-04-21 22:04:03 -05:00
graywolf336
caf4315d6c Only initialize JailPayManager if vault exists. 2014-04-01 23:21:24 -05:00
graywolf336
45bd1776ee If Vault is not enabled, don't enable Jailpay. 2014-04-01 23:09:15 -05:00
graywolf336
4ade1bcf38 Implement Jail Pay, this closes #11 2014-03-20 15:33:42 -05:00
graywolf336
126c1576c4 Add the jail name to the scoreboard's title. 2014-03-16 16:13:40 -05:00
graywolf336
fe7cb9f5a5 Add a new command /jail time which has easy access for add/subtract
time from a prisoner's sentence.

This command could be useful for commandblocks or something else, as it
does not need a player context. This closes Bukkit Dev Ticket:
http://dev.bukkit.org/bukkit-plugins/jail/tickets/432/
2014-03-15 14:40:50 -05:00
graywolf336
3e3f2d432e Convert the old data to our new data and move the old files.
Closes #24 but it probably has a few bugs or prisoners who were in cells
are not any more, but I will only fix that if someone pursades me to.
2014-03-14 17:40:44 -05:00
graywolf336
48fe312193 Really allow there to be more than one jail stick. 2014-03-14 15:52:41 -05:00
graywolf336
2778c79150 Debugging to figure out why more than one stick isn't being loaded. 2014-03-14 15:44:19 -05:00
graywolf336
737a7e35e2 Debugging is important to me, load the old debugging value. 2014-03-14 15:35:50 -05:00
graywolf336
b2a8e6c89c Save the configuration file after we converted items. 2014-03-14 15:30:59 -05:00
graywolf336
1f6881177a Strip the colors from when unjailing and sending the message to console. 2014-03-14 15:22:13 -05:00
graywolf336
c478ef2544 Actually reload the jail sticks when we reload the plugin via command. 2014-03-14 15:20:50 -05:00
graywolf336
2dfe777f3f Actually make a call to move over the old config. 2014-03-14 15:18:36 -05:00
graywolf336
060bb125a4 First work on converting the old global config file to the new one.
For #23
2014-03-14 15:15:30 -05:00
graywolf336
065f273c14 Finish the missing JavaDoc for the scoreboard manager. 2014-03-13 13:02:10 -05:00
graywolf336
ec1e91cda2 Implement the usage of Scoreboards, make the language configurable.
Closes #15
2014-03-13 12:59:47 -05:00
graywolf336
6ce05dbe7d Regular users don't need to know how many commands are loaded, debug. 2014-03-12 22:45:47 -05:00
graywolf336
816fe1d5b7 Fix the JailHandler containing incorrect JavaDoc. 2014-03-12 22:44:01 -05:00
graywolf336
11d6995cc3 Fix default Jail Stick not loading correctly, closes #21 2014-03-12 22:41:10 -05:00
graywolf336
1399f8d260 Fix some of the JavaDoc. 2014-03-11 13:03:11 -05:00
graywolf336
7d64fce5db Add some debugging code to try and work out #19 2014-03-08 23:59:23 -06:00
graywolf336
74812114c6 Add a record entry when a player is jailed by jail sticks.
Closes #20
2014-03-08 23:55:13 -06:00
graywolf336
39cc95b96d The jail stick is now usable.
Closes #16.
2014-03-08 23:39:11 -06:00
graywolf336
64c4298cca Whoops, didn't mean to move the database to the wrong config section. 2014-03-08 22:57:33 -06:00
graywolf336
df45b267a7 Okay okay, add the missing files for the Jail Stick for #16. 2014-03-08 22:53:59 -06:00
graywolf336
274f3a03ab Start work on Jail Sticks. 2014-03-08 22:53:31 -06:00
graywolf336
2ec69c5650 Finish adding the jailrecord command, this closes #12. 2014-03-06 18:10:53 -06:00
graywolf336
9f9ede433a Fix a problem with the loading of cells when no signs. 2014-03-06 17:09:21 -06:00
graywolf336
5f6807fc24 Started work on profiling when prisoners get jailed #12.
This only works for the sql right now, next commit will handle flatfile.
2014-03-06 16:51:25 -06:00
graywolf336
ac6a5b23cb Some clean up work on the JailIO class. 2014-03-06 14:04:11 -06:00
graywolf336
02a4e206cb Set AutoCommit to true for MySQL.
Haven't really tested it, so not sure what it does.
2014-03-06 13:28:58 -06:00
graywolf336
47949a9373 Fix some debugging messages. 2014-03-06 12:14:18 -06:00
graywolf336
4f90a99cd5 Remove cells and prisoners which reference a deleted prisoner.
For beta purposes, this closed #18 since all the main sql things are
done.
2014-03-06 12:11:10 -06:00
graywolf336
4ca9ff8b8d No need to have the sql commands outputted anymore on creation. 2014-03-06 11:49:12 -06:00
graywolf336
2027331540 When forcefully removing a prisoner, check for a cell. This closes #17 2014-03-06 11:33:24 -06:00
graywolf336
c249a44f35 More work on loading the prisoners from mysql for #18. 2014-03-06 11:04:04 -06:00
graywolf336
42d25e0b69 Column is cell not cell_n1 2014-03-06 10:40:46 -06:00
graywolf336
725c0fd207 Start some work on loading the prisoners, for #18. 2014-03-05 22:50:53 -06:00
graywolf336
06793330ac Fix the jailing sql syntax being incorrect for jailing in cells. 2014-03-05 22:36:43 -06:00
graywolf336
262f1dc4f9 Finish loading cells and check for chest when we are removing a cell. 2014-03-05 22:28:12 -06:00
graywolf336
3a6a76a86c Try a different way of seeing if a block is a sign on removing of a cell 2014-03-05 22:15:22 -06:00
graywolf336
e0411f1202 Add some sql to remove the prisoner.
Untested.
2014-03-05 17:21:54 -06:00
graywolf336
0fabe1ff2e Add some sql to remove the cells and jails.
Untested.
2014-03-05 16:56:13 -06:00
graywolf336
295f6061a8 Really allow the chest to be null in cells. 2014-02-21 12:15:44 -06:00
graywolf336
95e9c7c50a Reorganize how we save new cells, this way doesn't dupe cells any more. 2014-02-21 09:32:11 -06:00
graywolf336
d2a6773522 Fix the generation of the sign strings. 2014-02-21 09:23:50 -06:00
graywolf336
bd7397a929 Allow no chest to be selected for the cells when creating it. 2014-02-21 09:22:00 -06:00
graywolf336
1c5bfc24ea Allow the chest to be null for the cells. 2014-02-21 08:59:44 -06:00
graywolf336
8834e193ac Some more work on the MySQL, making slow progress for #18. 2014-02-20 21:51:36 -06:00
graywolf336
2458b75f84 Forgot to handle the error when thrown. 2014-02-20 21:32:45 -06:00
graywolf336
7f79f82636 Let's try to load a jail from MySQL, #18. 2014-02-20 21:29:29 -06:00
graywolf336
1b2ed8bec4 We'll use replace into and not insert into, #18. 2014-02-20 21:07:06 -06:00
graywolf336
b26fed8f80 Fix the insertion of the prisoners. 2014-02-20 21:03:17 -06:00
graywolf336
75aec51dc2 Let's try to save the jails with MySQL, first attempt #18. 2014-02-20 20:55:04 -06:00
graywolf336
5e6fecfef8 Add the creation of tables sql, if the sql is mysql. #18
sqlite will be last on my list, might move it into beta 3.
2014-02-20 16:20:27 -06:00
graywolf336
356fab682e Start some initial work on the sql portion, no where near close. #18 2014-02-19 21:54:56 -06:00
graywolf336
e54dbc8a8c Fix the spacing on the listcells 2014-02-16 16:53:41 -06:00
graywolf336
399b8662e5 jailstop is now /jail stop 2014-02-16 16:28:09 -06:00
graywolf336
43eb68811b Create cell is not createcells 2014-02-16 16:05:42 -06:00
graywolf336
ac2c99eac3 Throw the PrisonerTransferredEvent after a player is transferred, #9. 2014-02-15 01:01:48 -06:00
graywolf336
7af47bd2e0 Fix some JavaDoc 2014-02-15 00:58:48 -06:00
graywolf336
620c57cdc9 Add a PrePrisonerTransferredEvent #9. 2014-02-15 00:52:25 -06:00
graywolf336
d049dba447 Default the cancelled to false. 2014-02-15 00:16:52 -06:00
graywolf336
b9d6fafac7 Fix the JavaDoc being incorrect on the setJailer 2014-02-15 00:14:54 -06:00
graywolf336
22f2b66cf5 Add the PrePrisonerReleasedEvent for #9, not all that useful event tbh. 2014-02-15 00:05:32 -06:00
graywolf336
d0763b6c00 Add the PrisonerReleasedEvent for #9. 2014-02-14 23:58:17 -06:00
graywolf336
5f39776825 Fix the issue in the config which was causing the tests to fail. 2014-02-14 23:53:06 -06:00
graywolf336
c84b833ebb Add the PrisonerJailedEvent, mark it off #9. 2014-02-14 23:50:23 -06:00
graywolf336
2684fa9bd4 Transferring of prisoners to different jails works, finalizes #5. 2014-02-14 23:38:13 -06:00
graywolf336
47fba5ab79 Allow /jail status and also send them a message when they check it 2014-02-14 23:34:41 -06:00
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