Add an MMORPG feel to your server by adding races with endless customization!
Races of Thana plugin description:
Races of Thana was created to bring a more realistic RPG feel to Minecraft in the form of truly custom races rather than just adding potion effects as a permanent passive and permission set.Some of the main features include but are not limited to:
Custom racing
- Truly individual races. Give each race its own set of attributes (and custom attributes!), passives, day and night effects, resolutions, sounds, and more!
- Thanks to the ability to trigger events by time (day/night events), it has never been so easy to change the skin of people of a certain race.
Your own race selection GUI
- With full control over how the race selection GUI looks, you can make it match the style of your server.
- You can restrict access to certain races, effectively limiting their choices. Great for progression based servers and also as a perk!
- You can even create an NPC that will accept the token and let you change race.
Extremely easy to use and understand
- Just one drag and drop and you're ready to go. To set up races, simply modify the config file(s) to your liking and issue the /races reload command. That's it, literally.
- Detailed explanations are given below. All the necessary information is there.
Races of Thana plugin dependencies:
Hard dependencies: Vault Soft dependencies: Citizens * (Race Tokens / Race-Changer NPC), PlaceholderAPI (Placeholders), LuckPerms , LoreAttributesRecoded (v5.0.2) *Without Citizens, you cannot create race-changing NPCs. If you still want to use the race marker without Citizens, you will have to implement it manually.Races of Thana plugin commands:
<> = required arguments || [] = optional argumentsAliases: [traces, thanar, thanaraces, racesofthana, rot, races, race].
Races of Thana plugin configuration:
If one of the config files lacks clarity, please let me know here !Click here to view the default configuration file (config.yml).
Race files are created by default the first time you run the plugin.
Language configuration (lang.yml):
prefix: "&9Races of Thana&c:"refund-token: "&cYou were given back your token!"
give-wrong-item: "&cThat is not a race-token!"
teleport-race-spawn: "&cYou have been teleported!"
PvP config (pvpconfig.yml):
pvp-module-enabled: trueraces:
elf:
enabled: true
allies: human
human:
enabled: true
allies: elf
dummy:
enabled: true
allies: elf,human
Rights of the Races of Thana plugin:
permissions:racesofthana.gui:
default: op
racesofthana.gui.others:
default: op
racesofthana.racechat:
default: true
racesofthana.reload:
default: op
racesofthana.setrace:
default: op
racesofthana.unsetrace:
default: op
racesofthana.setspawn:
default: op
racesofthana.spawn:
default: true
racesofthana.spawn.override:
default: op
racesofthana.token:
default: op
racesofthana.token.use:
default: op
racesofthana.inspect:
default: true
racesofthana.inspect.others:
default: op
racesofthana.count:
default: true
racesofthana.preview:
default: true
racesofthana.аbout:
default: true
For each race, there is a permission node racesofthana.race.<race name>.
For example, a kitsune would require: racesofthana.race.kitsune.
As long as this value is set to true, players will not see races they don't have rights to in the GUI.
(Operators and users with * privileges will always see them).
Races of Thana plugin features:
Placeholders (support for PlaceholderAPI ):Player race: %racesofthana_player_race%
Player race display name: %racesofthana_player_race_displayname%
Total number of members of a specific race: %racesofthana_totalcount_racename% Online
count of a specific race: %racesofthana_onlinecount_racename%
(replace racename with the name of an existing race)
Configuration command placeholders:
- %player_name%- %player_displayname%
- %player_race%
- %player_race_displayname % - %totalcount_racename%
- %onlinecount_racename
%
(replace racename with the name of an existing race)
Race GUI Menu
Supports NBT data, custom flags and durability values for those who want to make custom resource packs for the race GUI menu.Permits for each race
LuckPerms compliant permission handler that supports denied permission nodes.You have the ability to prevent players from selecting (and seeing) certain races in the Race Selection GUI (Toggleable).
permissions:
- race.permission # игрок будет иметь этот узел разрешения
- -negated.permission # игрок будет иметь этот отрицаемый узел разрешения, если ваш плагин разрешения поддерживает это
Passive, day and night effects
Races can have certain potion effects during the day, at night, or at any time. If you wish, you can endow your race with night vision ONLY at night, and power ONLY during the day. This will eliminate the annoying problem associated with having night vision during the day. This will give you even more flexibility for the race you want to create! (switchable).All available potion effects can be found here .
potions:
enabled: true # whether or not to active this module
potion-bubbles: false # whether or not to show the potion bubbles around the player for these potion effects
potioneffects: # these are always active
- DAMAGE_RESISTANCE:0
day-effects: # these are only active during the day
- MOVEMENT_SPEED:0
night-effects: # these are active during the night
- DAMAGE_RESISTANCE:1
- NIGHT_VISION:0
language file
The ability to modify messages as you wish is very understandable.prefix: '&9Races of Thana&c:'
refund-token: '&cYou were given back your token!'
give-wrong-item: '&cThat is not a race-token!'
teleport-race-spawn: '&cYou have been teleported!'
Attributes
You can give each race its own set of attributes. All attributes can be found here .Adding an attribute is simply adding it to the list along with the value:
attributes:
- GENERIC_MAX_HEALTH: 18
- GENERIC_ATTACK_SPEED: 8
Races of Thana also offers unique and custom attributes! They go beyond vanilla restrictions and can be used just like vanilla attributes.
The currently available user attributes are:
- SOFT_LANDING Percentage
of feather fall without using an enchantment. If you set it to 50, 50% of the fall damage will be negated. Set it to 100 and 100% fall damage will be negated.
An example use case for reducing 80% fall damage:
attributes:
- SOFT_LANDING: 80
- VAMPIRE
Ignition (damage) when being outdoors under the sun's rays. The value is the amount of damage per second.
Usage example:
attributes:
- VAMPIRE: 2
- NYCTO
Nyctophobia is the extreme fear of the night or the dark. This attribute is the opposite of lifesteal: When the player's area is below light level 4, it deals damage to the player. The value is the amount of damage per second.
Usage example:
attributes:
- NYCTO: 2
forced race
If you want your players to choose a race when joining, you can do so by simply setting force-race-on-join to true in config.yml.If you don't, that's fine too. Set it to false, I won't judge you.
force-race-on-join: true
Sounds of Pain*
Custom race sounds! Are you a cat-like creature and meow when you get hit? Set the value to ENTITY_CAT_HURT. Want to make your Werewolf sound like a Wolf? Use ENTITY_WOLF_HURT!The sound of pain can be changed for each race to make it feel like you are really a representative of that race, as specified in the config according to the selected sound.
The default value is set to the player's default pain sound.
death-sound: ENTITY_CAT_DEATH
Sounds of Death*
Depending on which race you belong to, you can have your own death sound! Cat-like creatures can play the death sound of an ocelot, while others can play the sound of a dragon's death. Cool, right?The default value is set to the player's default death sound.
hurt-sound: ENTITY_CAT_HURT
* You can change the volume of both of these sounds by changing the value of sound-volume (default 0.5) in the config.yml file.
Values not in the range 0.0 (0%) to 1.0 (100%) will be ignored.
Commands Executed on Race Change/Select and Day/Night Time
When selecting a race, you can execute self-defined commands depending on which race you have become.
You can use commands from any plugin and execute them here. Everything from starter kits to just useful information. (Switchable).
For example, do you have the LibsDisguises plugin? Or another plugin that complements Race that you specifically made in your config file? Use this to your advantage. A perfect example would be to change the skin of the Werewolf race to the skin of a real Werewolf at night, instead of just wearing your main skin all the time.
Change back into your original skin when daylight hits to make it feel like you're actually dressing up as a werewolf. (switchable).
This is just a small example of what you can do with the day and night commands. There are a lot of possibilities. From granting bonus effects for a certain amount of time to disabling a race's ability to fight in the dark with a PvP plugin.
commands:
enabled: true # enable/disable this module
race-change-commands: # commands executed when the player becomes this race
- bc %player_name% became a %player_race_displayname%!
race-commands-day: # commands executed when it turns day in the world this player is in
- tellraw %player_name% {"text":"The sun has risen","color":"red"}
race-commands-night: # commands executed when it turns night in the world this player is in
- tellraw %player_name% {"text":"The night has fallen","color":"red"}
Damage / Immunity
You can change the way each race interacts with water (or out of water) and lava (+fire, optional).damage:
enabled: true # enable this module
water-damage: false
out-of-water-damage: false
lava-damage: true # do we want to alter the way this race interacts with lava?
affect-fire: true # do we want the race to react to fire (and fire ticks) the same way as lava
water-damage-amount: 2
out-of-water-damage-amount: 2
lava-damage-amount: -1 # Setting damage to -1 makes this race immune to it
Race tokens
These are items that can be used to change race. A certain amount of these items may be required to change the race. You may have 1 token, or you may need 5 tokens to change race. These "tokens" are physical items that you can change to your liking in a configuration.The tokens also support Durability & Item-Flags to further customize the look and feel of your token.
It also supports Citizens 2 with a custom racial tag that allows you to specifically force an NPC to take a racial token from you to give you the ability to change race without having to use a plugin to assign an NPC team. This will make the RPG experiment a lot better instead of having to use the command to redeem your race token if you don't like it.
You can do this by creating an NPC and assigning the racechanger property to it. (/trait racechanger) It will take the token from the player and open the race select GUI so the player can change their race.
You can enable/disable race tokens in the configuration by setting race-token-enabled to true (enable) or false (disable).
race-token:
display-name: '&6Race Token' # display name of the item
material: GLOWSTONE_DUST # item's material
durability: 11 # durability (for texture packs)
lore: # item's lore
- '&eGive this to the race npc'
- '&eto change your race!'
item-flags: # item flags
- HIDE_ATTRIBUTES
All available material types can be found here , and all item flags can be found here . You can read more about setting up the GUI below (Setting up the GUI and Word of Knowledge).
PvP module
Player combat can go the way you want when it comes to clashing races with other races.With the simple yet powerful config above, you can now create allies!
We will go through this config step by step:
pvp-module-enabled: true/false
Do you want to enable this module/feature? If it is disabled, it will ignore everything else.
races:
werewolf: // The race you're modifying
enabled: false // Whether or not this particular section (per race) should be enabled or not (false by default)
allies: "example1,example2" // The race(s) it'll be unable to hit divided by a comma
If race 1 has race 2 as an ally, but race 2 does not have race 1 as an ally, race 1 will not be able to attack race 2, but race 2 will still be able to attack race 1!