Eniripsa96 / SkillAPI

A flexible API for easily creating skills and classes with visual skill trees
112 stars 109 forks source link

Update Ideas #1 & 2 / Error #341

Open KookaiPLZ opened 6 years ago

KookaiPLZ commented 6 years ago

Hey, I collected some update ideas, that would be good for my project and / or in general would bring an 'improvement' if you understand what I mean.

trigger: standstill (becomes active if you have not moved since [second count]) killstreak (Dopplekill / Tripplekill / ... [kill count] in [seconds count] death (In case of death / Maybe even that the damage is intercepted and you can resuscitate or something) ----------------------------------------- - targets: looking (target = the one to look at) block (the block looked at) chain (multiple targets closest to the [range]

Conditions: weather (self explaining) cooldown (When the cooldown is at a certain number /% - or just if there is cooldown or the skill is available) level (level of the player) killstreak (Only if your Killstreak is [number] channeling (Maybe only, if you are currently channeling, i dont know about that idea, but maybe its something) lava (same as water with lava EVEN if its possible with block) ----------------------------------------- | - Mechanics: I forgot about the mechanics, ill write an part 2 soon.

I still have a question, could you tell me what I should do to fix these Errormsgs? :

[10:38:20 WARN]: [SkillAPI] Task #15 for SkillAPI v3.103 generated an exception java.lang.IllegalArgumentException: Experience progress must be between 0.0 and 1.0 (NaN) at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer.setExp(CraftPlayer.java:823) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at com.sucy.skill.task.GUITask.run(GUITask.java:128) ~[?:?] at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:739) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [Spigot.jar:git-Spigot-3d850ec-809c399] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171] [10:38:20 WARN]: [SkillAPI] Task #15 for SkillAPI v3.103 generated an exception java.lang.IllegalArgumentException: Experience progress must be between 0.0 and 1.0 (NaN) at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer.setExp(CraftPlayer.java:823) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at com.sucy.skill.task.GUITask.run(GUITask.java:128) ~[?:?] at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:739) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [Spigot.jar:git-Spigot-3d850ec-809c399] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171] [10:38:20 WARN]: [SkillAPI] Task #15 for SkillAPI v3.103 generated an exception java.lang.IllegalArgumentException: Experience progress must be between 0.0 and 1.0 (NaN) at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer.setExp(CraftPlayer.java:823) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at com.sucy.skill.task.GUITask.run(GUITask.java:128) ~[?:?] at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:739) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [Spigot.jar:git-Spigot-3d850ec-809c399] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171] [10:38:21 WARN]: [SkillAPI] Task #15 for SkillAPI v3.103 generated an exception java.lang.IllegalArgumentException: Experience progress must be between 0.0 and 1.0 (NaN) at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer.setExp(CraftPlayer.java:823) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at com.sucy.skill.task.GUITask.run(GUITask.java:128) ~[?:?] at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[Spigot.jar:git-Spigot-3d850ec-809c399] at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:739) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [Spigot.jar:git-Spigot-3d850ec-809c399] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [Spigot.jar:git-Spigot-3d850ec-809c399] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]

It always gets spammed, when someone isnt in a class.

Eniripsa96 commented 6 years ago

Triggers:

standstill - This is possible with the Move trigger in the premium version (Initialize/Passive increments a value, Move trigger sets it to 0, do effects if the value exceeds a certain time or if they do something when the value is past that threshold)

killstreak - This is possible using the kill trigger (Initialize/Passive increments a value, Kill Trigger sets it to 0 and increments kill combo, kill combo and other value reset if the other value reaches your limit)

death - Death trigger is already a thing. Preventing death, however, requires you to cancel damage before you die, likely doing it when "api-taken" value is higher than player health.

Targets:

looking - This exists. Use the "Single" target

block - This exists. Use the "Location" target

chain - This exists. Use the "Nearest" target

Conditions:

weather - Can add this

cooldown - What's the use case here?

level - Level of the player's class? skill? vanilla level?

killstreak - If you use the values approach described above for the trigger, Value condition covers this

channeling - This exists. Use the Flag mechanic with the key "channeling"

lava - Why would you need a separate condition for it if it works via the Block condition?

As for the error, it looks like I'll need to fix it so it doesn't try updating when someone isn't professed.

Zicerite commented 6 years ago

I can think of a reason for why a Condition: Lava should exist. The block condition only covers what is under you, so if you are in a 1 block deep thing of lava, and go in it and sit at the bottom of it, the block condition won't pass, because you aren't on top of the lava, but rather inside of it.

KookaiPLZ commented 6 years ago

Ye, Zicerite, youre right, thats what i meant xd cooldown: The skill only can hapen when the selected skill is on cooldown. Id use it for example like this (N O T accurate) :

Level: everything is a possibility, but I think I meant player class or skilllevel, i dont know anymore xd ################################################################################ ---------------------------------------------- Ideas Part II : --------------------------------------------------------

Oh god... I had so many Ideas, but they all got lost... Maybe Ill do a part 3, but only maybe. I have a question: ★ What is Purge doing? I dont even know what it means in german or what it means

The Attribute Mechanic isnt working.

Ciaoo, Lg Kookai

Zicerite commented 6 years ago

To Purge, in this context, is to get rid of a positive status effect. In skillapi they would be the Absorb and Invincible status effects

KookaiPLZ commented 6 years ago

Ah, then I have to take back something