Rolecraft - Wiki

Video Tutorial

Playlist [German]:


  1. Download Rolecraft.
  2. Put the file in to your plugins folder.
  3. Start your server.
  4. Done!
Do not install Rolecraft at your main server. Try it at a test server before.


Video Tutorial [German]

Go into the Classes folder and open the classes.yml.
To create a new class follow these steps:
  1. Copy the example class from here.
  2. Paste it below the your other classes.
  3. Change the stat values to your wishes.
  4. Add/remove spells.
E.g. 'xox: SwordSpell' means that the player has to perform a left-right-left click to cast the SwordSpell.
Tip: Consider that Warriors, Mages etc. will use 'left-click' to hit something, while archers use 'right-click' to shoot.
Spells for archers should start with an x and spells for all others should start with an o.

Mobs & Items

There is a video tutorial about how to use the Mobs & Items Creator.
It is in German but I guess you will understand it anyway.

If you created an item you can receive it in game via command:
/item item_name [level]

To spawn mobs you have to create a mob-spawn-zone (msz) by typing:
/msz create mob_name  radius  amount
Now the given amount of the mob will spawn inside the radius around your location.
Tip: Radius should be larger than amount.   (Does not have to be!)


To create a pet, simply create a mob with the Mobs & Items Creator and set pet to true.
Now you can create spawn eggs with the command /pet create mob_name  custom_name.


How to create your own spells!

If you are not an archer and you want to cast a spell with a cast-code which starts with x e.g. xox, then you have to press shift + left click to start the cast-code.
The same thin if you are an archer and you want to cast a spell with a cast-code which starts with o, then you have to press shift + right click to start the cast-code.
Generally you need to hold a custom weapon (like a bow, or a wand) in your hand to cast spells.

List of spells without description:
  1. ArmorSpell
  2. ArrowHail
  3. BlackArmor
  4. Blink
  5. Explosion
  6. Flash
  7. SlowSpell
  8. SwordSpell
  9. TripleShot


Example Quest!
To assign a quest to a villager, type /vg quest quest_name

Open plugins/Rolecraft/Config/Quests and create a new YAML file inside.
The name of the YAML file will be the name of your quest.
Inside the quest file:

Just give a brief description of what the player has to do to finish the quest.

If you made the quest for a certain class, you can name it here.
If not just fill in 'none'.

The minimum level a player has to be to start the quest.

If it is required to finish another quest before starting this one, you can name it here.
If not just fill in 'none'.

This has to be the same format as in the mob files.
E.g. 10%1-2 would give 10 percent of the experience you need to get from level 1 to 2.

An item the player receives during the quest.
If you set 'target-villager-give' to false, the player will receive this item at the beginning of the quest.
If you set it to true, the player will receive it when he meets the target-villager.
You can just leave this blank.

After finishing the quest, these items (can be a list) will be given to the player.

These items (can be a list) have to be collected by the player to finish the quest.
If you set 'target-villager-take' to true, the target villager will take these items.
So the player would have to collect them before he goes to the target villager.

Read about conversations first!
If a villager has a quest offer for a player and the player clicks the villager the message with id 0 will be displayed.
Now if this message was a question, the player can answer by left click (yes) or right click (no). If he answers yes the next message (with id 1) will be displayed.
If the answer is no the message with id matching 'target' will be displayed. If you set the type of a message to END, the conversation will be over after this message.
The 'target-villager-message' decides which message should be displayed, when the player meets the target villager.

The id of the message which should be displayed if the quest is finished!

The if of the message which should be displayed if the quest is not yet finished!

If you type the name of another villager here, the player has to go to this villager to finish the quest.
Maybe you want him to bring some items (collect-items) to this villager, or this villager has an item (receive-item) that you need!

see 'collects'

see 'receive-item'

The id of the message the target villager should start with.

The id of the message which should be displayed if the quest is completed.

The id of the message which should be displayed if the quest is not completed.


To create a villager type /vg create villager_name.
To remove a villager, a priest or a trader type /vg remove villager_name.
Villagers can give quests to players. To assign one or more quests to a villager type /vg quest quest_name.


Guards kill monsters if they come to close. To create a guard type /guard guard_name.
You can equip the guard by typing /guard equip. The guard will copy your equipment (item in hand and armor).


Priest can change a player's class. If you name your priest Warrior by typing /priest create Warrior,
your players will be able to switch their class to Warrior by talking to the priest.


Traders can sell or barter items with players.
  1. Take the item you want to sell in your hand.
  2. Type /trader add price

  1. Put the item you want to sell in the third slot.
  2. Put the item you want to have in exchange in the first slot.
  3. If you want more, put it in the second slot.
  4. Type only /trader add.


First of all: Every message should be similar to this format:


Where MESSAGE is the actual message, which will be sent to players.
A QUESTION has to be answered to continue the conversation.
Left click means Yes! and right click means No!
END  just clarifies that the conversation is over after this message.
TARGET is the message which should be sent if the answer to a question is no!
If your TYPE is not QUESTION you don't need a TARGET.

E.g. these lines in a quest file:
  '0': 'Hello my Name is Peter#TEXT'
  '1': 'Do you need some help?#QUESTION#4'
  '2': 'OK, go to the website to find out ...#TEXT'
  '3': 'OK, everything clear?#QUESTION#2'
  '4': 'OK, see you!#END'

or as command for a Villager: (quotation marks are important)
/trader talk 0 "Hello my Name is Peter" TEXT
/trader talk 1 "Do you need some help?" QUESTION 4
/trader talk 2 "OK, go to the website to find out..." TEXT
/trader talk 3 "OK, everything clear?" QUESTION 2
/trader talk 4 "OK, see you!" END

Would cause this: