Releases: Sponge-RPG-dev/NT-RPG
13.5.2020 Sponge & Spigot
-
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
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.
- 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"
}
- 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 callJava.type()
consumer
- no longer needed to inherit from Consumer
5.1.2020 Sponge #2
- fixed inventory bugs
5.1.2020 Sponge
- Fixed inventory usecase where players were able to equip armor that they should not have access to
29.4.2020 Sponge
-
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
- aliases
-
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
28.4,2020 Spigot
-
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
- aliases:
-
command nadmin skill now requires a skilltree context to run the skill
26.4.2020 Sponge
- 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
- Check out ItemGrousp.conf, its required to have there slot 40 now
- added command skill (check out spigot release for more info)
25.4.2020 Spigot
-
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
- 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
-
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)