1.0.0-SNAPSHOT-U60

+ Updated all of the BossEntity elements to have constructors so when you create a new boss it is more displayed as complete in the bosses.json
+ Fixed issue with the BossEntity#isCompleteEnoughToSpawn
This commit is contained in:
AMinecraftDev 2018-11-18 17:32:48 +08:00
parent 861705f717
commit 8341fe3eab
14 changed files with 82 additions and 29 deletions

View File

@ -178,24 +178,15 @@ public class BossAPI {
if (entityFinder == null) return null;
List<EntityStatsElement> entityStatsElements = new ArrayList<>();
EntityStatsElement entityStatsElement = new EntityStatsElement();
MainStatsElement mainStatsElement = new MainStatsElement();
mainStatsElement.setHealth(50D);
mainStatsElement.setDisplayName(name);
mainStatsElement.setEntityType(entityFinder.getFancyName());
entityStatsElement.setMainStats(mainStatsElement);
entityStatsElement.setEquipment(new EquipmentElement());
entityStatsElement.setHands(new HandsElement());
entityStatsElement.setPotions(new ArrayList<>());
MainStatsElement mainStatsElement = new MainStatsElement(1, entityFinder.getFancyName(), 50.0, name);
EntityStatsElement entityStatsElement = new EntityStatsElement(mainStatsElement, new EquipmentElement("", "", "", ""), new HandsElement("", ""), new ArrayList<>());
entityStatsElements.add(entityStatsElement);
SkillsElement skillsElement = new SkillsElement();
DropsElement dropsElement = new DropsElement();
MessagesElement messagesElement = new MessagesElement();
CommandsElement commandsElement = new CommandsElement();
SkillsElement skillsElement = new SkillsElement(10.0, "", new ArrayList<>());
DropsElement dropsElement = new DropsElement(true, true, "");
MessagesElement messagesElement = new MessagesElement(new OnSpawnMessageElement("", -1), new OnDeathMessageElement("", "", -1, 5), new TauntElement(60, 100, new ArrayList<>()));
CommandsElement commandsElement = new CommandsElement("", "");
BossEntity bossEntity = new BossEntity(true, null, false, 100.0, entityStatsElements, skillsElement, dropsElement, messagesElement, commandsElement);
boolean result = PLUGIN.getBossEntityContainer().saveData(name, bossEntity);
@ -233,17 +224,8 @@ public class BossAPI {
if (entityFinder == null) return null;
List<EntityStatsElement> entityStatsElements = new ArrayList<>();
EntityStatsElement entityStatsElement = new EntityStatsElement();
MainStatsElement mainStatsElement = new MainStatsElement();
mainStatsElement.setHealth(50D);
mainStatsElement.setDisplayName(name);
mainStatsElement.setEntityType(entityFinder.getFancyName());
entityStatsElement.setMainStats(mainStatsElement);
entityStatsElement.setEquipment(new EquipmentElement());
entityStatsElement.setHands(new HandsElement());
entityStatsElement.setPotions(new ArrayList<>());
MainStatsElement mainStatsElement = new MainStatsElement(1, entityFinder.getFancyName(), 50.0, name);
EntityStatsElement entityStatsElement = new EntityStatsElement(mainStatsElement, new EquipmentElement("", "", "", ""), new HandsElement("", ""), new ArrayList<>());
entityStatsElements.add(entityStatsElement);

View File

@ -48,7 +48,11 @@ public class BossEntity {
if(mainStatsElement == null) return false;
return mainStatsElement.getPosition() != null && mainStatsElement.getEntityType() != null && mainStatsElement.getHealth() != null;
Integer position = mainStatsElement.getPosition();
String entityType = mainStatsElement.getEntityType();
Double health = mainStatsElement.getHealth();
return (position != null && entityType != null && !entityType.isEmpty() && health != null && getSpawnItem() != null && !getSpawnItem().isEmpty());
}
public boolean canBeBought() {

View File

@ -13,4 +13,9 @@ public class CommandsElement {
@Expose @Getter @Setter private String onSpawn, onDeath;
public CommandsElement(String onSpawn, String onDeath) {
this.onDeath = onDeath;
this.onSpawn = onSpawn;
}
}

View File

@ -14,4 +14,10 @@ public class DropsElement {
@Expose @Getter @Setter private Boolean naturalDrops, dropExp;
@Expose @Getter @Setter private String dropTable;
public DropsElement(Boolean naturalDrops, Boolean dropExp, String dropTable) {
this.naturalDrops = naturalDrops;
this.dropExp = dropExp;
this.dropTable = dropTable;
}
}

View File

@ -19,4 +19,11 @@ public class EntityStatsElement {
@Expose @Getter @Setter private HandsElement hands;
@Expose @Getter @Setter private List<PotionEffectHolder> potions;
public EntityStatsElement(MainStatsElement mainStatsElement, EquipmentElement equipmentElement, HandsElement handsElement, List<PotionEffectHolder> potionEffectHolders) {
this.mainStats = mainStatsElement;
this.equipment = equipmentElement;
this.hands = handsElement;
this.potions = potionEffectHolders;
}
}

View File

@ -12,5 +12,12 @@ import lombok.Setter;
public class EquipmentElement {
@Expose @Getter @Setter private String helmet, chestplate, leggings, boots;
public EquipmentElement(String helmet, String chestplate, String leggings, String boots) {
this.helmet = helmet;
this.chestplate = chestplate;
this.leggings = leggings;
this.boots = boots;
}
}

View File

@ -13,4 +13,9 @@ public class HandsElement {
@Expose @Getter @Setter private String mainHand, offHand;
public HandsElement(String mainHand, String offHand) {
this.mainHand = mainHand;
this.offHand = offHand;
}
}

View File

@ -16,4 +16,11 @@ public class MainStatsElement {
@Expose @Getter @Setter private Double health;
@Expose @Getter @Setter private String displayName;
public MainStatsElement(Integer position, String entityType, Double health, String displayName) {
this.position = position;
this.entityType = entityType;
this.health = health;
this.displayName = displayName;
}
}

View File

@ -15,4 +15,10 @@ public class MessagesElement {
@Expose @Getter @Setter private OnDeathMessageElement onDeath;
@Expose @Getter @Setter private TauntElement taunts;
public MessagesElement(OnSpawnMessageElement onSpawn, OnDeathMessageElement onDeath, TauntElement tauntElement) {
this.onDeath = onDeath;
this.onSpawn = onSpawn;
this.taunts = tauntElement;
}
}

View File

@ -13,4 +13,11 @@ public class OnDeathMessageElement {
@Expose @Getter @Setter private String message, positionMessage;
@Expose @Getter @Setter private Integer radius, onlyShow;
public OnDeathMessageElement(String message, String positionMessage, Integer radius, Integer onlyShow) {
this.message = message;
this.positionMessage = positionMessage;
this.radius = radius;
this.onlyShow = onlyShow;
}
}

View File

@ -14,4 +14,9 @@ public class OnSpawnMessageElement {
@Expose @Getter @Setter private String message;
@Expose @Getter @Setter private Integer radius;
public OnSpawnMessageElement(String message, Integer radius) {
this.message = message;
this.radius = radius;
}
}

View File

@ -17,4 +17,10 @@ public class SkillsElement {
@Expose @Getter @Setter private String masterMessage;
@Expose @Getter @Setter private List<String> skills;
public SkillsElement(Double overallChance, String masterMessage, List<String> skills) {
this.overallChance = overallChance;
this.masterMessage = masterMessage;
this.skills = skills;
}
}

View File

@ -16,4 +16,10 @@ public class TauntElement {
@Expose @Getter @Setter private Integer delay, radius;
@Expose @Getter @Setter private List<String> taunts;
public TauntElement(Integer delay, Integer radius, List<String> taunts) {
this.delay = delay;
this.radius = radius;
this.taunts = taunts;
}
}

View File

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