FreeRPG [1.15-1.16.4] 1.4.19

An RPG plugin that adds skills, leveling, abilities, and more!

  1. suppusmac
    Native Minecraft Version:
    1.16
    Tested Minecraft Versions:
    • 1.15
    • 1.16
    Source Code:
    https://github.com/customjack/Minecraft_FreeRPG_1.16.git
    FreeRPG
    Description:
    FreeRPG is a spigot 1.15+ plugin that adds an RPG skill system to minecraft. Inspired by Mcmmo, the goal of FreeRPG is to offer a free Mcmmo alternative. Each skill has a skill tree, with an additional global skill tree. The skill trees can be accessed with a very simplistic, Hypixel inspired GUI accessed using /freeRPG.

    FreeRPG.gif

    Getting Started:

    To install on any spigot server, simply drag the freerpg-{version}.jar file into the plugins folder.

    To get started playing, type "/frpg". This will bring up the Skills GUI seen in the gif above. Clicking on any of the icons will take you to that skill's skill tree. Hovering over any of the icons or clicking on them will tell you more about the perk.

    Earning experience is straightforward, mine to get mining experience, cut trees to get woodcutting experience, etc. By the default config, every level you will gain 1 passive token which can be invested in the passive skills represented by the dyes on the left. Every 100 levels, you will gain 1 skill token which can be invested in the skills represented by the terracotta skill tree. Every 1000 levels, you will gain 1 global token that can be used in the global skill tree.

    To activate abilities, in most cases you can right click the corresponding tool then break a block. The 10 abilities are as follows:

    Big Dig: Activated by right clicking a shovel then breaking a block. Increases dig speed drastically.
    Timber: Activated by right clicking an axe then cutting a log. Will cause all logs above to break.
    Berserk Pick: Activated by right clicking a pickaxe then breaking a block. Will increase mining speed drastically.
    Natural Regeneration: Activated by right clicking a hoe then breaking a crop. Automatically replants all crops at a random growth stage.
    Super Bait: Activated by left clicking a fishing rod then fishing. Fish are instantly pulled out of the water, without waiting to get a bite.
    Rapid Fire: Activated by left clicking a bow. Arrow shots come out at maximum speed no matter how far the bow is pulled back.
    Spur Kick: Activated by right clicking most items while on a horse then left clicking most items. Grants your horse a temporary speed boost.
    Swift Strikes: Activated by right clicking a sword then hitting an entity. Your swings no longer have a cooldown.
    Stone Solid: Activated by right clicking with an empty hand then hitting an entity. Grants resistance at the cost of being slowed down.
    Great Axe: Activated by right clicking an axe then hitting an entity. Your attacks become an AOE strike that deals damage in a certain radius.

    Player Features:
    • Intuitive experience gain
    • 3 different token types to be invested in each skill tree
    • Tree Feller as an ability
    • Fishing system completely reworked, with many new drops
    • A grappling hook perk
    • New potion recipes, such as Haste and Resistance
    • Leaves drop table expanded
    • Custom crafting recipes for mob eggs
    • Custom crafting recipes for tipped arrows, without requiring dragon's breath
    • Ability to check horse stats
    • Much more detailed in the information page
    Admin Features:
    • Experience curve control
    • Complete experience drop control
    • Ability to tweak player token gain
    • Ability to modify drop items and rates
    • Permissions for earning exp, using abilities, and every command
    • Ability to set level caps
    • Ability to control custom recipes inputs and outputs
    • Ability to control the custom potions effect, duration, ingredient, and color
    • More to come soon...
    Config, Permissions,Languages and Use:
    config.yml download
    languages.yml download
    advancedConfig.yml download
    Code (Text):

    permissions:
      freeRPG.*:
        description: Gives access to all FreeRPG commands
        default: op
        children:
          freeRPG.standardPlayer: true
          freeRPG.GUI: true
          freeRPG.changeStats: true
          freeRPG.getEXP: true
          freeRPG.useAbilities: true
      freeRPG.standardPlayer:
        description: Grants the player all recommended permissions (for a common player)
        default: true
        children:
          freeRPG.GUI: true
          freeRPG.getEXP: true
          freeRPG.getSouls: true
          freeRPG.useAbilites: true
          freeRPG.canRepair: true
          freeRPG.canSalvage: true
          freeRPG.fish: true
          freeRPG.info: true
          freeRPG.help: true
          freeRPG.leaderboard: true
          freeRPG.toggles: true
      freeRPG.GUI:
        description: Gives access to all GUI commands
        default: true
        children:
          freeRPG.mainGUI: true
          freeRPG.configGUI: true
          freeRPG.craftGUI: true
          freeRPG.confirmGUI: true
          freeRPG.skillsGUI: true
          freeRPG.skillConfigGUI: true
      freeRPG.toggles:
        description: gives access to all toggle commands
        default: true
        children:
          freeRPG.toggleFlint: true
          freeRPG.toggleSpeed: true
          freeRPG.togglePotion: true
          freeRPG.toggleFlamePick: true
          freeRPG.toggleGrapple: true
          freeRPG.toggleHotRod: true
          freeRPG.toggleVeinMiner: true
          freeRPG.toggleMegaDig: true
      freeRPG.changeStats:
        description: Gives access to all stat changing commands
        default: op
        children:
          freeRPG.giveEXP: true
          freeRPG.setLevel: true
          freeRPG.statReset: true
          freeRPG.setSouls: true
          freeRPG.setTokens: true
          freeRPG.saveStats: true
          freeRPG.setMultiplier: true
      freeRPG.getEXP:
        description: Allows player to gain every type of EXP
        default: true
        children:
          freeRPG.diggingEXP: true
          freeRPG.woodcuttingEXP: true
          freeRPG.miningEXP: true
          freeRPG.farmingEXP: true
          freeRPG.fishingEXP: true
          freeRPG.archeryEXP: true
          freeRPG.beastMasteryEXP: true
          freeRPG.swordsmanshipEXP: true
          freeRPG.defenseEXP: true
          freeRPG.axeMasteryEXP: true
          freeRPG.repairEXP: true
          freeRPG.agilityEXP: true
          freeRPG.alchemyEXP: true
          freeRPG.smeltingEXP: true
          freeRPG.enchantingEXP: true
      freeRPG.useAbilities:
        description: allows the player to use all skill abilities
        default: true
        children:
          freeRPG.diggingAbility: true
          freeRPG.woodcuttingAbility: true
          freeRPG.miningAbility: true
          freeRPG.farmingAbility: true
          freeRPG.fishingAbility: true
          freeRPG.archeryAbility: true
          freeRPG.beastMasteryAbility: true
          freeRPG.swordsmanshipAbility: true
          freeRPG.defenseAbility: true
          freeRPG.axeMasteryAbility: true
      freeRPG.mainGUI:
        description: allows user to access main GUI with all skills
        default: true
      freeRPG.skillsGUI:
        description: allows user to access a skill's GUI (skill tree)
        default: true
      freeRPG.configGUI:
        description: allows user to access the configuration GUI
        default: true
      freeRPG.craftGUI:
        description: allows user to access the GUI that shows crafting recipes
        default: true
      freeRPG.confirmGUI:
        description: allows user to access the cofirmation GUI when refunding skills
        default: true
      freeRPG.info:
        decription: Allows the user to access the link to the info google document
        default: true
      freeRPG.help:
        description: Allows the user to see all FreeRPG commands
        default: true
      freeRPG.leaderboard:
        description: Allows the user to access the leaderboard command, showing the user the top players in each skill
        default: true
      freeRPG.enchantItem:
        descriptin: Allows the user to access the enchant item command
        default: op
      freeRPG.giveEXP:
        decription: Allows the user to give FreeRPG experience to any other player, including themselves
        default: op
      freeRPG.setLevel:
        description: Allows the user to set the FreeRPG skill level of any skill for any player
        default: op
      freeRPG.statReset:
        description: Allows the user to reset any FreeRPG skill of any player
        default: op
      freeRPG.setMultiplier:
        description: Allows the user to set any player's personal EXP multiplier
        default: op
      freeRPG.diggingEXP:
        description: Allows player to get digging experience
        default: true
      freeRPG.woodcuttingEXP:
        description: Allows player to get woodcutting experience
        default: true
      freeRPG.miningEXP:
        description: Allows player to get mining experience
        default: true
      freeRPG.farmingEXP:
        description: Allows player to get farming experience
        default: true
      freeRPG.fishingEXP:
        description: Allows player to get fishing experience
        default: true
      freeRPG.archeryEXP:
        description: Allows player to get archery experience
        default: true
      freeRPG.beastMasteryEXP:
        description: Allows player to get beastMastery experience
        default: true
      freeRPG.swordsmanshipEXP:
        description: Allows player to get swordsmanship experience
        default: true
      freeRPG.defenseEXP:
        description: Allows player to get defense experience
        default: true
      freeRPG.axeMasteryEXP:
        description: Allows player to get axeMastery experience
        default: true
      freeRPG.repairEXP:
        description: Allows player to get repair experience
        default: true
      freeRPG.agilityEXP:
        description: Allows player to get agility experience
        default: true
      freeRPG.alchemyEXP:
        description: Allows player to get alchemy experience
        default: true
      freeRPG.smeltingEXP:
        description: Allows player to get smelting experience
        default: true
      freeRPG.enchantingEXP:
        description: Allows player to get enchanting experience
        default: true
      freeRPG.diggingAbility:
        description: allows the player to use the digging ability
        default: true
      freeRPG.woodcuttingAbility:
        description: allows the player to use the woodcutting ability
        default: true
      freeRPG.miningAbility:
        description: allows the player to use the mining ability
        default: true
      freeRPG.farmingAbility:
        description: allows the player to use the farming ability
        default: true
      freeRPG.fishingAbility:
        description: allows the player to use the fishing ability
        default: true
      freeRPG.archeryAbility:
        description: allows the player to use the archery ability
        default: true
      freeRPG.beastMasteryAbility:
        description: allows the player to use the beast mastery ability
        default: true
      freeRPG.swordsmanshipAbility:
        description: allows the player to use the swordsmanship ability
        default: true
      freeRPG.defenseAbility:
        description: allows the player to use the defense ability
        default: true
      freeRPG.axeMasteryAbility:
        description: allows the player to use the axe mastery ability
        default: true
      freeRPG.canRepair:
        description: allows player to use iron blocks to repair
        default: true
      freeRPG.canSalvage:
        description: allows player to use gold blocks to salvage
        default: true
      freeRPG.fish:
        description: players with this permission will use freeRPG's changed fishing system
        default: true
      freeRPG.setSouls:
        description: allows player to set other players (including themselves) soul stat
        default: op
      freeRPG.setTokens:
        description: allows player to set other players (including themselves) token stats (global, skill, passive)
        default: op
      freeRPG.getSouls:
        description: allows player to earn souls after unlocking the Soul Harvest Perk
        default: true
      freeRPG.toggleFlint:
        description: allows to player to toggle the flint finder perk
        default: true
      freeRPG.toggleSpeed:
        description: allows to player to toggle the graceful feet perk
        default: true
      freeRPG.togglePotion:
        description: allows to player to toggle the potion master perk
        default: true
      freeRPG.toggleFlamePick:
        description: allows to player to toggle the flame pickaxe perk
        default: true
      freeRPG.toggleGrapple:
        description: allows to player to toggle the grappling hook perk
        default: true
      freeRPG.toggleHotRod:
        description: allows to player to toggle the hot rod perk
        default: true
      freeRPG.toggleVeinMiner:
        description: allows to player to toggle the vein miner perk
        default: true
      freeRPG.toggleMegaDig:
        description: allows to player to toggle the mega dig perk
        default: true
      freeRPG.saveStats:
        description: allows player to save any or all player's stats to their stat file
        default: op
      freeRPG.skillConfigGUI:
        description: allows player to open the config gui for each individual skill
        default: true
      freeRPG.statLookup:
        description: allows player to look up any player's stats
        default: true
     

    Commands:
    GUI COMMANDS:
    /frpg or /frpg skills - Opens skills GUI
    /frpg globalGUI - manually opens the global skill tree GUI
    /frpg skillTreeGUI [skillName] - manually opens a skill tree GUI
    /frpg configurationGUI - manually opens the configuration GUI
    /frpg skillConfigGUI [skillName] - manually opens the a skill's configuration GUI

    EXPERIENCE/LEVELING COMMANDS:
    /frpg expGive [playerName] [skillName] [amount] - gives any player experience in any skill
    /frpg setLevel [playerName] [skillName] [newLevel] - sets the skill level for any skill of a player
    /frpg statReset [playerName] [skillName] - resets a skill for a given player (this will not refund any tokens or experience)
    /frpg setSouls [playerName] [amount] - Sets the amount of souls a player has
    /frpg setTokens [playerName] [skillName] [skill/passive] [amount] OR
    /frpg setTokens [playerName] global [amount]
    - sets the amount of tokens a player has in a particular stat
    /frpg saveStats [playerName] OR /frpg saveStats - saves a singular player or all players' stats to their stat file. Will update the leaderboard
    /frpg setMultiplier [playerName] [multiplier] - Sets the player's personal EXP multiplier (this stacks with perks, the server EXP multiplier, and basically every other multiplier).
    /frpg addMultiplier [playerName] [decimal] - Changes the player's personal EXP multiplier by some positive or negative decimal (this stacks with perks, the server EXP multiplier, and basically every other multiplier).


    TOGGLE COMMANDS:
    /frpg flintToggle - manually toggles the "flint finder" perk
    /frpg speedToggle - manually toggles the "graceful feet" perk
    /frpg potionToggle - manually toggles the "potion master" perk
    /frpg flamePickToggle - manually toggles the "flame pick" perk
    /frpg grappleToggle - manually toggles the "grappling hook" perk
    /frpg hotRodToggle - manually toggles the "hot rod" perk
    /frpg veinMinerToggle - manually toggles the "vein miner" perk
    /frpg megaDigToggle - manually toggles the "mega dig" perk
    /frpg leafBlowerToggle - manually toggles the "leaf blower" perk
    /frpg holyAxeToggle- manually toggles the "holy axe" perk

    OTHER COMMANDS:
    /frpg statLeaders [skillName] [page #] - produces list of highest level players in a particular stat
    /frpg enchantItem [level] - tries to enchant an item in your hand with a given enchantment level
    /frpg help [page #] - displays all the information above in game
    /frpg info - sends the player a message with a link to a google doc that outlines every skill and general mechanics
    /frpg resetCooldown [playerName] [skillName] - sets a skill's current cooldown to 0 seconds
    /frpg statLookup [playerName] - shows the user all of the searched player's stat levels and server ranks

    Placeholders:
    Code (Text):

    %FreeRPG_globalLevel%
    %FreeRPG_globalTokens%
    %FreeRPG_personalMultiplier%
    %FreeRPG_totalSkillTokens%
    %FreeRPG_totalPassiveTokens%
    %FreeRPG_souls%
    %FreeRPG_totalEXP%
    %FreeRPG_playTime%
    %FreeRPG_globalLevelRank%
    %FreeRPG_playTimeRank%

    %FreeRPG_<skillName>_Level%
    %FreeRPG_<skillName>_EXP%
    %FreeRPG_<skillName>_passiveTokens%
    %FreeRPG_<skillName>_skillTokens%
    %FreeRPG_<skillName>_Multiplier%
    %FreeRPG_<skillName>_EXPtoNext%
    %FreeRPG_<skillName>_rank%

    %FreeRPG_leaderboard_<leaderboardName>_<rank #>_UUID%
    %FreeRPG_leaderboard_<leaderboardName>_<rank #>_playerName%
    %FreeRPG_leaderboard_<leaderboardName>_<rank #>_sortedStat%
    %FreeRPG_leaderboard_<leaderboardName>_<rank #>_stat2%

    All the following leaderboard placeholders are more convenient expressions for the placeholders above:
    %FreeRPG_leaderboard_<skillName>_<rank #>_exp%
    %FreeRPG_leaderboard_<skillName>_<rank #>_level%
    %FreeRPG_leaderboard_global_<rank #>_totalLevel%
    %FreeRPG_leaderboard_global_<rank #>_totalEXP%
    %FreeRPG_leaderboard_playTime_<rank #>_totalTimePlayed%

    <leaderboardName> is any of the following:
    - Any skillName, must be one word (ex. "beastMastery")
    - "PlayTime"
    - "global"

    Adding "_formatted" to the end of most decimal placeholders will format the string to contain commas. For examples if:
    %FreeRPG_leaderboard_mining_2_level% returns 12345 then
    %FreeRPG_leaderboard_mining_2_level_formatted% will return 12,345
     

    Compatibility:
    FreeRPG should be compatible with most popular plugins. It has been tested with Essentials, Bssentials, World Edit, Worldguard, Silk Spawners, and PlaceholderAPI and yielded no issues. It has additionally been tested with Multiverse and has no major issues. However, player profiles for different worlds is not possible at the moment.

    Language Support:

    FreeRPG fully/partially supports the following languages by default:
    - English
    - Hungarian (Translated by: vERKE)
    - French (Translated by: Temuel)
    - German (Translated by: KlenerTeufel96 of FruitLab.gg)
    - Polish (Translated by: QuarVey)
    - Spanish (Translated by: PibeChileno)
    - Russian (Translated by: MoKotik and DevilPlay)
    - Portuguese (Translated by: gbuueno)
    - Czech (Translated by: Pieck444 and Fractvival)

    The default server language can be set in config.yml.
    Additionally, each player can pick which language they want the plugin to be represented in.
    Server administrators can add their own languages to languages.yml.
    If you want to to add your translation to be hardcoded into languages.yml (for anyone to use), please message me on discord or spigotmc.org.

    Open Source:

    FreeRPG is an open source project. Anyone is welcome to view, use, or re-purpose the (poorly, self written) java on the github project page under the standard MIT license.


    Images

    1. gif.gif
    2. FreeRPG Graphic (2).png
    Ethon6, deviiicious, fecxica and 3 others like this.

Recent Updates

  1. Czech Language Addition
  2. Bug Fixes
  3. Bug fixes:

Recent Reviews

  1. dinoboss2001
    dinoboss2001
    5/5,
    Version: 1.4.19
    soy fan de los plugin rpg y mas de mmo por eso estoy aquí veo que su trabajo es excelente espero que siga adelante con el y que como siempre mejore poco a poco con buena letra y con calma.
    1. suppusmac
      Author's Response
      ¡Gracias por tu reseña!

      (¡Disculpa por cualquier error de traducción!)

      ------------------------
      Thanks for your review!
  2. testablebox048
    testablebox048
    5/5,
    Version: 1.4.15
    Works over all! I use this on a server with more than 50 online players at a time worth it. Ram hungry though...
    1. suppusmac
      Author's Response
      Thanks for the review!

      The plugin probably uses a lot of RAM due to the file /.../FreeRPG/ServerData/placedBlocks.dat. This is the least optimized data file.

      This file store blocks placed by the player (and moved by pistons and what-not) to prevent duping/exp farming from stuff like placed diamond ore blocks.

      If this file becomes too large, you can manually delete it and restart your server. The server will continue to track blocks, but it "forgets" all blocks tracked in the past. So as long as your players aren't actively stockpiling placed diamond blocks to dupe, this solution has no consequences.

      In the future, placedBlocks.dat will be divided up into many files based on chunks to fix this problem.
  3. MrFroasty
    MrFroasty
    5/5,
    Version: 1.4.15
    I just read through a couple of the reviews and the overview and I was just appalled by the sheer amount of effort this would have taken, I instantly downloaded it to my server and it was amazing. I've only played on it for 5 minutes now but it is just amazing. I would DEFINITELY recommend this plugin to anyone who is going to attempt a modded survival. Ngl best 5 minutes of survival I've ever played. MCMMO got obliterated.
    1. suppusmac
      Author's Response
      Thanks for the review!
  4. Ktreus
    Ktreus
    5/5,
    Version: 1.4.14
    i dont know if this is ask too much, but can you add as an alternative to /frpg a /frog command too? the "o" is very close to the "p" and sometimes i typo /frog
    1. suppusmac
      Author's Response
      Thanks for the review!

      I'll add it to my to-do list. I'll probably add config where you can decide what aliases you want to use with defaults of "/frpg" and "/FreeRPG"
  5. chiise2
    chiise2
    5/5,
    Version: 1.3.4
    This is a fantastic plugin, would recommend to any server!
    The developer is so fast to fix issues.
    & 1 small bug I've came across is Mob spawners are giving
    NBT 1 tag(s)
    on double drops i'm pretty sure because it occurs on around the same percent of my mob double drops
    These tags make it so they cant be sold in /shop

    & would you consider adding another command like /rpg acting the same as /frpg
    1. suppusmac
      Author's Response
      Thanks for the review!

      The issue your talking about should have been patched in version 1.3.1. No items mobs hold are given persistent data (NBT tag equivalent) past that version. Though, items affected by that bug will remain glitched. If you're having this issue in versions past 1.3.1 let me know.

      I chose /frpg because it's a less common command than /rpg. Adding an alias for /rpg may cause some compatibility issues.
  6. HavenMC
    HavenMC
    5/5,
    Version: 1.3.4
    I only play on servers with mcmmo. Non-negotiable. But now... this is absolutely beautiful and the first real replacement for it I've ever tried. Bravo!
    1. suppusmac
      Author's Response
      Thanks for the review!
  7. nossr50
    nossr50
    5/5,
    Version: 1.3.1
    I love seeing mods inspired by my work, good job! I definitely never thought that anything I made would have an impact in the world and it still blows my mind to this day almost 10 years later. Keep up the good work!
    1. suppusmac
      Author's Response
      Thanks for the review!

      I remember playing Mcmmo about 7 years ago and I thought it was the coolest thing in minecraft. It's one of many reasons I never stopped playing minecraft, there's always a fresh way to experience it. So thank you for the time and effort you put in to give so many more an awesome experience. I like to do my best to give people a similar feeling your plugin gave meas a kid.
  8. chiise2
    chiise2
    5/5,
    Version: 1.2.10
    This is a fantastic plugin that I would recommend for any server. It bring so much diversity and obliterates MCMMO in every way.

    One issue is if u got the towny plugin, players can duplicate crops by destroying them on land that inst theirs and it respawns the block and still drops the item.
    1. suppusmac
      Author's Response
      Thanks for the review!

      I think this will be fixed in the next update. I have a good idea what's causing the issue.
  9. Scowl
    Scowl
    5/5,
    Version: 1.2.5
    I love to be able to customize some of these skills. Heart/Health increasing methods for example, would really make this plugin standout for the rest. Excited for what the future holds for this.
    1. suppusmac
      Author's Response
      Thanks for the review!

      I am unsure what you mean by heart/health increasing methods. I could write commands to control a player's health, but I'm sure compatible plugins like that already exist.
  10. DnNKERiKILLZ
    DnNKERiKILLZ
    5/5,
    Version: 1.2.4
    Great Plugin! but I need to know how do I update it? In my server the verison is 1.1.1 but it seems that newer versions are out
    1. suppusmac
      Author's Response
      Thanks for the review!

      I believe I already helped you in the discord, but in case anyone has the same problem:
      Updating the plugin is as simple as overwriting your old .jar file with your new .jar file.
      Languages.yml, config.yml, and your players stat files should update automatically. If they don't for some reason, I've made and error. But this error can be fixed by deleting one of the old files.
      Players' in-game stats should be unchanged.