Customs
About Custom Professions
Overview
Have you ever wanted to have your own custom skills like in MCMMO but found out it was all hard-coded into the plugin making it impossible to make your own without coding your own? This plugin aims to change that. You take a config file generated by this plugin and follow the example provided. When you type /cpro it displays your custom skills you've configured in a stat window similar to how /mcstats in MCMMO does.
Features
This plugin is meant for using with specific plugins that allow console commands to be executed. Here are the commands as follows:
- /cpro - Displays all configured skill names in a window. Type it again to make it vanish.
- /cpro <skill> - As an example, type /cpro Weaponsmithing and it will tell you what you will get next level. This is according to the config.
- /cpro <skill> exp - Shows in a window the status of the skill typed in.
- /cpro <show|hide> - Toggles exp gain/loss messages. Hidden by default. Hidden skills always hidden.
- /cpa <player> <skill> <exp> - This command is only for the console. It is the only way to raise a player's skill exp by an amount. Look below for some ideas to use this plugin with. The key is to be creative.
- /cpd <player> <skill> <exp> - This command is only for the console. Decrease exp command.
- Notification to the player they received experience for a specific skill -> 0.3.0+ of Custom Professions
- Notification to the player that they levelled up -> 0.3.0+ of Custom Professions
- Console commands performed each level that can, for example, be permission plugin commands being added to an individual player on level up. -> 0.3.0+ of Custom Professions
- Console commands granted by levels are customizable -> 0.3.0+ of Custom Professions
- Added reload command /cproreload (console only) -> 0.5.0+
- Hidden Skills -> 0.6.0+
Plugins To Try Custom Professions With
This is a list of some of the plugins that allow console commands:
- ItemSlotMachine -> Ever wanted a Gambling skill? This is your chance to create one!
- Craftbook -> Custom Crafting and Command Items that grant skill points. Cool!
- Skript -> Grant skill exp for Vanilla Recipes, make your own permissions and commands.
- OtherDrops -> Get skill exp from killing Mobs.
- Command Signs
- LoginCommand -> Grant first timers experience in a skill of your choice!
- Buycraft -> Players want to get more skill points in donation packages? This would be the way to do it!
- PointsOfInterest -> Right click signs that give a reward once and only once per player.
- Phatloots -> Open chests with timers that can grant skill points in skills like Treasure Hunting or other existing skills of your choice.
- MagicSpells -> Make spells that use commands after being executed granting you experience in your custom Magic skill.
- LoreLocks -> Lock pick chests, level up your lock picking skill and unlock level 2 and higher lock picks for cracking those chests open!
- TreasureChest -> Alternative to Phatloots.
- EpicBossRecoded -> Kill a boss and get rewarded with a special skill for killing it or make it give other skill points instead.
- Quests -> Got some high level quests set up? Reward your players with a Quest skill or reward them with points in other skills.
- qQuests -> Grant permission for special quests after reaching a certain level in a skill.
- RecipeManager -> A plugin that focuses more on custom crafting. Use this to control your recipes a bit more.
- Campaign -> Make it so that certain level ups grant missions from Campaign!
- Citizens -> Make a speech skill for talking to NPCs and unlocking new conversation options!
- BlockNotif
- Player Auras -> Permissions for abilities that grant a beacon-like potion effect to the player and others around them. Useful for class specific abilities.
- HG Abilities -> Like the abilities of Hungergames but want them to be unlocked through skills? Use HG Abilities in combination!
This is a list of them that work from extensive testing:
- Phatloots
- PointsOfInterest
- Skript
- Craftbook
- Command Signs
- Otherdrops
- TreasureChest
- EpicBossRecoded
- LoreLocks
Plugins that Grant Cool Abilities
SimpleSound <- Play a sound when a player levels up in a skill of your choice!
MobHunting <- When the perms are added, you can have a working Mob Hunting skill that unlocks things like killstreaks and bonuses as you level it!
EssentialsChat bug with Lorelocks is now fixed in 0.5.0 of CustomProfessions
If you find any plugins that also work in combination with Custom Professions, leaving a comment is quite welcome. Also be sure to comment if you find that a plugin on the tested plugins list is not working for you.
Are you a plugin developer and believe your plugin should be featured on the list? Be sure to comment below with any cool features that can be used with Custom Professions and we'll add it to this list!
This is a list of plugins that will work very well for the example skills provided in the generated config.yml:
- Craftbook in particular has a feature called CustomCrafting and it allows you to run a command after you make an item (pulling it out of the results box). Since the only way to add a level to a skill is by the console command listed above, this is actually very useful for making custom crafting skills possible. You will also need to take advantage of the custom permission nodes that crafting recipes can require of a player to have in order to make the recipe. You can find the wiki page here http://wiki.sk89q.com/wiki/CraftBook/Custom_crafting#Craft_Actions
- Skript lets you write mini-plugins. If you wanted to make a magic skill system, this might be the best way to do it. First, you make your config for Custom Professions and setup the levels for each tier of magic that you want a player to reach. This is where it might get tough because you have to learn how to use Skript for this but it will end up being worth it. With Skript, you can store variables, write new commands, make new permissions, and a lot more. You're going to have read up on it here http://dev.bukkit.org/bukkit-plugins/skript/
There are no permissions required for Custom Professions but the skill exp editing command is console only so you should have no problems.
Upcoming Features
- Waiting for a Recommended Build to update.
- Attempting to add perms for each custom made.
Video
How to make a skill and see it in action
Example Configs
Leave a comment or PM The01Guy/Lukethenuke for any questions you may have.
@The01Guy
Yeah, I realized about an hour after I posted that, that I made the fundamental error. Sorry to waste your time. I'll wait patiently for your update to add this to my server. :)
@elyssah
The error is because your are running mismatching versions of bukkit. The plugin is 1.7.2-R0.3 API and it looks like you are trying to run CraftBukkit-1.7.9. I wanted to wait for a Beta build before updating the plugin but I will look into updating.
If your permissions plugin can accept console based commands then yes it will work. An example would be "pex user add some.permission.here" under the up_commands in the config then maybe "pex user remove some.permission.here" under the down_commands.
I'm getting an error:
[15:47:58 INFO]: This server is running CraftBukkit version git-Bukkit-1.7.2-R0. 3-59-g6efeddf-b3074jnks (MC: 1.7.9) (Implementing API version 1.7.9-R0.1-SNAPSHO T) [15:47:58 ERROR]: Could not load 'plugins\Customs.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError : guy/theoneandonly/customs/Customs : Unsupported major.minor version 51.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:131) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager. java:328) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager .java:251) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at org.bukkit.craftbukkit.v1_7_R3.CraftServer.loadPlugins(CraftServer.ja va:357) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at org.bukkit.craftbukkit.v1_7_R3.CraftServer.<init>(CraftServer.java:31 9) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at net.minecraft.server.v1_7_R3.PlayerList.<init>(PlayerList.java:68) [c raftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at net.minecraft.server.v1_7_R3.DedicatedPlayerList.<init>(SourceFile:14 ) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at net.minecraft.server.v1_7_R3.DedicatedServer.init(DedicatedServer.jav a:126) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java :436) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6 28) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] Caused by: java.lang.UnsupportedClassVersionError: guy/theoneandonly/customs/Cus toms : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) [?:1.6.0_26] at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [?:1.6.0 _26] at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [?:1.6.0_26]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14 1) [?:1.6.0_26] at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) [?:1.6. 0_26] at java.net.URLClassLoader.access$000(URLClassLoader.java:58) [?:1.6.0_ 26] at java.net.URLClassLoader$1.run(URLClassLoader.java:197) [?:1.6.0_26] at java.security.AccessController.doPrivileged(Native Method) [?:1.6.0_ 26] at java.net.URLClassLoader.findClass(URLClassLoader.java:190) [?:1.6.0_ 26] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:77) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:62) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at java.lang.ClassLoader.loadClass(ClassLoader.java:306) [?:1.6.0_26] at java.lang.ClassLoader.loadClass(ClassLoader.java:247) [?:1.6.0_26] at java.lang.Class.forName0(Native Method) [?:1.6.0_26] at java.lang.Class.forName(Class.java:247) [?:1.6.0_26] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav a:40) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:127) [craftbukkit-1.7.9.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks] ... 9 more
Will this plugin work with a permissions plugin? I would like to add new permissions to a player based on their skill XP.
@Murkrage
With this plugin alone that is not possible. But I think that if you use another plugin maybe Craftbook you can do that.
This seems like the plugin I am definitely going to be using to make professions on my server. Is it possible to make restrictions to a professions?
Basically what I mean is, let's say we have a woodworker and a blacksmith, I don't want the woodworker to be able to make iron doors, but only wooden doors. The blacksmith, however, would only be able to make iron doors and not wooden doors etc etc.
Is it possible to do something like that?
@Asthereon
Oh okay so the plugin is counting level 0 as a level so it is showing that there is one more level then there is meant to be. If that is the problem then I think I have a fix for it. Please PM me your contact info so I can send you this update. I have also updated the API version to the latest beta version. So after a quick test to make sure it works correctly I will upload the new one.
@The01Guy
Sure thing. I found the issue only occurs when I set a level 0 skill, for displaying what skill a player has by default. Just let me know and I'll test it out.
@Asthereon
Thank you for bringing this issue to me. Yes it is a bug. I though I handled this and will begin fixing this. Would you be willing to test the fix on your server to help me make sure it is fixed?
In my time using this plugin, I have to say, it's exactly what I've been looking for. My only issue is it seems that whenever a player gains more experience after they have reached the maximum level in the config file, it displays that they are one level higher than the max. I.E. the max in my config file is 100, but once they get to 100 and gain more experience, it reads as 101. Is this a bug, and if so, will there be a fix for it?
PLease, add support for MythicMobs. It's a sucessor to EpicBoss, since the developer has given up with that plugin.
I'd like to see the option to give certain ranks certain classes. This to create classes and professions in a way that works well with other plugins.
@Finelarme2
If you had the skill set to write a permission file for a server then you should be able to use this plugin.
As always this kind of plugins are too complicate.. It's very sad.
@The01Guy
Thank you so much, this will greatly enhance my server many thanks to you my friend =D
@Arstan13
Okay I will get started right away. I don't think it will take all that long. I don't think I will be uploading it to this site rather I will just send it to you in some other way. Unless other people would like it, if so please leave a comment.
Really neat idea!
Thanks for this plugin! I am sure it will be on my top 10 now.
@The01Guy
That would be absolutely awesome. You would make my day good sir =D
@Arstan13
I can try this if you want but there will be no scoreboards as they were not in 1.4.7. Everything would have to be done thru the chat box. All the basic concepts would still be there just no visual sidebox to see them. So, if you really want that please post again here and I will see what I can do for you.
Hello, this may get ignored by its very nature but is it possible to get this working for a 1.4.7 server? Just any tips or hints to get it working or a flat out no will be just fine, i love the concept of the plugin but cannot bring myself to update past 1.4.7. I am on a legacy server and find i am in dire need of your plugin. The amount of love could not be expressed should the outcome end favorably =D Awesome plugin, must have, my itch is spiraling out of control