Commit Graph

524 Commits

Author SHA1 Message Date
graywolf336
176fde313e Remove last test and various changes 2015-06-03 16:39:20 -05:00
graywolf336
24ed74446b Add javadoc to the hasVotedAlready 2015-06-03 16:27:17 -05:00
graywolf336
89f709390a Add api to get the build version of jail
More for future api usage for other plugins, to determine if the running
version has certain features.
2015-06-03 11:59:20 -05:00
graywolf336
68e35ed271 New method to see if a jail has an empty cell 2015-06-03 11:33:37 -05:00
graywolf336
82487805b4 Clear the sign lines before reloading
Wasn't reported yet, but if someone removed a line from the sign the old
one would still show up as we didn't clear the lines before reloading.
2015-06-03 10:40:42 -05:00
graywolf336
b91b54a9fc Don't make the string arrays each tab 2015-06-03 10:01:24 -05:00
graywolf336
1c43951a7c Clean up the getJailsByPrefix method 2015-06-03 09:25:42 -05:00
graywolf336
fd2e69cb77 Broadcast now requires a permission node, fixes #54
The permission node is granted to everyone by default, take it away from
groups you don't want it enabled on: jail.see.broadcast
2015-06-03 00:07:21 -05:00
graywolf336
98e4916a18 Fixed %prettytime% not working on forever time 2015-06-02 23:37:55 -05:00
graywolf336
5393d5556b Sort the cell list before sending them, adds #80 2015-06-02 22:28:15 -05:00
graywolf336
e92ec67ec9 No more async jailing, fixes #73 throws Exception
Added some custom exceptions to be thrown when conditions aren't met.
This might break a lot several things, will test after this build
completes but the unit tests all seemed to run fine.
2015-06-02 22:14:06 -05:00
graywolf336
cfb62eed13 Almost finish tab completion, #77 (see details)
The only commands left to enable tab completion on are:
- jail
- jail transfer
2015-06-02 12:32:34 -05:00
graywolf336
019deea43a More work on tab completion, see details.. #77
Completed:
- Jail check
- jail clear
- jail createcell
- jail deletecell
- Jail list
- jail listcells
- jail mute
2015-06-01 21:14:01 -05:00
graywolf336
73715c3d68 Try to fix an issue with sqlite, should fix #78
Not tested, so can't really tell if it fixes it or not.
2015-05-30 13:55:21 -05:00
graywolf336
d3d4572ca4 First stab at tab complete of jail commands, #77
Right now, the first option of the jail command completes and checks for
proper permission and all that good stuff. Good way to get started with
commands but that's all that has been completed right now.

Plan is that the command interface will get a tabComplete method which
all the classes that implement it will handle. Then if a tabComplete
happens on that command we'll let the command handle it, so the command
handlers don't get cluttered.
2015-05-29 16:56:02 -05:00
graywolf336
ea50ecea6b Even more javadoc fixes. 2015-05-27 12:38:44 -05:00
graywolf336
8c98977bd1 Fix some JavaDoc issues 2015-05-27 12:33:54 -05:00
graywolf336
107ac26573 Fix the language test failing 2015-05-27 12:30:12 -05:00
graywolf336
afa051b1b2 Move Data After Storage Changed, Closes #75
After someone reloads the plugin and they've switched the storage system
then put the data, if any exists, into the new storage system. This
means a player can go from flatfile to mysql or from mysql to flatfile
without having to do any manual work.
2015-05-27 12:26:31 -05:00
graywolf336
55062bc03a Reload only the configuration, not data. Fixes #67
The data shouldn't be reloaded when the plugin is reloaded.
2015-05-27 12:24:59 -05:00
graywolf336
14e006f08a We reload the configuration not data, change en.yml
When we reload the plugin we are reloading the configuration and not the
data, make that clear.
2015-05-27 12:21:48 -05:00
graywolf336
75171a7ba4 Pretty time is sign default & reload sign lines
When the plugin reloads fire an event so that other places can know when
it happens, mostly internal. Use that new event for reloading the
plugin's sign lines in the event it happens.
2015-05-27 11:34:53 -05:00
graywolf336
0a429cf311 Jail Names shouldn't be case sensitive, fixes #76
This change keeps the jail names with different cases in their names but
allows case insensitive in the commands.
2015-05-27 11:03:36 -05:00
graywolf336
f8ae4f3b80 Make subcommands case insensitive
CONFIRM should be the same as confirm
2015-05-27 10:48:36 -05:00
graywolf336
2d11239ce4 Fix all the NPE's on tests when getting a task's id
This has been bugging me for far too long, I hated seeing all those
NPE's on test results.
2015-05-27 10:36:56 -05:00
graywolf336
9b638d6360 Only load lines for signs configured, fixes #61
Don't try to load line 4 when it isn't configured in the configuration,
fixes the onload IndexOutOfBoundsException.
2015-05-26 16:25:02 -05:00
graywolf336
9f6c0c4e49 Comment on why we clear cell's chest
Let people know in the source code why we clear out a cell's chest when
a prisoner in there is released.
2015-05-26 16:17:31 -05:00
graywolf336
25835a1702 Clear inventory only when storing, fixes #57
We shouldn't be clearing a prisoner's inventory on getting released from
jail if we aren't supposed to be storing it.

And update the readme file
2015-05-26 16:16:30 -05:00
graywolf336
ab10bc9a4d Finish the comment...whoops I got distracted 2015-05-26 15:00:41 -05:00
graywolf336
12f35a01bf Don't resave cells on stopping creation, fixes #74
We was saving everything again when the players stop creating anything,
this was causing issues with duplicate cells when using any storage with
SQL (due to insert and no primary key).

Also, added a hasChanged to the cell class which will prevent resaving
things in sql if it hasn't changed.
2015-05-26 14:57:38 -05:00
graywolf336
fd52be6972 Manually merge Pull Request #63
Needs to be tested, hopefully it does work and does improve performance
2015-05-26 11:59:16 -05:00
graywolf336
9255141631 Explain why the gamemode setting is problematic #73
We should output what is problematic about it and then give them the
options available to them, since spectator was added more recently.
2015-05-26 11:39:19 -05:00
graywolf336
a5b1591dcb Whoops, forgot this file in the previous commit.
Fixed!
2015-05-22 15:42:49 -05:00
graywolf336
3eedc4904f [BREAKING] Change up cell selection.
In the PrisonerManager you can now provide either AnyCell or NoCell and
it'll select a cell or not based upon the provided one. This is breaking
because it changes the required types in the methods and the new cells
don't have anything implemented and throw exceptions.
2015-05-22 15:41:54 -05:00
graywolf336
1f9035646d Allow easier Prisoner creations.
All a whole variety of prisoner class creation, making API usage very
nice and easy.
2015-05-22 11:07:08 -05:00
graywolf336
2dfa34c05c Don't add/subtract time when they're jailed forever
This fixes an issue brought up in #69
2015-05-21 15:03:46 -05:00
graywolf336
307a096acc Add an interface for the Jail Pay Manager.
Further API work.
2015-05-21 14:30:49 -05:00
graywolf336
cf50e37910 Add an interface for the Jail Stick Manager.
Adding the API further this way if someone wants to handle items in a
different way or handle their own implementation of it, they can easily
do it.
2015-05-21 14:20:17 -05:00
graywolf336
e2ad5c00e5 Find an empty cell when jailing via sticks, fix #68
Updates the jailing logic of the sticks to match that of jailing via the
commands, tries to find an empty cell to jail someone in.
2015-05-21 14:06:34 -05:00
graywolf336
5273a973a1 Merge pull request #65 from stevoh6/patch-3
Use the pretty time format for the the jail check command.
2015-05-07 12:32:54 -05:00
graywolf336
41717678c5 Git shows these files as changed
I assume this is due to line endings not being the same across all files
due to them being created on different operating systems.
2015-05-07 11:27:18 -05:00
stevoh6
e263463215 Update JailCheckCommand.java
- show pretty time format
2015-04-30 23:40:49 +02:00
graywolf336
97191a3f7d Register the respawn listener with a higher priority, for #55
Since another plugin might interfere and teleport someone elsewhere
which isn't inside the Jail.
2015-03-12 23:37:01 -05:00
graywolf336
550c7d5368 Pass the jail name and cell name to the broadcast messages, fixes #53 2015-02-25 10:13:32 -06:00
graywolf336
566c596f07 Add the reason why someone was jailed to the broadcast message, #53 2015-02-24 16:26:02 -06:00
graywolf336
88cc080f60 Add set to the jail time command and unit test it. 2015-02-20 23:10:05 -06:00
graywolf336
1c3ad5b75a Add some tests on the jail api 2015-02-20 22:26:41 -06:00
graywolf336
1bb36ec66d Change the creation of jail method in the tests. 2015-02-17 09:54:46 -06:00
graywolf336
0d9ed022f3 Only try to jail in a cell if that jail has cells, resolves #51 2015-02-16 15:00:14 -06:00
graywolf336
b9188ee2ba Add a way to get the jail stick manager in the JailAPI 2015-02-13 14:36:42 -06:00
graywolf336
3570a4b0ee Protect some of the constructors since we don't need more than one. 2015-02-13 14:34:38 -06:00
graywolf336
9ecfb92252 Add a method to jail someone forever, resolves #49.
Include -i in the command and the player will be jailed forever.
2015-02-13 01:29:18 -06:00
graywolf336
64f6ce8a64 Don't allow jail vote for people not online and players with permission
which disallows them being jailed.
2015-02-12 23:37:05 -06:00
graywolf336
d205a35d0a Add the Jail Vote feature back in, with lots of unit testing. Closes #8 2015-02-12 21:29:09 -06:00
graywolf336
b23bdaa89b Sign updates are done via the event listeners. 2015-02-10 12:16:45 -06:00
graywolf336
0cb6d7ca84 Don't get a location from a null value, fixes #46 2015-02-09 23:38:30 -06:00
graywolf336
f56ed7068d Fix capital letters in Jail Names in creating cells working, fixes #47 2015-02-09 22:15:06 -06:00
graywolf336
2232b4dfa8 Merge branch 'master' of git@github.com:graywolf336/Jail.git 2015-02-09 22:09:12 -06:00
graywolf336
d819bd7d37 Reimplment automatically jailing in cells, fixes #42.
New config option if you want to disable this option.
2015-02-09 22:08:59 -06:00
graywolf336
3a09144b52 Attempt to get valid connections when doing operations, should help with
reconnecting to the database after an error has occured.
2015-01-29 00:51:01 -06:00
graywolf336
9473928d5f Messed aroung with tests, adding back in the ability for craftbukkit. 2015-01-28 00:04:25 -06:00
graywolf336
112895c3e3 New unit test to ensure the managers are the same, work for #7 2015-01-27 22:48:30 -06:00
graywolf336
87acaf1538 Implement %prettytime% on signs, time in a pretty format. Adds #35
The variable of %prettytime% will be replaced on signs and also a nice
format on the status message will be added.
2015-01-27 19:21:42 -06:00
graywolf336
72c29bb4ea Don't resave the cells if we're saving and using flatfile. 2015-01-27 18:37:04 -06:00
graywolf336
ad57ed767b Use our simple location object when loading a jail, finally resolves #41 2015-01-27 18:08:44 -06:00
graywolf336
d94b12ac40 Load the jails even if the world is not loaded, fixes #41
Also, load the plugin after multiverse.
2015-01-27 17:53:01 -06:00
graywolf336
e4a3eb80c4 Don't load a jail if the world is empty, warn them about it. #41 2015-01-27 17:37:55 -06:00
graywolf336
fdfd0bb2c9 Make the world not existing message to be more user friendly. 2015-01-27 17:27:23 -06:00
graywolf336
b780f4a483 Debug some when loading a jail, for #41 2015-01-27 17:23:13 -06:00
graywolf336
309e4da6a5 Inline the health setting for loading jail sticks. 2015-01-26 02:06:08 -06:00
graywolf336
7fd0a8ddc7 Fix the race condition when protecting blocks, fixes #34 2015-01-26 02:00:49 -06:00
graywolf336
2c85300e3b Remove the duplicate loaded Delete command, done in commit 4567a71 2015-01-26 01:30:16 -06:00
graywolf336
78a6fc7cf9 We wasn't loading the JailHelpCommand, do so. 2015-01-26 01:28:27 -06:00
graywolf336
727ff30d8b Save everything when someone stops creating something. 2015-01-26 01:24:32 -06:00
graywolf336
6653ccfb79 Log a severe message to the console when a jail's world is not defined.
This should help warn to warn people when their server starts and
something is wrong with the definition of their jail in the data.yml,
thanks to #40 for raising this issue even though the real issue hasn't
been found.
2015-01-26 00:27:49 -06:00
graywolf336
14b55a81f5 Fix the teleport free not sending them to the correct world. 2015-01-26 00:00:46 -06:00
graywolf336
c65ca2b0ff Fix the permissions not being added to the jail.command.*, fixes #38 2015-01-25 23:38:46 -06:00
graywolf336
cabec7791e Add the missing s on the permissions for JailListCells, fixes #39. 2015-01-25 23:15:51 -06:00
graywolf336
db46e7c036 Fix the error when either of the command handlers are null, fixes #40
These errors only happen when the plugin didn't load successfully,
you'll need to check further up in the console/server log to see what
actually caused this error.
2015-01-25 23:09:25 -06:00
graywolf336
84b6505ae3 Don't edit the jail signs async, as that is bad and causes #36.
This should fix the Asynchronous entity world add exception being thrown
2015-01-13 01:13:22 -06:00
graywolf336
e84452bfd8 Change the jail stick event to lowest priority, so it gets called first. 2015-01-10 14:55:44 -06:00
graywolf336
4567a713ec Add a temporary help command, will be my next thing to add. 2015-01-07 02:01:17 -06:00
graywolf336
a23062d890 Add the permission to the debugging when a sender doesn't have
permission.
2015-01-03 21:26:57 -06:00
graywolf336
830cf5cebb Use the Google IO library to move the files. 2014-12-28 17:46:26 -06:00
graywolf336
bb8cdd229a Don't depend on craftbukkit, only bukkit. 2014-12-08 20:19:41 -06:00
graywolf336
4b77e61c7b Update the pom to build with 1.8 api and remove the 1.7 related things
in the unit tests.
2014-12-08 18:20:28 -06:00
graywolf336
59003f503d Merge branch 'master' of git@github.com:graywolf336/Jail.git 2014-08-25 23:00:56 -05:00
graywolf336
0dff116634 Add the reason the prisoner was jailed to the events. 2014-08-25 23:00:46 -05:00
graywolf336
b7adc28a8c Only save a jail that is enabled. 2014-08-20 11:45:45 -05:00
graywolf336
5734eeec4c If a world is not loaded, then don't load cells and dont enable the jail 2014-08-20 11:36:36 -05:00
graywolf336
794905ee93 Add the new jailtime command permission. 2014-08-19 20:37:54 -05:00
graywolf336
68584639ba Add support for sqlite storage. 2014-08-19 16:54:14 -05:00
graywolf336
33528aee56 Fix the removing prisoner setting the wrong thing to null. 2014-08-19 15:04:39 -05:00
graywolf336
3405ab100f Update the signs on jailing, this closes #31. 2014-08-19 14:53:35 -05:00
graywolf336
6ddabe39ad Fix the failing tests. 2014-08-19 14:43:03 -05:00
graywolf336
85e1106b42 Fix some spacing issues introduced by the last commit. 2014-08-19 14:34:02 -05:00
graywolf336
81da8ddb59 First attempt at getting the signs of cells to display information #31
The variables possible are:
* %player% - the player's last known name
* %uuid% - the player's uuid, or what can fit on a sign
* %reason% - the reason the player was jailed
* %jailer% - the person/thing who jailed this player
* %afktime% - the amount of time the player has been afk
* %timeinminutes% - the amount of remaining time the player has in
minutes

If the player is jailed forever, then it pulls from the language file
`jailedforeversign` property.
2014-08-19 14:19:30 -05:00
graywolf336
24c6d31742 Fix the jail pay calculation.
There was a problem where if someone was fixing to get released, aka 0
milliseconds remaining, then we would charge them for infinite jailing.
2014-08-19 13:54:13 -05:00
graywolf336
196b7c33ed Throw an event when we change a prisoner's time. 2014-08-19 13:30:46 -05:00
graywolf336
96cb530add No need to send block break and place events to everyone, that's spammy. 2014-08-19 12:18:25 -05:00