Slayer
Slayer adds new task-based gameplay to Minecraft with inspiration from RuneScape's "Slayer" skill.
Notice
Due to my involvement with another very large project (Demigods 3, a continuation and complete remake from the ground up of Demigods 2), I will not be updating Slayer for a while. I will hopefully get to it within a month or two and start adding more features. I greatly apologize for any inconvenience this may cause. Stay tuned for eventual updates though. Thank you.
Installation
To install Slayer, simply drop the Slayer.jar file into your plugins directory and reload! A configuration file will be generated automatically along with two other task and string configuration files and you can use those to fine-tune your Slayer installation.
Slayer v1.2 Changelog
Updating
As of Slayer v1.1, the plugin includes a built in automatic update system so you never have to bother downloading from BukkitDev and messing with FTP again. You can set the plugin to automatically update on reload when a new update is available, or you can set it to a command (/slayer update) reserved for users with the slayer.update
permission node. By default, Slayer will automatically notify those same users when a new update is available, but you can disable that too.
It's highly recommended that you keep auto update enabled as it allows for faster bug fixes and feature releases, but it's of course completely up to you if you want to leave it set to auto or not.
Features
- Generates a
tasks.yml
file which allows you to completely customize your server's tasks.- Currently supports timed tasks, item obtaining tasks, mob killing tasks, and more to come!
- Includes 17 creatively designed default tasks (all editable of course) which allow you to start playing immediately!
- Extremely easy-to-use item processing screen to update your tasks.
- Specify item rewards for task completions (with enchantments too!).
- Rewards are saved in the players very own rewards "backpack" for easy viewing and obtaining.
- Set limits on how many tasks players can have at any given time.
- Tasks are extremely easy to choose via the Task Inventory which holds automatically generated "Task Scrolls" (/tasks).
- Sends active progress messages to players upon completing elements of their assigned tasks and lets them know when they can fully complete a task.
- Customizable messages for Slayer-related events via the generated
strings.yml
file. - If enabled, will automatically prevent players from camping at spawners for kills.
Planned Features
In-depth StatisticsMostly finished!Leveling system to allow for greater expandability.Finished!New UI-based task displaying (moving as much out of the chat as possible).Finished!Rework the reward handling to be simpler and easy to use.Finished!- Leaderboard
- Give players economy-related rewards (will work with most major economy plugins)
- More task types and features!
- Allow random rewards for tasks.
- Possible NPC support. (?)
- Allow admins to set time periods that tasks that can be used (a task can be reused after X hours).
Any planned feature listed above is subject to change or removal, though it's unlikely.
Known Issues
- Already completed tasks are available again after the server is restarted.
These issues are at the top of my priorities to fix. If you run into any more, please leave me a comment below.
Commands
Basic Commands | Description |
---|---|
/slayer | Returns some information about the Slayer plugin. |
/sl | Returns a list of available commands. |
/sl tasks | If enabled, this will give the player a list of all available tasks. |
/process | Opens the player's item processing team to allow them to submit items to their active tasks. |
/accept | Used when accepting a task selected from the Task Inventory. |
/sl my info | Gives the player some Slayer info about themselves. |
/sl my tasks | Shows the player a list of their current tasks. |
/rewards | Returns a list of the player's current available rewards. |
/sl forfeit <#> | Allows the player to forfeit an assignment and if enabled, will punish them. |
/sl leaderboard | Displays the Slayer task leaderboard. |
/sl scoreboard | Displays the Slayer task leaderboard. |
Administrative Commands | |
/slayer update | Only available to OPs and players with the slayer.update permission node. Allows for in-game automatic updating of the entire plugin. |
/sladmin | Returns a list of available administrative commands. |
/sladmin save | Forces Slayer to save its current state just as it would periodically. |
/sladmin clear entities | Clears all entities from the tracking system (used to prevent camping). |
/sladmin remove task <player> <#> | Removes the task with the specified id from the player. |
/sladmin reset player <player> | Resets the entire save for the player given back to default. |
/sladmin set points <player> <amount> | Sets the points for the player to the amount specified. |
/sladmin set level <player> <level> | Sets the level for the player to the what's specified. |
Configuration
Setting | Default | Description |
---|---|---|
Miscellaneous | ||
join_message | true | Sends quick message about Slayer when joining. |
private_scoreboard | true | (Only applies to those running a compatible CraftBukkit build.) Allows players to have a Slayer scoreboard to show them personalized stats while they play. |
level_up_firework | true | Shoots a firework above the player upon leveling up. |
Updating | ||
auto | true | Automatically updates the plugin if there is a new stable version available. |
notify | true | Notifies applicable players that there is an update available. |
Tasks | ||
limit | 5 | The maximum number of tasks a player can have at a time. |
full_list | true | Allows players to see a full list of available tasks. |
join_reminders | true | Sends the player a task reminder when joining. |
completion_firework | true | Shoots off a pretty firework at the player's location when completing a task. |
point_multiplier | 1.0 | A global multiplier for all task values. (Multiples whatever is set as the value for the task in the tasks.yml file by the specified amount. |
reusable | false | Hides completed tasks if set to false. Otherwise it will allow the player to do the same task multiple times. |
Forfeiting | ||
enable | true | Allows players for forfeit tasks after being assigned. |
punish | true | Punishes the player by removing points from their total. |
Expirations | ||
punish | true | Punishes the player by removing points from their total. |
Blocking | ||
spawner_kills | true | Blocks players from camping at spawners for kills by making those kills not count. |
Data | ||
save_freq | 300 | The frequency (in seconds) at which to save Slayer data. |
assignment_refresh_freq | 120 | The frequency (in seconds) to clear up old assignments. |
entity_tracking_period | 1200 | The time (in seconds) to keep entities spawned via spawners in memory to prevent camping. If you notice significant lag (very unlikely), try reducing this number. |
Permissions
Node | Description |
---|---|
slayer.basic | Allows for basic use of the Slayer plugin. |
slayer.admin OP Default | Gives administrative permissions to the player. |
slayer.update OP Default | Allows the user to update the entire plugin via the update command. |
Support and Suggestions
To report bugs, make suggestions, or receive support for Slayer, please leave a comment below and I will get back to you as soon as possible.
After default install, no config changes:
I can see all the tasks with /sl tasks My tasks are empty, using /sl my tasks
But when I try /sl get task
[Slayer] 'You should complete some of those tasks first...'
Any idea?
[SOLVED] : found the issue looking at source, seems it was looking for a top level config setting of task_limit, rather than limit under the tasks node. Once I added 'task_limit: 5' to the top of my file, it worked fine.
@Albatac
Thank you for the kind words and I'm glad you enjoy the plugin! :)
I'll be releasing the next version tonight (assuming Bukkit approves it quickly) and it includes quite a few fixes and some slightly enhanced functionality. Stay on the lookout for that and thanks again!
Thx Alex, will download and install it and see how it goes. Will keep checking back for v1.1 and thank you again! Maybe if you have time, can make us some other plugins for my custom Runescape server =)
@Arizrain
That definitely sounds possible! The file is under review right now for v1.0, it should be up within the hour. I'll make sure I add a way to keep people from camping spawners to the next release. Thanks for the comment!
I would love to have this on my server when its available. Can you make an option for "not around spawners?" cuz I can see some ppl camping spawners for tasks :p