Plugin which brings RPG features into minecraft.

1.0.12-RC-1

Release

NeumimTo released this version on Nov 13, 2018

787.4 KB
Download
  • Added basic support for translation, added czech and polish localization (not yet 100% done)
  • Mob experiences gained after kill may now be adjusted on a race or class level
  • Improved tab-autocompletition for skills
  • Parts of the plugin now may be reload at runtime, the goal is to make all configurations reloadable on the fly
  • Added yet another way how to create skills.

Example configuration:

Skills: [
{
    #This skill is equivalent of a javaskill cz.neumimto.skills.active.SkillMegabolt.
    # Id must be unique
    Id: "ntrpg:megabolt2"

    # The name of the skill.
    # Name may be changed per each skilltree, but there must not be multiple skills with the same name
    # skills may be executed via /skill <skill:id> or /skill <skill-name>
    Name: megabolt

    # Parent node defines if the skill is type of Active/passive - its requires to target an entity etc
    # Parent node may change which variables maz be referenced in the Script section.
    # Eg. Inheriting from active wont make accessible varible _target
    Parent: active

    # Skill types
    Skill-Types: [
        "ntrpg:aoe",
        "ntrpg:lightning"
    ]

    # If the skill may deal damage there must be node DamageType.
    # If the skill deals no damage to anyone (eg simple healing) this node should not be defined
    Damage-Type: "magic"

    # Optional node, some extra informations related to skills, skill lore can be found in ingame inventory menus
    Lore: [
        line1
        "&4line2"
    ]
    # Brief description of the skill, skill description can be found in some ingame inventory menus
    Description: "Damages nearby entities with a lightning strike"

    # Default config nodes you with to use, this section has to have all nodes, if you wish to execute skills via /nadmin command, otherwise it may be left empty
    Settings: {
        "damage": 10
        "damage_levelbonus": 5
        "range": 15
        "range_levelbonus": 1
        "mana": 10
        "mana_levelbonus": 10
    }
    # How you with to load the skill, lets keep there js for now
    Loader: js

    # The bussines logic for a sklll
    # The script is called AFTER all validations such as mana pool check, cooldowns etc
    # If you need to debug anything simply call function log(<data>)
    # For more documentations check out wiki, or functions.md file
    Script:
      """
      var totalDamage = param("damage", _context);
      var totalRange = param("range", _context);

      for_each_nearby_enemy(_caster, totalRange, function(entity) {
              var location = get_location(entity);
              if (damage(_caster, entity, totalDamage, _context)) {
                  spawn_lightning(location);
              }
            }
      );
      """
}
  • fixed lots of bugs related to inventory menus, skill execution etc..

  • Refactored large portion of skills which makes entire system more flexible.

  • Make some changes to prepare the plugin to allow skill packs (jar files) to be reloadable on the fly

  • Changed way how the plugin manages the database schema. If you are running mysql or postgres hibernate no longer generates tables automatically, this approach is generally more safe.

  • Bunch of another features which i already forgot about.

  • Added some placeholders which you can use together with placeholderapi

    • race - returns characters race
    • class - returns characters primary class
    • char_name - returns character name
    • primary_class_or_spec - returns a name of a primary class, or a highest tier of its specialization
    • primary_class_level - returns a level of a primary class
    • mana - returns current amount of mana
    • max_mana - returns maximal volume of manapool
  • Its now possible to configurate skills that they will cost specific amount of items to be casted.

    • If the player has not enough items to cast the skill its possible either deny the attempt to cast the spell, or adjust its configuration, for example change skill cooldown.
    • Its possible to define whenever the items should be removed from players inventory

Example:

InvokeCost {
      Items: [
          {
            Amount: 10
            ItemType: "minecraft:paper"
            Consume: false
          }
      ],
      Insufficient: [
        {
          Id: "ntrpg:adjusted_skill_settings_value"
          Key: "cooldown"
          Value: "{{value}} + 25000"
        }
      ]
    }

You can grab skills here: https://github.com/Sponge-RPG-dev/NT-RPG/releases/tag/NT-RPG-1.0.12-RC-1 (as usual you place the skills jar to the ntrpg config addons directory)

Very simple examples how to setup classes, races and skilltrees may be found here. https://github.com/Sponge-RPG-dev/NT-RPG-Configs-And-Assets

The documentation is lacking and due to complexity its not so easy to configure this correctly :( For more question reach me out on discord:

https://discordapp.com/invite/YerUbgd

This release has no dependencies