1.0.0-SNAPSHOT-U40

+ Started to work on the Skills portion of CustomBosses
+ Implemented the skills.json and added in some of the default configuration
+ Added a SkillHandler
This commit is contained in:
AMinecraftDev 2018-11-05 21:55:12 +08:00
parent 6a77346abb
commit dad1bdfcd0
14 changed files with 226 additions and 4 deletions

View File

@ -13,5 +13,14 @@
],
"SKEco5000": [
"eco give %player% 5000"
],
"Guts1": [
"give %player% bone 3 name:&eSpecial_Bone lore:&7This_bone_was_obtained_from_the|&7skeleton_king_when_you_rattled_him."
],
"Guts2": [
"give %player% ironingot 1 name:&eSpecial_Ingot lore:&7This_ingot_was_obtained_from_the|&7skeleton_king_when_you_rattled_him."
],
"Guts3": [
"give %player% diamond 1 name:&eSpecial_Diamond lore:&7This_diamond_was_obtained_from_the|&7skeleton_king_when_you_rattled_him."
]
}

View File

@ -27,5 +27,11 @@
],
"SKTaunt2": [
"&6&lSkeleton King &f» &7You think you humans can defeat me?! I am the notorious Skeleton King!"
],
"BlindMessage": [
"&6&lSkeleton King &f» &7I curse you all with blindness!!"
],
"GutsMessage": [
"&6&lSkeleton King &f» &7Oh no! You rattled up my skeleton and some of my goods feel!"
]
}

View File

@ -1,3 +1,60 @@
{
"Blind1": {
"mode": "ALL",
"type": "POTION",
"radius": 10,
"displayName": "Blind",
"customMessage": "BlindMessage",
"potions": [
{
"type": "blind",
"level": 2,
"duration": 10
}
]
},
"Guts1": {
"mode": "ALL",
"type": "COMMAND",
"radius": 10,
"displayName": "Guts",
"customMessage": "GutsMessage",
"commands": [
{
"chance": 25,
"commands": [
"Guts1",
"Guts2"
]
},
{
"chance": 10,
"commands": [
"Guts3"
]
}
]
},
"Knockback1": {
"mode": "ALL",
"type": "CUSTOM",
"radius": 10,
"displayName": "Knockback",
"customMessage": null,
"custom": {
"type": "KNOCKBACK",
"multiplier": 2.5
}
},
"Shazaam1": {
"mode": "ALL",
"type": "GROUP",
"radius": 10,
"displayName": "Shazaam",
"customMessage": "ShazaamMessage",
"groupedSkills": [
"Blind1",
"Knockback1"
]
}
}

View File

@ -23,8 +23,6 @@ import org.bukkit.plugin.java.JavaPlugin;
* @author AMinecraftDev
* @version 1.0.0
* @since 06-Sep-17
*
* TODO: In menu when toggling Edit mode, make sure that it has all needed mechanics
*/
public class CustomBosses extends JavaPlugin implements IReloadable {

View File

@ -0,0 +1,9 @@
package com.songoda.epicbosses.managers;
/**
* @author Charles Cullen
* @version 1.0.0
* @since 05-Nov-18
*/
public class BossSkillManager {
}

View File

@ -0,0 +1,14 @@
package com.songoda.epicbosses.skills;
import com.songoda.epicbosses.holder.ActiveBossHolder;
/**
* @author Charles Cullen
* @version 1.0.0
* @since 05-Nov-18
*/
public interface ISkillHandler {
void castSkill(ActiveBossHolder activeBossHolder);
}

View File

@ -0,0 +1,17 @@
package com.songoda.epicbosses.skills;
import com.google.gson.annotations.Expose;
import lombok.Getter;
import lombok.Setter;
/**
* @author Charles Cullen
* @version 1.0.0
* @since 05-Nov-18
*/
public class Skill {
@Expose @Getter @Setter private String mode, type, displayName, customMessage;
@Expose @Getter @Setter private Double radius;
}

View File

@ -0,0 +1,19 @@
package com.songoda.epicbosses.skills.elements;
import com.google.gson.annotations.Expose;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @author Charles Cullen
* @version 1.0.0
* @since 05-Nov-18
*/
public class CommandSkillElement {
@Expose @Getter @Setter private Double chance;
@Expose @Getter @Setter private List<String> commands;
}

View File

@ -0,0 +1,17 @@
package com.songoda.epicbosses.skills.elements;
import com.google.gson.annotations.Expose;
import lombok.Getter;
import lombok.Setter;
/**
* @author Charles Cullen
* @version 1.0.0
* @since 05-Nov-18
*/
public class CustomSkillElement {
@Expose @Getter @Setter private String type;
@Expose @Getter @Setter private Double multiplier;
}

View File

@ -0,0 +1,20 @@
package com.songoda.epicbosses.skills.types;
import com.google.gson.annotations.Expose;
import com.songoda.epicbosses.skills.Skill;
import com.songoda.epicbosses.skills.elements.CommandSkillElement;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @author Charles Cullen
* @version 1.0.0
* @since 05-Nov-18
*/
public class CommandSkill extends Skill {
@Expose @Getter @Setter private List<CommandSkillElement> commands;
}

View File

@ -0,0 +1,18 @@
package com.songoda.epicbosses.skills.types;
import com.google.gson.annotations.Expose;
import com.songoda.epicbosses.skills.Skill;
import com.songoda.epicbosses.skills.elements.CustomSkillElement;
import lombok.Getter;
import lombok.Setter;
/**
* @author Charles Cullen
* @version 1.0.0
* @since 05-Nov-18
*/
public class CustomSkill extends Skill {
@Expose @Getter @Setter private CustomSkillElement custom;
}

View File

@ -0,0 +1,18 @@
package com.songoda.epicbosses.skills.types;
import com.google.gson.annotations.Expose;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @author Charles Cullen
* @version 1.0.0
* @since 05-Nov-18
*/
public class GroupSkill {
@Expose @Getter @Setter private List<String> groupedSkills;
}

View File

@ -0,0 +1,20 @@
package com.songoda.epicbosses.skills.types;
import com.google.gson.annotations.Expose;
import com.songoda.epicbosses.skills.Skill;
import com.songoda.epicbosses.utils.potion.holder.PotionEffectHolder;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @author Charles Cullen
* @version 1.0.0
* @since 05-Nov-18
*/
public class PotionSkill extends Skill {
@Expose @Getter @Setter private List<PotionEffectHolder> potions;
}

View File

@ -19,7 +19,7 @@
</modules>
<properties>
<plugin.version>1.0.0-SNAPSHOT-U39</plugin.version>
<plugin.version>1.0.0-SNAPSHOT-U40</plugin.version>
<plugin.name>EpicBosses</plugin.name>
<plugin.main>com.songoda.epicbosses.CustomBosses</plugin.main>
<plugin.author>AMinecraftDev</plugin.author>