epicfight tkkepic

Quick rating

Community listing page, reviews may not be monitored by the author.

epicfight tkkepic

No reviews yet

EpicFightMod expands to provide custom skill services

Mod Loaders
Minecraft

About

Description

Added 8 active skill slots and 8 passive skill slots, allowing you to create unique skills using JS and customize some animation properties in EpicFightMod

Trail、particleTrail、damage、armorNegation、stunType、impact、stateSpectrum、attackSpeed、coord

more example js PraiseSuffering/tkkepic_js_example

A simple example skills, create a file "test.js" and deposit ".minecraft/TkkEpicNpc/CustomJsSkills/"

//The first line of the file was not read because of some bugs I wrote
var RandomSkillItem=Java.type("tkk.epic.item.RandomSkillItem")
var AnimationManager=Java.type("yesman.epicfight.api.animation.AnimationManager").getInstance()
var TkkEpic=Java.type("tkk.epic.TkkEpic")
var Consumer=Java.type("java.util.function.Consumer")
var AnimationTemplateFunction=Java.type("tkk.epic.capability.epicAdd.animationTemplate.AnimationTemplateFunction")
var AnimationTemplate=Java.type("tkk.epic.capability.epicAdd.animationTemplate.AnimationTemplate")
 
var icon='minecraft:textures/item/blaze_powder.png'
var skillId='test'
var cooldown=80;
var animations=[]
function init(jsContainer){
RandomSkillItem.regRandomSkill(getSkillId(),1)
 
animations[0]=new AnimationTemplate(AnimationManager.byKeyOrThrow("epicfight:biped/skill/battojutsu"),-0.65);
AnimationTemplateFunction.customTrail_addTrail(animations[0],0,0,-1,0,0,-3.75,"Tool_R",0.0,2.7,2.95,255,0,0,4,3,"",true,false)
AnimationTemplateFunction.customTrail_addParticleTrail(animations[0],0,0,-1,0,0,-3.75,"Tool_R",0.0,2.7,2.75,4,3,true,false,"minecraft:dust"," 1.3 0.1 0 1",1,0.03,0.1,1)
AnimationTemplateFunction.customTrail_addParticleTrail(animations[0],0,0,-3.75,0,0,-4.0,"Tool_R",0.0,2.7,2.75,4,3,true,false,"minecraft:flame","",1,0.03,0.1,4)
AnimationTemplateFunction.customDamage_damage(animations[0],15.0,0,1)
AnimationTemplateFunction.customPotion_addBreak(animations[0],"minecraft:regeneration",40,4,true)
AnimationTemplateFunction.customStateSpectrum_add(animations[0],0,10,"canBasicAttack",false)
AnimationTemplateFunction.customCoord_add(animations[0],0,0,0,0)
AnimationTemplateFunction.customCoord_add(animations[0],0.4,0,0,2)
animations[0].postEndFN.normal.add(
new Consumer({accept:function(args){
var template=args[0]
var entity=args[1]
var isBreak=args[2]
var entityTempdata=template.getEntityData(entity)
if(!isBreak){
animations[1].play(entity)
}
 
}})
)
animations[0].onAttackFN.normal.add(
new Consumer({accept:function(args){
var template=args[0]
var entity=args[1]
var event=args[2]
var entityTempdata=template.getEntityData(entity)
event.getEntity().m_7311_(80)
 
}})
)
animations[1]=new AnimationTemplate(AnimationManager.byKeyOrThrow("epicfight:biped/combat/mob_greatsword1"),0.0);
AnimationTemplateFunction.customAttackSpeed_anticipation(animations[1],1.2,0,1.0)
AnimationTemplateFunction.customAttackSpeed_attacking(animations[1],0.2,0,1.0)
AnimationTemplateFunction.customAttackSpeed_recovery(animations[1],0.2,0,1.0)
AnimationTemplateFunction.customTrail_addParticleTrail(animations[1],0,0,-1,0,0,-3.75,"Tool_R",0.0,1.6,1.95,4,3,true,false,"minecraft:soul_fire_flame","",1,0.03,0.1,1)
AnimationTemplateFunction.customPotion_addHitTarget(animations[1],"minecraft:mining_fatigue",800,1,true)
AnimationTemplateFunction.customPotion_addBreak(animations[1],"minecraft:regeneration",40,4,true)
animations[1].onAttackFN.normal.add(
new Consumer({accept:function(args){
var template=args[0]
var entity=args[1]
var event=args[2]
var entityTempdata=template.getEntityData(entity)
event.getEntity().m_7311_(800)
 
}})
)
 
}
function getSkillId(){
    return skillId
}
function loadSelf(container){
    container.doRender=true;
container.isEnable=false;
container.isDisable=false;
    container.spell_textures=icon;
    container.maxCooldow=cooldown;
    container.maxMana=0;
    container.cooldown=Math.min(container.cooldown,0);
    container.mana=0;
container.tempdata.clear()
    container.needUpdate=true;
}
 
function pressKeySelf(container){
if(container.cooldown!=0){return}
var player=container.player
container.cooldown=container.maxCooldow
    container.needUpdate=true;
animations[0].play(player)
}
 
 
description_493e7333-6a9c-4270-8044-c0cf508628a6.gif