1.0.0-SNAPSHOT-U107

+ Fully debugged and tested the potion creation aspect
This commit is contained in:
Charles 2018-12-02 23:18:00 +08:00
parent 0590ef662e
commit 949465d528
5 changed files with 38 additions and 5 deletions

View File

@ -211,6 +211,34 @@ public class BossAPI {
return jsonParser.parse(jsonString).getAsJsonObject();
}
public static JsonObject convertSkillElement(CommandSkillElement commandSkillElement) {
JsonParser jsonParser = new JsonParser();
String jsonString = BossesGson.get().toJson(commandSkillElement);
return jsonParser.parse(jsonString).getAsJsonObject();
}
public static JsonObject convertSkillElement(PotionSkillElement potionSkillElement) {
JsonParser jsonParser = new JsonParser();
String jsonString = BossesGson.get().toJson(potionSkillElement);
return jsonParser.parse(jsonString).getAsJsonObject();
}
public static JsonObject convertSkillElement(CustomSkillElement customSkillElement) {
JsonParser jsonParser = new JsonParser();
String jsonString = BossesGson.get().toJson(customSkillElement);
return jsonParser.parse(jsonString).getAsJsonObject();
}
public static JsonObject convertSkillElement(GroupSkillElement groupSkillElement) {
JsonParser jsonParser = new JsonParser();
String jsonString = BossesGson.get().toJson(groupSkillElement);
return jsonParser.parse(jsonString).getAsJsonObject();
}
/**
* Used to create a new base drop table
* with the specified arguments.

View File

@ -1,6 +1,8 @@
package com.songoda.epicbosses.panel.skills.custom;
import com.google.gson.JsonObject;
import com.songoda.epicbosses.CustomBosses;
import com.songoda.epicbosses.api.BossAPI;
import com.songoda.epicbosses.managers.BossPanelManager;
import com.songoda.epicbosses.managers.BossSkillManager;
import com.songoda.epicbosses.managers.files.SkillsFileManager;
@ -157,6 +159,10 @@ public class CreatePotionEffectEditorPanel extends SubVariablePanelHandler<Skill
currentList.add(potionEffectHolder);
potionSkillElement.setPotions(currentList);
JsonObject jsonObject = BossAPI.convertSkillElement(potionSkillElement);
skill.setCustomData(jsonObject);
this.skillsFileManager.save();
} else {
Message.Boss_Skills_NotCompleteEnough.msg(event.getWhoClicked());

View File

@ -5,6 +5,7 @@ import com.songoda.epicbosses.entity.BossEntity;
import com.songoda.epicbosses.entity.elements.EntityStatsElement;
import com.songoda.epicbosses.managers.BossPanelManager;
import com.songoda.epicbosses.skills.Skill;
import com.songoda.epicbosses.skills.types.PotionSkillElement;
import com.songoda.epicbosses.utils.*;
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
import com.songoda.epicbosses.utils.panel.Panel;
@ -43,7 +44,7 @@ public class PotionEffectTypeEditorPanel extends SubVariablePanelHandler<Skill,
@Override
public void fillPanel(Panel panel, Skill skill, PotionEffectHolder potionEffectHolder) {
List<PotionEffectType> list = Arrays.stream(PotionEffectType.values()).collect(Collectors.toList());
List<PotionEffectType> list = Arrays.stream(PotionEffectType.values()).filter(potionEffectType -> potionEffectType != null).collect(Collectors.toList());
int maxPage = panel.getMaxPage(list);
panel.setOnPageChange(((player, currentPage, requestedPage) -> {
@ -91,7 +92,7 @@ public class PotionEffectTypeEditorPanel extends SubVariablePanelHandler<Skill,
Map<String, String> replaceMap = new HashMap<>();
boolean found = false;
replaceMap.put("{name}", StringUtils.get().formatString(potionEffectType.getName()));
replaceMap.put("{effect}", StringUtils.get().formatString(potionEffectType.getName()));
if(type != null && !type.isEmpty()) {
PotionEffectFinder potionEffectFinder = PotionEffectFinder.getByName(type);
@ -111,7 +112,6 @@ public class PotionEffectTypeEditorPanel extends SubVariablePanelHandler<Skill,
if(potionEffectFinder != null) {
potionEffectHolder.setType(potionEffectFinder.getFancyName());
this.plugin.getSkillsFileManager().save();
this.bossPanelManager.getCreatePotionEffectMenu().openFor((Player) e.getWhoClicked(), skill, potionEffectHolder);
}

View File

@ -111,7 +111,6 @@ public class PotionSkillEditorPanel extends VariablePanelHandler<Skill> {
if(potionType == null) potionType = PotionType.WATER;
potionMeta.addCustomEffect(potionEffect, true);
potionMeta.setBasePotionData(new PotionData(potionType));
itemStack.setItemMeta(potionMeta);

View File

@ -20,7 +20,7 @@
<properties>
<!--<plugin.version>maven-version-number-SNAPSHOT-U90</plugin.version>-->
<plugin.version>1.0.0-U106</plugin.version>
<plugin.version>1.0.0-U107</plugin.version>
<plugin.name>EpicBosses</plugin.name>
<plugin.main>com.songoda.epicbosses.CustomBosses</plugin.main>
<plugin.author>AMinecraftDev</plugin.author>