mirror of
https://github.com/songoda/EpicBosses.git
synced 2025-01-09 16:57:35 +01:00
Non-material differences
This commit is contained in:
parent
9dcf8d5b60
commit
cd26b92584
@ -71,7 +71,7 @@
|
|||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<finalName>${parent.artifactId}-${plugin.version} (Legacy)</finalName>
|
<finalName>${parent.artifactId}-${plugin.version}</finalName>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.songoda.epicbosses.handlers;
|
package com.songoda.epicbosses.handlers;
|
||||||
|
|
||||||
|
import com.songoda.epicbosses.CustomBosses;
|
||||||
import com.songoda.epicbosses.api.BossAPI;
|
import com.songoda.epicbosses.api.BossAPI;
|
||||||
import com.songoda.epicbosses.autospawns.AutoSpawn;
|
import com.songoda.epicbosses.autospawns.AutoSpawn;
|
||||||
import com.songoda.epicbosses.autospawns.types.IntervalSpawnElement;
|
import com.songoda.epicbosses.autospawns.types.IntervalSpawnElement;
|
||||||
@ -9,6 +10,7 @@ import com.songoda.epicbosses.utils.ServerUtils;
|
|||||||
import com.songoda.epicbosses.utils.panel.base.IVariablePanelHandler;
|
import com.songoda.epicbosses.utils.panel.base.IVariablePanelHandler;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
@ -67,7 +69,7 @@ public abstract class AutoSpawnVariableHandler implements IHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(input == null) {
|
if(input == null) {
|
||||||
finish();
|
Bukkit.getScheduler().scheduleSyncDelayedTask(CustomBosses.get(), AutoSpawnVariableHandler.this::finish);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,7 +80,7 @@ public abstract class AutoSpawnVariableHandler implements IHandler {
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
setHandled(true);
|
setHandled(true);
|
||||||
|
|
||||||
finish();
|
Bukkit.getScheduler().scheduleSyncDelayedTask(CustomBosses.get(), AutoSpawnVariableHandler.this::finish);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.songoda.epicbosses.handlers;
|
package com.songoda.epicbosses.handlers;
|
||||||
|
|
||||||
|
import com.songoda.epicbosses.CustomBosses;
|
||||||
import com.songoda.epicbosses.entity.BossEntity;
|
import com.songoda.epicbosses.entity.BossEntity;
|
||||||
import com.songoda.epicbosses.entity.elements.EntityStatsElement;
|
import com.songoda.epicbosses.entity.elements.EntityStatsElement;
|
||||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||||
@ -8,6 +9,7 @@ import com.songoda.epicbosses.utils.ServerUtils;
|
|||||||
import com.songoda.epicbosses.utils.panel.base.ISubVariablePanelHandler;
|
import com.songoda.epicbosses.utils.panel.base.ISubVariablePanelHandler;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
@ -68,7 +70,7 @@ public class BossDisplayNameHandler implements IHandler {
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
setHandled(true);
|
setHandled(true);
|
||||||
|
|
||||||
finish();
|
Bukkit.getScheduler().scheduleSyncDelayedTask(CustomBosses.get(), BossDisplayNameHandler.this::finish);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.songoda.epicbosses.handlers;
|
package com.songoda.epicbosses.handlers;
|
||||||
|
|
||||||
|
import com.songoda.epicbosses.CustomBosses;
|
||||||
import com.songoda.epicbosses.api.BossAPI;
|
import com.songoda.epicbosses.api.BossAPI;
|
||||||
import com.songoda.epicbosses.entity.BossEntity;
|
import com.songoda.epicbosses.entity.BossEntity;
|
||||||
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
import com.songoda.epicbosses.managers.files.BossesFileManager;
|
||||||
@ -10,6 +11,7 @@ import com.songoda.epicbosses.utils.ServerUtils;
|
|||||||
import com.songoda.epicbosses.utils.panel.base.IVariablePanelHandler;
|
import com.songoda.epicbosses.utils.panel.base.IVariablePanelHandler;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
@ -72,7 +74,7 @@ public class BossShopPriceHandler implements IHandler {
|
|||||||
setHandled(true);
|
setHandled(true);
|
||||||
Message.Boss_Edit_PriceSet.msg(getPlayer(), BossAPI.getBossEntityName(getBossEntity()), NumberUtils.get().formatDouble(amount));
|
Message.Boss_Edit_PriceSet.msg(getPlayer(), BossAPI.getBossEntityName(getBossEntity()), NumberUtils.get().formatDouble(amount));
|
||||||
|
|
||||||
finish();
|
Bukkit.getScheduler().scheduleSyncDelayedTask(CustomBosses.get(), BossShopPriceHandler.this::finish);
|
||||||
} else {
|
} else {
|
||||||
Message.Boss_Edit_Price.msg(getPlayer(), BossAPI.getBossEntityName(getBossEntity()));
|
Message.Boss_Edit_Price.msg(getPlayer(), BossAPI.getBossEntityName(getBossEntity()));
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.songoda.epicbosses.handlers;
|
package com.songoda.epicbosses.handlers;
|
||||||
|
|
||||||
|
import com.songoda.epicbosses.CustomBosses;
|
||||||
import com.songoda.epicbosses.managers.files.SkillsFileManager;
|
import com.songoda.epicbosses.managers.files.SkillsFileManager;
|
||||||
import com.songoda.epicbosses.skills.Skill;
|
import com.songoda.epicbosses.skills.Skill;
|
||||||
import com.songoda.epicbosses.utils.IHandler;
|
import com.songoda.epicbosses.utils.IHandler;
|
||||||
@ -7,6 +8,7 @@ import com.songoda.epicbosses.utils.ServerUtils;
|
|||||||
import com.songoda.epicbosses.utils.panel.base.IVariablePanelHandler;
|
import com.songoda.epicbosses.utils.panel.base.IVariablePanelHandler;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
@ -64,7 +66,7 @@ public class SkillDisplayNameHandler implements IHandler {
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
setHandled(true);
|
setHandled(true);
|
||||||
|
|
||||||
finish();
|
Bukkit.getScheduler().scheduleSyncDelayedTask(CustomBosses.get(), SkillDisplayNameHandler.this::finish);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -805,15 +805,15 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
|||||||
private void loadAddItemsMenu() {
|
private void loadAddItemsMenu() {
|
||||||
PanelBuilder panelBuilder = new PanelBuilder(this.customBosses.getEditor().getConfigurationSection("AddItemsMenu"));
|
PanelBuilder panelBuilder = new PanelBuilder(this.customBosses.getEditor().getConfigurationSection("AddItemsMenu"));
|
||||||
|
|
||||||
this.addItemsBuilder = panelBuilder.cloneBuilder();
|
this.addItemsBuilder = this.addItemsBuilder.cloneBuilder();
|
||||||
this.customItemAddItemsMenu = new AddItemsPanel(this, panelBuilder.cloneBuilder(), this.customBosses, new CustomItemsAddItemsParentPanelHandler(this));
|
this.customItemAddItemsMenu = new AddItemsPanel(this, panelBuilder, this.customBosses, new CustomItemsAddItemsParentPanelHandler(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void reloadAddItemsMenu() {
|
private void reloadAddItemsMenu() {
|
||||||
PanelBuilder panelBuilder = new PanelBuilder(this.customBosses.getEditor().getConfigurationSection("AddItemsMenu"));
|
PanelBuilder panelBuilder = new PanelBuilder(this.customBosses.getEditor().getConfigurationSection("AddItemsMenu"));
|
||||||
|
|
||||||
this.addItemsBuilder = this.addItemsBuilder.cloneBuilder();
|
this.addItemsBuilder = this.addItemsBuilder.cloneBuilder();
|
||||||
this.customItemAddItemsMenu.initializePanel(panelBuilder.cloneBuilder());
|
this.customItemAddItemsMenu.initializePanel(panelBuilder);
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------
|
//---------------------------------------------
|
||||||
|
@ -123,7 +123,6 @@ public class AddItemsPanel extends PanelHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
openParentPanel(player);
|
openParentPanel(player);
|
||||||
// this.bossPanelManager.getCustomItems().openFor(player);
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -142,7 +141,6 @@ public class AddItemsPanel extends PanelHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
openParentPanel(player);
|
openParentPanel(player);
|
||||||
// this.bossPanelManager.getCustomItems().openFor(player);
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ import com.songoda.epicbosses.skills.types.PotionSkillElement;
|
|||||||
import com.songoda.epicbosses.utils.NumberUtils;
|
import com.songoda.epicbosses.utils.NumberUtils;
|
||||||
import com.songoda.epicbosses.utils.ServerUtils;
|
import com.songoda.epicbosses.utils.ServerUtils;
|
||||||
import com.songoda.epicbosses.utils.StringUtils;
|
import com.songoda.epicbosses.utils.StringUtils;
|
||||||
|
import com.songoda.epicbosses.utils.Versions;
|
||||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||||
import com.songoda.epicbosses.utils.panel.Panel;
|
import com.songoda.epicbosses.utils.panel.Panel;
|
||||||
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
import com.songoda.epicbosses.utils.panel.base.handlers.VariablePanelHandler;
|
||||||
@ -18,10 +19,12 @@ import com.songoda.epicbosses.utils.panel.builder.PanelBuilder;
|
|||||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilderCounter;
|
import com.songoda.epicbosses.utils.panel.builder.PanelBuilderCounter;
|
||||||
import com.songoda.epicbosses.utils.potion.PotionEffectConverter;
|
import com.songoda.epicbosses.utils.potion.PotionEffectConverter;
|
||||||
import com.songoda.epicbosses.utils.potion.holder.PotionEffectHolder;
|
import com.songoda.epicbosses.utils.potion.holder.PotionEffectHolder;
|
||||||
|
import com.songoda.epicbosses.utils.version.VersionHandler;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.PotionMeta;
|
import org.bukkit.inventory.meta.PotionMeta;
|
||||||
|
import org.bukkit.potion.PotionData;
|
||||||
import org.bukkit.potion.PotionEffect;
|
import org.bukkit.potion.PotionEffect;
|
||||||
import org.bukkit.potion.PotionEffectType;
|
import org.bukkit.potion.PotionEffectType;
|
||||||
import org.bukkit.potion.PotionType;
|
import org.bukkit.potion.PotionType;
|
||||||
@ -107,6 +110,14 @@ public class PotionSkillEditorPanel extends VariablePanelHandler<Skill> {
|
|||||||
ItemStack itemStack = new ItemStack(Material.POTION);
|
ItemStack itemStack = new ItemStack(Material.POTION);
|
||||||
PotionMeta potionMeta = (PotionMeta) itemStack.getItemMeta();
|
PotionMeta potionMeta = (PotionMeta) itemStack.getItemMeta();
|
||||||
|
|
||||||
|
if (new VersionHandler().getVersion().isHigherThanOrEqualTo(Versions.v1_13_R1)) {
|
||||||
|
PotionType potionType = PotionType.getByEffect(PotionEffectType.BLINDNESS);
|
||||||
|
|
||||||
|
if (potionType == null) potionType = PotionType.WATER;
|
||||||
|
|
||||||
|
potionMeta.setBasePotionData(new PotionData(potionType));
|
||||||
|
}
|
||||||
|
|
||||||
potionMeta.addCustomEffect(potionEffect, true);
|
potionMeta.addCustomEffect(potionEffect, true);
|
||||||
itemStack.setItemMeta(potionMeta);
|
itemStack.setItemMeta(potionMeta);
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ public enum EntityFinder {
|
|||||||
EVOKER("Evoker", new EvokerHandler(), "evoker"),
|
EVOKER("Evoker", new EvokerHandler(), "evoker"),
|
||||||
VEX("Vex", new VexHandler(), "vex"),
|
VEX("Vex", new VexHandler(), "vex"),
|
||||||
VINDICATOR("Vindicator", new VindicatorHandler(), "vindicator"),
|
VINDICATOR("Vindicator", new VindicatorHandler(), "vindicator"),
|
||||||
|
ILLUSIONER("Illusioner", new IllusionerHandler(), "illusioner"),
|
||||||
CREEPER("Creeper", EntityType.CREEPER, "creeper"),
|
CREEPER("Creeper", EntityType.CREEPER, "creeper"),
|
||||||
SKELETON("Skeleton", EntityType.SKELETON, "skeleton"),
|
SKELETON("Skeleton", EntityType.SKELETON, "skeleton"),
|
||||||
SPIDER("Spider", EntityType.SPIDER, "spider"),
|
SPIDER("Spider", EntityType.SPIDER, "spider"),
|
||||||
|
@ -17,8 +17,10 @@ public enum PotionEffectFinder {
|
|||||||
|
|
||||||
Absorption("Absorption", PotionEffectType.ABSORPTION),
|
Absorption("Absorption", PotionEffectType.ABSORPTION),
|
||||||
Blindness("Blind", PotionEffectType.BLINDNESS, "blindness", "cantsee"),
|
Blindness("Blind", PotionEffectType.BLINDNESS, "blindness", "cantsee"),
|
||||||
|
ConduitPower("ConduitPower", PotionEffectType.getByName("CONDUIT_POWER"), "conduit", "conduit_power"),
|
||||||
Confusion("Confusion", PotionEffectType.CONFUSION, "nausea"),
|
Confusion("Confusion", PotionEffectType.CONFUSION, "nausea"),
|
||||||
Resistance("Resistance", PotionEffectType.DAMAGE_RESISTANCE, "damage_resistance", "res", "damageresistance"),
|
Resistance("Resistance", PotionEffectType.DAMAGE_RESISTANCE, "damage_resistance", "res", "damageresistance"),
|
||||||
|
DolphinsGrace("DolphinsGrace", PotionEffectType.getByName("DOLPHINS_GRACE"), "grace", "dolphins_grace"),
|
||||||
Haste("Haste", PotionEffectType.FAST_DIGGING, "fast_digging", "haste"),
|
Haste("Haste", PotionEffectType.FAST_DIGGING, "fast_digging", "haste"),
|
||||||
Fire_Resistance("FireResistance", PotionEffectType.FIRE_RESISTANCE, "fire_resistance", "fire_resist", "fire_res", "fireresist", "fireres"),
|
Fire_Resistance("FireResistance", PotionEffectType.FIRE_RESISTANCE, "fire_resistance", "fire_resist", "fire_res", "fireresist", "fireres"),
|
||||||
Glowing("Glowing", PotionEffectType.getByName("GLOWING")),
|
Glowing("Glowing", PotionEffectType.getByName("GLOWING")),
|
||||||
@ -36,6 +38,7 @@ public enum PotionEffectFinder {
|
|||||||
Regen("regen", PotionEffectType.REGENERATION, "regeneration"),
|
Regen("regen", PotionEffectType.REGENERATION, "regeneration"),
|
||||||
Saturation("Saturation", PotionEffectType.SATURATION, "saturated"),
|
Saturation("Saturation", PotionEffectType.SATURATION, "saturated"),
|
||||||
Slow("Slow", PotionEffectType.SLOW, "tank"),
|
Slow("Slow", PotionEffectType.SLOW, "tank"),
|
||||||
|
SlowFalling("SlowFalling", PotionEffectType.getByName("SLOW_FALLING"), "slow_falling"),
|
||||||
MiningFatigue("MiningFatigue", PotionEffectType.SLOW_DIGGING, "slow_digging"),
|
MiningFatigue("MiningFatigue", PotionEffectType.SLOW_DIGGING, "slow_digging"),
|
||||||
Speed("Speed", PotionEffectType.SPEED, "fast", "fastboots"),
|
Speed("Speed", PotionEffectType.SPEED, "fast", "fastboots"),
|
||||||
Unluck("Unlucky", PotionEffectType.getByName("UNLUCK"), "unluck", "notlucky"),
|
Unluck("Unlucky", PotionEffectType.getByName("UNLUCK"), "unluck", "notlucky"),
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
package com.songoda.epicbosses.utils.entity.handlers;
|
||||||
|
|
||||||
|
import com.songoda.epicbosses.utils.Versions;
|
||||||
|
import com.songoda.epicbosses.utils.entity.ICustomEntityHandler;
|
||||||
|
import com.songoda.epicbosses.utils.version.VersionHandler;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.entity.EntityType;
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* - * @author Charles Cullen
|
||||||
|
* - * @version 1.0.0
|
||||||
|
* - * @since 01-Jul-18
|
||||||
|
* -
|
||||||
|
*/
|
||||||
|
public class IllusionerHandler implements ICustomEntityHandler {
|
||||||
|
|
||||||
|
private VersionHandler versionHandler = new VersionHandler();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LivingEntity getBaseEntity(String entityType, Location spawnLocation) {
|
||||||
|
if (this.versionHandler.getVersion().isLessThan(Versions.v1_11_R1)) {
|
||||||
|
throw new NullPointerException("This feature is only implemented in version 1.11 and above of Minecraft.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return (LivingEntity) spawnLocation.getWorld().spawnEntity(spawnLocation, EntityType.ILLUSIONER);
|
||||||
|
}
|
||||||
|
}
|
@ -40,7 +40,6 @@ public class ItemStackConverter implements IReplaceableConverter<ItemStackHolder
|
|||||||
Short durability = itemStack.getDurability(), spawnerId = null;
|
Short durability = itemStack.getDurability(), spawnerId = null;
|
||||||
String type, name = null, skullOwner = null;
|
String type, name = null, skullOwner = null;
|
||||||
List<String> lore = null, enchants = null;
|
List<String> lore = null, enchants = null;
|
||||||
Boolean isGlowing = null;
|
|
||||||
|
|
||||||
if(durability == 0) {
|
if(durability == 0) {
|
||||||
durability = null;
|
durability = null;
|
||||||
@ -87,14 +86,7 @@ public class ItemStackConverter implements IReplaceableConverter<ItemStackHolder
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if(enchants == null) {
|
return new ItemStackHolder(amount, type, durability, name, lore, enchants, skullOwner, spawnerId);
|
||||||
// ItemStack craftStack = NbtFactory.getCraftItemStack(itemStack);
|
|
||||||
// NbtFactory.NbtCompound compound = NbtFactory.fromItemTag(craftStack);
|
|
||||||
//
|
|
||||||
// if(compound.containsKey("ench")) isGlowing = true;
|
|
||||||
// }
|
|
||||||
|
|
||||||
return new ItemStackHolder(amount, type, durability, name, lore, enchants, skullOwner, spawnerId, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -120,7 +112,6 @@ public class ItemStackConverter implements IReplaceableConverter<ItemStackHolder
|
|||||||
Short durability = itemStackHolder.getDurability(), spawnerId = itemStackHolder.getSpawnerId();
|
Short durability = itemStackHolder.getDurability(), spawnerId = itemStackHolder.getSpawnerId();
|
||||||
String name = itemStackHolder.getName(), skullOwner = itemStackHolder.getSkullOwner();
|
String name = itemStackHolder.getName(), skullOwner = itemStackHolder.getSkullOwner();
|
||||||
List<String> lore = itemStackHolder.getLore(), enchants = itemStackHolder.getEnchants();
|
List<String> lore = itemStackHolder.getLore(), enchants = itemStackHolder.getEnchants();
|
||||||
Boolean isGlowing = itemStackHolder.getIsGlowing();
|
|
||||||
|
|
||||||
if(type.contains(":")) {
|
if(type.contains(":")) {
|
||||||
durability = Short.valueOf(type.split(":")[1]);
|
durability = Short.valueOf(type.split(":")[1]);
|
||||||
@ -174,10 +165,6 @@ public class ItemStackConverter implements IReplaceableConverter<ItemStackHolder
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isGlowing != null && isGlowing) {
|
|
||||||
//TODO
|
|
||||||
}
|
|
||||||
|
|
||||||
if(amount != null && amount > 1) {
|
if(amount != null && amount > 1) {
|
||||||
itemStack.setAmount(amount);
|
itemStack.setAmount(amount);
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package com.songoda.epicbosses.utils.itemstack;
|
|||||||
import com.songoda.epicbosses.utils.NumberUtils;
|
import com.songoda.epicbosses.utils.NumberUtils;
|
||||||
import com.songoda.epicbosses.utils.ServerUtils;
|
import com.songoda.epicbosses.utils.ServerUtils;
|
||||||
import com.songoda.epicbosses.utils.StringUtils;
|
import com.songoda.epicbosses.utils.StringUtils;
|
||||||
//import com.songoda.epicbosses.utils.factory.NbtFactory;
|
|
||||||
import com.songoda.epicbosses.utils.itemstack.enchants.GlowEnchant;
|
import com.songoda.epicbosses.utils.itemstack.enchants.GlowEnchant;
|
||||||
import com.songoda.epicbosses.utils.itemstack.holder.ItemStackHolder;
|
import com.songoda.epicbosses.utils.itemstack.holder.ItemStackHolder;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@ -341,9 +340,9 @@ public class ItemStackUtils {
|
|||||||
List<String> enchants = (List<String>) configurationSection.getList("enchants", null);
|
List<String> enchants = (List<String>) configurationSection.getList("enchants", null);
|
||||||
String skullOwner = configurationSection.getString("skullOwner", null);
|
String skullOwner = configurationSection.getString("skullOwner", null);
|
||||||
Short spawnerId = (Short) configurationSection.get("spawnerId", null);
|
Short spawnerId = (Short) configurationSection.get("spawnerId", null);
|
||||||
Boolean isGlowing = (Boolean) configurationSection.get("isGlowing", null);
|
//Boolean isGlowing = (Boolean) configurationSection.get("isGlowing", null);
|
||||||
|
|
||||||
return new ItemStackHolder(amount, type, durability, name, lore, enchants, skullOwner, spawnerId, isGlowing);
|
return new ItemStackHolder(amount, type, durability, name, lore, enchants, skullOwner, spawnerId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isItemStackSame(ItemStack itemStack1, ItemStack itemStack2) {
|
public static boolean isItemStackSame(ItemStack itemStack1, ItemStack itemStack2) {
|
||||||
|
@ -20,9 +20,8 @@ public class ItemStackHolder {
|
|||||||
@Expose @Getter private List<String> enchants;
|
@Expose @Getter private List<String> enchants;
|
||||||
@Expose @Getter private String skullOwner;
|
@Expose @Getter private String skullOwner;
|
||||||
@Expose @Getter private Short spawnerId;
|
@Expose @Getter private Short spawnerId;
|
||||||
@Expose @Getter private Boolean isGlowing;
|
|
||||||
|
|
||||||
public ItemStackHolder(Integer amount, String type, Short durability, String name, List<String> lore, List<String> enchants, String skullOwner, Short spawnerId, Boolean isGlowing) {
|
public ItemStackHolder(Integer amount, String type, Short durability, String name, List<String> lore, List<String> enchants, String skullOwner, Short spawnerId) {
|
||||||
this.amount = amount;
|
this.amount = amount;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.durability = durability;
|
this.durability = durability;
|
||||||
@ -31,7 +30,6 @@ public class ItemStackHolder {
|
|||||||
this.enchants = enchants;
|
this.enchants = enchants;
|
||||||
this.skullOwner = skullOwner;
|
this.skullOwner = skullOwner;
|
||||||
this.spawnerId = spawnerId;
|
this.spawnerId = spawnerId;
|
||||||
this.isGlowing = isGlowing;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -61,6 +61,7 @@ public class Panel implements Listener, ICloneable<Panel> {
|
|||||||
@Getter private PanelBuilderSettings panelBuilderSettings;
|
@Getter private PanelBuilderSettings panelBuilderSettings;
|
||||||
@Getter private PanelBuilderCounter panelBuilderCounter;
|
@Getter private PanelBuilderCounter panelBuilderCounter;
|
||||||
@Getter private Sound clickSound = null;
|
@Getter private Sound clickSound = null;
|
||||||
|
@Getter private String title;
|
||||||
@Getter private Inventory inventory;
|
@Getter private Inventory inventory;
|
||||||
@Getter private int viewers = 0;
|
@Getter private int viewers = 0;
|
||||||
|
|
||||||
@ -86,7 +87,8 @@ public class Panel implements Listener, ICloneable<Panel> {
|
|||||||
throw new UnsupportedOperationException("Inventory size must be a multiple of 9 or 5");
|
throw new UnsupportedOperationException("Inventory size must be a multiple of 9 or 5");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.inventory = size % 9 == 0 ? Bukkit.createInventory(null, size, StringUtils.get().translateColor(title)) : Bukkit.createInventory(null, InventoryType.HOPPER, StringUtils.get().translateColor(title));
|
this.title = StringUtils.get().translateColor(title);
|
||||||
|
this.inventory = size % 9 == 0 ? Bukkit.createInventory(null, size, this.title) : Bukkit.createInventory(null, InventoryType.HOPPER, StringUtils.get().translateColor(title));
|
||||||
this.connectedInventories.add(this.inventory);
|
this.connectedInventories.add(this.inventory);
|
||||||
PANELS.add(this);
|
PANELS.add(this);
|
||||||
}
|
}
|
||||||
@ -95,19 +97,24 @@ public class Panel implements Listener, ICloneable<Panel> {
|
|||||||
* Creates a Panel with the specified arguments
|
* Creates a Panel with the specified arguments
|
||||||
*
|
*
|
||||||
* @param inventory - Panel inventory
|
* @param inventory - Panel inventory
|
||||||
|
* @param title - Panel title
|
||||||
*/
|
*/
|
||||||
public Panel(Inventory inventory) {
|
public Panel(Inventory inventory, String title) {
|
||||||
this(inventory, null, null);
|
this(inventory, title, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a Panel with the specified arguments
|
* Creates a Panel with the specified arguments
|
||||||
*
|
*
|
||||||
* @param inventory - Panel inventory
|
* @param inventory - Panel inventory
|
||||||
|
* @param title - Panel title
|
||||||
|
* @param panelBuilderSettings - Panel builder settings
|
||||||
|
* @param panelBuilderCounter - Panel builder counter
|
||||||
*/
|
*/
|
||||||
public Panel(Inventory inventory, PanelBuilderSettings panelBuilderSettings, PanelBuilderCounter panelBuilderCounter) {
|
public Panel(Inventory inventory, String title, PanelBuilderSettings panelBuilderSettings, PanelBuilderCounter panelBuilderCounter) {
|
||||||
Bukkit.getPluginManager().registerEvents(this, PLUGIN);
|
Bukkit.getPluginManager().registerEvents(this, PLUGIN);
|
||||||
|
|
||||||
|
this.title = StringUtils.get().translateColor(title);
|
||||||
this.inventory = inventory;
|
this.inventory = inventory;
|
||||||
this.panelBuilderSettings = panelBuilderSettings;
|
this.panelBuilderSettings = panelBuilderSettings;
|
||||||
this.panelBuilderCounter = panelBuilderCounter;
|
this.panelBuilderCounter = panelBuilderCounter;
|
||||||
@ -477,11 +484,10 @@ public class Panel implements Listener, ICloneable<Panel> {
|
|||||||
* @return Inventory instance of the cloned inventory
|
* @return Inventory instance of the cloned inventory
|
||||||
*/
|
*/
|
||||||
public Inventory cloneInventory() {
|
public Inventory cloneInventory() {
|
||||||
Inventory thisInventory = getInventory();
|
Inventory newInventory = Bukkit.createInventory(this.inventory.getHolder(), this.inventory.getSize(), this.title);
|
||||||
Inventory newInventory = Bukkit.createInventory(thisInventory.getHolder(), thisInventory.getSize(), thisInventory.getTitle());
|
|
||||||
|
|
||||||
for(int i = 0; i < thisInventory.getSize(); i++) {
|
for(int i = 0; i < this.inventory.getSize(); i++) {
|
||||||
ItemStack itemStack = thisInventory.getItem(i);
|
ItemStack itemStack = this.inventory.getItem(i);
|
||||||
|
|
||||||
if(itemStack == null) continue;
|
if(itemStack == null) continue;
|
||||||
|
|
||||||
@ -495,7 +501,7 @@ public class Panel implements Listener, ICloneable<Panel> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Panel clone() {
|
public Panel clone() {
|
||||||
Panel panel = new Panel(this.inventory.getTitle(), this.inventory.getSize());
|
Panel panel = new Panel(this.title, this.inventory.getSize());
|
||||||
|
|
||||||
panel.targettedSlotActions.putAll(this.targettedSlotActions);
|
panel.targettedSlotActions.putAll(this.targettedSlotActions);
|
||||||
panel.allSlotActions.addAll(this.allSlotActions);
|
panel.allSlotActions.addAll(this.allSlotActions);
|
||||||
|
@ -30,6 +30,7 @@ public class PanelBuilder {
|
|||||||
|
|
||||||
@Getter private PanelBuilderCounter panelBuilderCounter;
|
@Getter private PanelBuilderCounter panelBuilderCounter;
|
||||||
|
|
||||||
|
private String title;
|
||||||
private Inventory inventory;
|
private Inventory inventory;
|
||||||
private int size = 0;
|
private int size = 0;
|
||||||
|
|
||||||
@ -62,6 +63,7 @@ public class PanelBuilder {
|
|||||||
public PanelBuilder cloneBuilder() {
|
public PanelBuilder cloneBuilder() {
|
||||||
PanelBuilder panelBuilder = new PanelBuilder(this.configurationSection, this.replaceMap);
|
PanelBuilder panelBuilder = new PanelBuilder(this.configurationSection, this.replaceMap);
|
||||||
|
|
||||||
|
panelBuilder.title = this.title;
|
||||||
panelBuilder.inventory = this.inventory;
|
panelBuilder.inventory = this.inventory;
|
||||||
panelBuilder.size = this.size;
|
panelBuilder.size = this.size;
|
||||||
panelBuilder.defaultSlots.addAll(this.defaultSlots);
|
panelBuilder.defaultSlots.addAll(this.defaultSlots);
|
||||||
@ -73,7 +75,7 @@ public class PanelBuilder {
|
|||||||
public Panel getPanel() {
|
public Panel getPanel() {
|
||||||
build();
|
build();
|
||||||
|
|
||||||
Panel panel = new Panel(this.inventory, this.panelBuilderSettings, this.panelBuilderCounter);
|
Panel panel = new Panel(this.inventory, this.title, this.panelBuilderSettings, this.panelBuilderCounter);
|
||||||
|
|
||||||
Map<String, ItemStack> itemStackMap = this.panelBuilderCounter.getItemStacks();
|
Map<String, ItemStack> itemStackMap = this.panelBuilderCounter.getItemStacks();
|
||||||
Map<String, ClickAction> clickActionMap = this.panelBuilderCounter.getClickActions();
|
Map<String, ClickAction> clickActionMap = this.panelBuilderCounter.getClickActions();
|
||||||
@ -96,6 +98,7 @@ public class PanelBuilder {
|
|||||||
ConfigurationSection itemSection = configurationSection.contains("Items")? configurationSection.getConfigurationSection("Items") : null;
|
ConfigurationSection itemSection = configurationSection.contains("Items")? configurationSection.getConfigurationSection("Items") : null;
|
||||||
|
|
||||||
name = replace(name);
|
name = replace(name);
|
||||||
|
this.title = name;
|
||||||
this.inventory = Bukkit.createInventory(null, slots, name);
|
this.inventory = Bukkit.createInventory(null, slots, name);
|
||||||
|
|
||||||
if(itemSection != null) {
|
if(itemSection != null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user