Skip to content

Releases: Sponge-RPG-dev/NT-RPG

13.5.2020 Sponge & Spigot

13 May 21:48
Compare
Choose a tag to compare
  • Improved Scripting API

    • Scripts are now compiled by Nashorn
    • you can no longer define skill logic in scripts/*.conf files
    • If you are upgrading from previous versions delete Main.js & you will have to edit most of your scripts
  • Changed & Simplified skill execution pipeline

    • reduced unnecessary overhead
  • Plugin is much less strict on missconfiguration during startup.

    • If zou happend to have something wrong in conf files, the plugin will only print warning to the console, and wont disable itself. (you can fix the issues and then do /nadmin reload)

New skill scripting api

  • Create a .js file in scripts/ folder
  • You need to register skill handlers, that contains your skill's logic
  1. registerSkillHandler(String, Anonymous function)
registerSkillHandler('mynamespace:myid',{
    onCast: function(character, context) {
       <main logic>
       return SkillResult.OK;
    }
})

For active skills create function onCast: function(character, context)
For targetted skills create function castOnTarget: function(character, context, target)
For passive skills create function init: function(character, context)

  • JS api for passive skills is not yet fully functional, and wont yet work.
  1. create the skill in one of scripts/*.conf files
    {
        # Id must be unique
        Id: "somenamespace:someSkillId"

        # 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"
        Handler: "mynamespace:myid"
    }
  1. Put the skill into any of your skilltrees
  • To read current skilltree setting param function was changed
    • param(String, context)
    • param("damage", context)

JS Listeners

  • Generally the same, just reduced some syntactic sugar
registerEventListener({
    type: "org.spongepowered.api.event.network.ClientConnectionEvent",
    consumer: function (event) {
        log("I'm javascript Event handler")
    },
    order:"BEFORE_POST",
    beforeModifications: false
});
  • type - no longer need to call Java.type()
  • consumer - no longer needed to inherit from Consumer

5.1.2020 Sponge #2

01 May 14:16
Compare
Choose a tag to compare
  • fixed inventory bugs

5.1.2020 Sponge

01 May 12:25
Compare
Choose a tag to compare
  • Fixed inventory usecase where players were able to equip armor that they should not have access to

29.4.2020 Sponge

29 Apr 18:16
Compare
Choose a tag to compare
  • Removed all previous placeholders

  • Added new Placeholders

    • ntrpgcharacterclass_ - returns class name of specific type
    • ntrpgcharactername - returns char name
    • ntrpgcharacterproperty_<property_name> - returns value of any property eg max_mana
    • ntrpgcharacterclasslevel_ - returns class level by class type
    • ntrpgcharacterclassexp_ - returns exp since current level by class type
    • ntrpgcharacterclassexptreshold_ - returns level threshold by class type

!! Changed format of item definition

  • previous: ;;
  • current: ;damage=;model=
    • damage and model partitions are both optional
    • "minecraft:stone_axe;damage=5;model=Some Name"

!! This change might break some current configurations !!

  • removed command /skill

  • added command /cast

    • aliases
      • ncast
      • nc
  • command nadmin skill now requires a skilltree context to run the skill

  • Added user friendly way how to track skill cooldowns.

    • If PluginConfig.ITEM_COOLDOWNS is set to true, then skill cooldown will be tracked via vanilla item cooldown mechanic
  • fixed #146

29.4.2020 Spigot

29 Apr 21:06
Compare
Choose a tag to compare
  • Fixes:

  • When using skill binds the hand no longer glitches

  • Fixed some inventory menus

28.4,2020 Spigot

28 Apr 19:35
Compare
Choose a tag to compare
  • bugfixes for mmoitems integration

  • Added two new placeholders to get some context relevant to exp

    • ntrpg_character_class_exp_((class_type))
    • ntrpg_character_class_exptreshold_((class_type))
  • Fixed command completitions in several places

  • removed command /skill

  • added skill /cast that is actually used to casts skills

    • aliases:
      • ncast
      • nc
  • command nadmin skill now requires a skilltree context to run the skill

26.4.2020 Sponge

26 Apr 13:11
Compare
Choose a tag to compare
  • fixed gui bugs
  • fixed hand swapping throwing error
    • Check out ItemGrousp.conf, its required to have there slot 40 now
      • InventorySlots["net.minecraft.entity.player.InventoryPlayer"].slots - ID 40 must be present
  • added command skill (check out spigot release for more info)

25.4.2020 Spigot

25 Apr 19:24
Compare
Choose a tag to compare
  • Added /bind command

    • puts an item into player's hand (if empty)
    • player can execute the skill any time from hotbar, by moving selected hotbar slot the the item
  • Added user friendly way how to track skill cooldowns.

    • If PluginConfig.ITEM_COOLDOWNS is set to true, then skill cooldown will be tracked via vanilla item cooldown mechanic
  • fixed mmoitems integration bugs

    • you can now reference any mmoitem's ability wihin the scope of ntrpg skilltrees
    • the id generated in a format "mmoitems:" (all ids are dumped into log during startup if PluginConfig.DEBUG_LEVEL is set to BALANCE)
    • Any mmoitems modifier that is supported by the ability may be referenced witn Settings: list
    {
   	  SkillId: "mmoitems:freeze:"
   	  Settings: {
              duration: 5000
               duration_levelbonus: 70
             duration_per_int: xxx

19.4.2020 Spigot #2

19 Apr 22:41
Compare
Choose a tag to compare
  • Command skill, its now possible to reference player name via {{player}} placeholder
   	    Type: command
   	    ExecuteAsConsole: true
   	    Command: "give {{player}} minecraft:diamond_ore"

21.4.2020 Spigot

21 Apr 20:37
Compare
Choose a tag to compare
  • Added Integration into mmo item (The main manapool is not ntrpg's one)

  • Added Integration into mythicalmobs

    • Mythical mobs are no longer overriden by ntrpg damage and max health as normal mobs
    • To drop NTRPG exp upn death set mythical mob configuration node "ntrpg.experiences" (takes decimal)
  • Command Skill type

    • No longer throws exception when used
    • You can now set permission

    Command: "do some command"
    Permission: "some.plugin.permission"
    ExecuteAsConsole: false

  • When ExecuteAsConsole is set to false, a single permission node may be added to the caster permission pool.

  • The permission will be automatically removed, when the command is executed.

  • GUIS:

    • You can no longer take away items from inventory a menu view (classes_by_type)