New Blizzard Particle and make Gingerbread Chests "Featrued"

This commit is contained in:
Sam 2017-11-20 18:31:26 +00:00 committed by Alexander Meech
parent a9fbbc2e27
commit 8919ffb1d6
11 changed files with 220 additions and 107 deletions

View File

@ -222,12 +222,13 @@ import mineplex.core.gadget.gadgets.outfit.stpatricks.OutfitStPatricksLeggings;
import mineplex.core.gadget.gadgets.outfit.windupsuit.OutfitWindUpSuitBoosterManager; import mineplex.core.gadget.gadgets.outfit.windupsuit.OutfitWindUpSuitBoosterManager;
import mineplex.core.gadget.gadgets.particle.ParticleBlood; import mineplex.core.gadget.gadgets.particle.ParticleBlood;
import mineplex.core.gadget.gadgets.particle.ParticleCandyCane; import mineplex.core.gadget.gadgets.particle.ParticleCandyCane;
import mineplex.core.gadget.gadgets.particle.ParticleChristmasTree; import mineplex.core.gadget.gadgets.particle.christmas.ParticleBlizzard;
import mineplex.core.gadget.gadgets.particle.christmas.ParticleChristmasTree;
import mineplex.core.gadget.gadgets.particle.ParticleCoalFumes; import mineplex.core.gadget.gadgets.particle.ParticleCoalFumes;
import mineplex.core.gadget.gadgets.particle.ParticleEmerald; import mineplex.core.gadget.gadgets.particle.ParticleEmerald;
import mineplex.core.gadget.gadgets.particle.ParticleEnchant; import mineplex.core.gadget.gadgets.particle.ParticleEnchant;
import mineplex.core.gadget.gadgets.particle.ParticleFairy; import mineplex.core.gadget.gadgets.particle.ParticleFairy;
import mineplex.core.gadget.gadgets.particle.ParticleFidgetSpinner; import mineplex.core.gadget.gadgets.particle.christmas.ParticleFidgetSpinner;
import mineplex.core.gadget.gadgets.particle.ParticleFireRings; import mineplex.core.gadget.gadgets.particle.ParticleFireRings;
import mineplex.core.gadget.gadgets.particle.ParticleFoot; import mineplex.core.gadget.gadgets.particle.ParticleFoot;
import mineplex.core.gadget.gadgets.particle.ParticleFrostLord; import mineplex.core.gadget.gadgets.particle.ParticleFrostLord;
@ -240,7 +241,7 @@ import mineplex.core.gadget.gadgets.particle.ParticleRain;
import mineplex.core.gadget.gadgets.particle.ParticleTitan; import mineplex.core.gadget.gadgets.particle.ParticleTitan;
import mineplex.core.gadget.gadgets.particle.ParticleWingsAngel; import mineplex.core.gadget.gadgets.particle.ParticleWingsAngel;
import mineplex.core.gadget.gadgets.particle.ParticleWingsBee; import mineplex.core.gadget.gadgets.particle.ParticleWingsBee;
import mineplex.core.gadget.gadgets.particle.ParticleWingsChristmas; import mineplex.core.gadget.gadgets.particle.christmas.ParticleWingsChristmas;
import mineplex.core.gadget.gadgets.particle.ParticleWingsDemons; import mineplex.core.gadget.gadgets.particle.ParticleWingsDemons;
import mineplex.core.gadget.gadgets.particle.ParticleWingsInfernal; import mineplex.core.gadget.gadgets.particle.ParticleWingsInfernal;
import mineplex.core.gadget.gadgets.particle.ParticleWingsLove; import mineplex.core.gadget.gadgets.particle.ParticleWingsLove;
@ -645,6 +646,7 @@ public class GadgetManager extends MiniPlugin
addGadget(new ParticleHalloween(this)); addGadget(new ParticleHalloween(this));
addGadget(new ParticleWingsChristmas(this)); addGadget(new ParticleWingsChristmas(this));
addGadget(new ParticleBlizzard(this));
addGadget(new ParticleFidgetSpinner(this)); addGadget(new ParticleFidgetSpinner(this));
// Arrow Trails // Arrow Trails

View File

@ -0,0 +1,73 @@
package mineplex.core.gadget.gadgets.particle.christmas;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import mineplex.core.common.util.LineFormat;
import mineplex.core.common.util.UtilParticle;
import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.common.util.UtilParticle.ViewDist;
import mineplex.core.common.util.UtilText;
import mineplex.core.gadget.GadgetManager;
import mineplex.core.gadget.types.ParticleGadget;
import mineplex.core.gadget.util.CostConstants;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
public class ParticleBlizzard extends ParticleGadget
{
private static final double DELTA_THETA = Math.PI / 12;
private static final double RADIUS = 0.6;
private static final double HEIGHT = 1.9;
private double _theta;
public ParticleBlizzard(GadgetManager manager)
{
super(manager, "Blizzard Aura",
UtilText.splitLineToArray("TODO", LineFormat.LORE),
CostConstants.FOUND_IN_GINGERBREAD_CHESTS, Material.ICE, (byte) 0);
}
@Override
public void playParticle(Player player, UpdateEvent event)
{
Location location = player.getLocation();
if (Manager.isMoving(player))
{
UtilParticle.PlayParticleToAll(ParticleType.FIREWORKS_SPARK, location.add(0, Math.sin(_theta) * 2, 0), null, 0, 1, ViewDist.NORMAL);
return;
}
location.add(0, HEIGHT, 0);
double x = RADIUS * Math.cos(_theta);
double z = RADIUS * Math.sin(_theta);
location.add(x, 0, z);
UtilParticle.PlayParticleToAll(ParticleType.FIREWORKS_SPARK, location, null, 0, 1, ViewDist.NORMAL);
location.subtract(x * 2, 0, z * 2);
UtilParticle.PlayParticleToAll(ParticleType.FIREWORKS_SPARK, location, null, 0, 1, ViewDist.NORMAL);
UtilParticle.PlayParticleToAll(ParticleType.SNOW_SHOVEL, location.subtract(0, HEIGHT - 0.6, 0), 0.7F, 0.4F, 0.7F, 0, 2, ViewDist.NORMAL);
}
@Override
@EventHandler
public void Caller(UpdateEvent event)
{
if (event.getType() != UpdateType.TICK)
{
return;
}
super.Caller(event);
_theta += DELTA_THETA;
}
}

View File

@ -1,58 +1,58 @@
package mineplex.core.gadget.gadgets.particle; package mineplex.core.gadget.gadgets.particle.christmas;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import mineplex.core.common.util.C; import mineplex.core.common.util.C;
import mineplex.core.common.util.LineFormat; import mineplex.core.common.util.LineFormat;
import mineplex.core.common.util.UtilText; import mineplex.core.common.util.UtilText;
import mineplex.core.gadget.GadgetManager; import mineplex.core.gadget.GadgetManager;
import mineplex.core.gadget.types.ParticleGadget; import mineplex.core.gadget.types.ParticleGadget;
import mineplex.core.particleeffects.ChristmasTreeEffect; import mineplex.core.particleeffects.ChristmasTreeEffect;
import mineplex.core.updater.event.UpdateEvent; import mineplex.core.updater.event.UpdateEvent;
public class ParticleChristmasTree extends ParticleGadget public class ParticleChristmasTree extends ParticleGadget
{ {
private Map<UUID, ChristmasTreeEffect> _effects = new HashMap<>(); private Map<UUID, ChristmasTreeEffect> _effects = new HashMap<>();
public ParticleChristmasTree(GadgetManager manager) public ParticleChristmasTree(GadgetManager manager)
{ {
super(manager, "Holiday Tree", UtilText.splitLinesToArray(new String[]{C.cGray + super(manager, "Holiday Tree", UtilText.splitLinesToArray(new String[]{C.cGray +
"There's nothing like a well decorated tree to bring in the Holiday Spirit."}, LineFormat.LORE), "There's nothing like a well decorated tree to bring in the Holiday Spirit."}, LineFormat.LORE),
-16, Material.SAPLING, (byte) 1); -16, Material.SAPLING, (byte) 1);
} }
@Override @Override
public void playParticle(Player player, UpdateEvent event) public void playParticle(Player player, UpdateEvent event)
{ {
} }
@Override @Override
public void startEffect(Player player) public void startEffect(Player player)
{ {
if (!_effects.containsKey(player.getUniqueId())) if (!_effects.containsKey(player.getUniqueId()))
{ {
ChristmasTreeEffect christmasTreeEffect = new ChristmasTreeEffect(player, Manager); ChristmasTreeEffect christmasTreeEffect = new ChristmasTreeEffect(player, Manager);
christmasTreeEffect.start(); christmasTreeEffect.start();
_effects.put(player.getUniqueId(), christmasTreeEffect); _effects.put(player.getUniqueId(), christmasTreeEffect);
} }
} }
@Override @Override
public void stopEffect(Player player) public void stopEffect(Player player)
{ {
if (_effects.containsKey(player.getUniqueId())) if (_effects.containsKey(player.getUniqueId()))
{ {
ChristmasTreeEffect christmasTreeEffect = _effects.get(player.getUniqueId()); ChristmasTreeEffect christmasTreeEffect = _effects.get(player.getUniqueId());
christmasTreeEffect.stop(); christmasTreeEffect.stop();
_effects.remove(player.getUniqueId()); _effects.remove(player.getUniqueId());
} }
} }
} }

View File

@ -1,4 +1,4 @@
package mineplex.core.gadget.gadgets.particle; package mineplex.core.gadget.gadgets.particle.christmas;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -39,7 +39,7 @@ public class ParticleFidgetSpinner extends ParticleGadget
UtilText.splitLineToArray(C.cGray + "The best gift this Christmas!", LineFormat.LORE), UtilText.splitLineToArray(C.cGray + "The best gift this Christmas!", LineFormat.LORE),
CostConstants.FOUND_IN_GINGERBREAD_CHESTS, Material.RECORD_3, (byte) 0); CostConstants.FOUND_IN_GINGERBREAD_CHESTS, Material.RECORD_3, (byte) 0);
for (int rotation = 0; rotation < MAX_ROTATION; rotation += 2) for (int rotation = 0; rotation < MAX_ROTATION; rotation += 8)
{ {
_shapes.add(new ShapeFidgetSpinner(PETAL_COUNT, rotation)); _shapes.add(new ShapeFidgetSpinner(PETAL_COUNT, rotation));
} }

View File

@ -1,4 +1,4 @@
package mineplex.core.gadget.gadgets.particle; package mineplex.core.gadget.gadgets.particle.christmas;
import java.awt.*; import java.awt.*;

View File

@ -81,13 +81,13 @@ public class TreasureManager extends MiniPlugin
addTreasureType(new OmegaTreasure()); addTreasureType(new OmegaTreasure());
addTreasureType(new MinestrikeTreasure()); addTreasureType(new MinestrikeTreasure());
addTreasureType(new MOBATreasure()); addTreasureType(new MOBATreasure());
addTreasureType(new TrickOrTreatTreasure2016()); addTreasureType(new GingerbeardTreasure());
addTreasureType(new TrickOrTreatTreasure2017()); addTreasureType(new TrickOrTreatTreasure2017());
addTreasureType(new TrickOrTreatTreasure2016());
addTreasureType(new ThankfulTreasure()); addTreasureType(new ThankfulTreasure());
addTreasureType(new StPatricksTreasure()); addTreasureType(new StPatricksTreasure());
addTreasureType(new HauntedTreasure()); addTreasureType(new HauntedTreasure());
addTreasureType(new LoveTreasure()); addTreasureType(new LoveTreasure());
addTreasureType(new GingerbeardTreasure());
addTreasureType(new ChristmasTreasure()); addTreasureType(new ChristmasTreasure());
addTreasureType(new SpringTreasure()); addTreasureType(new SpringTreasure());
addTreasureType(new FreedomTreasure()); addTreasureType(new FreedomTreasure());

View File

@ -1,14 +1,18 @@
package mineplex.core.treasure.animation.animations; package mineplex.core.treasure.animation.animations;
import java.util.List; import org.bukkit.Color;
import org.bukkit.FireworkEffect;
import org.bukkit.FireworkEffect.Type;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.Sound; import org.bukkit.Sound;
import org.bukkit.entity.ArmorStand; import org.bukkit.entity.ArmorStand;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import mineplex.core.common.skin.SkinData;
import mineplex.core.common.util.UtilAlg; import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilFirework;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilParticle; import mineplex.core.common.util.UtilParticle;
import mineplex.core.common.util.UtilParticle.ParticleType; import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.common.util.UtilParticle.ViewDist; import mineplex.core.common.util.UtilParticle.ViewDist;
@ -19,13 +23,17 @@ import mineplex.core.treasure.types.Treasure;
public class GingerbreadChestAnimation extends TreasureOpenAnimation public class GingerbreadChestAnimation extends TreasureOpenAnimation
{ {
private static final ItemStack HELMET = new ItemStack(Material.STAINED_CLAY, 1, (short) 12); private static final ItemStack HELMET = SkinData.PRESENT.getSkull();
private static final int RADIUS = 3; private static final int RADIUS = 3;
private static final double OFFSET_THETA = Math.PI / 10;
private static final double DELTA_THETA = Math.PI / 40; private static final double DELTA_THETA = Math.PI / 40;
private static final double TOTAL_THETA = 2 * Math.PI; private static final double TOTAL_THETA = 2 * Math.PI;
private static final FireworkEffect FIREWORK_EFFECT = FireworkEffect.builder()
.with(Type.STAR)
.withFade(Color.YELLOW)
.withFade(Color.RED, Color.GREEN)
.withFlicker()
.build();
private double _deltaTheta;
private double _totalTheta; private double _totalTheta;
public GingerbreadChestAnimation(Treasure treasure, TreasureLocation treasureLocation) public GingerbreadChestAnimation(Treasure treasure, TreasureLocation treasureLocation)
@ -36,16 +44,12 @@ public class GingerbreadChestAnimation extends TreasureOpenAnimation
@Override @Override
protected void onStart() protected void onStart()
{ {
changeFloor(Material.STAINED_CLAY, 12, Material.WOOL, 15); changeFloor(Material.WOOL, 5, Material.WOOL, 14);
List<Location> chests = getTreasureLocation().getChestLocations(); Location spawn = getTreasureLocation().getChestLocations().get(0);
_deltaTheta = Math.PI * 2 / (double) chests.size();
for (Location location : chests) ArmorStand stand = spawnArmourStand(spawn);
{ stand.setHelmet(HELMET);
ArmorStand stand = spawnArmourStand(location);
stand.setHelmet(HELMET);
}
} }
@Override @Override
@ -53,36 +57,36 @@ public class GingerbreadChestAnimation extends TreasureOpenAnimation
{ {
_totalTheta += DELTA_THETA; _totalTheta += DELTA_THETA;
int index = 0;
for (ArmorStand stand : _stands) for (ArmorStand stand : _stands)
{ {
Location location = getTreasureLocation().getChest().clone(); Location location = getTreasureLocation().getChest().clone();
double x = RADIUS * Math.cos(_totalTheta + OFFSET_THETA + index * _deltaTheta); double x = RADIUS * Math.cos(_totalTheta);
double z = RADIUS * Math.sin(_totalTheta + OFFSET_THETA + index * _deltaTheta); double z = RADIUS * Math.sin(_totalTheta);
location.add(x, 0, z); location.add(x, 0, z);
location.setYaw(UtilAlg.GetYaw(UtilAlg.getTrajectory(location, getTreasureLocation().getChest()))); location.setYaw(UtilAlg.GetYaw(UtilAlg.getTrajectory(location, getTreasureLocation().getChest())));
stand.teleport(location); stand.teleport(location);
UtilParticle.PlayParticleToAll(ParticleType.HAPPY_VILLAGER, location.add(0, 1, 0), 0.25F, 0.25F, 0.25F, 0.1F, 1, ViewDist.NORMAL); UtilParticle.PlayParticleToAll(ParticleType.FIREWORKS_SPARK, location.add(0, 1, 0), 0.25F, 0.25F, 0.25F, 0.01F, 1, ViewDist.NORMAL);
index++; for (Location chest : getTreasureLocation().getChestLocations())
{
if (UtilMath.offsetSquared(chest, location) < 1)
{
UtilFirework.playFirework(chest, FIREWORK_EFFECT);
createChestAt(location, Material.ENDER_CHEST);
}
}
if (getTicks() % 4 == 0)
{
stand.getWorld().playSound(location, Sound.ORB_PICKUP, 1, 1);
}
} }
if (_totalTheta >= TOTAL_THETA) if (_totalTheta >= TOTAL_THETA)
{ {
for (ArmorStand stand : _stands)
{
Location location = stand.getLocation();
stand.getWorld().playSound(location, Sound.ANVIL_LAND, 1, 0.8F);
UtilParticle.PlayParticleToAll(ParticleType.LARGE_EXPLODE, location, 0, 0, 0, 0.1F, 1, ViewDist.NORMAL);
UtilParticle.PlayParticleToAll(ParticleType.HAPPY_VILLAGER, location, 0.8F, 0.8F, 0.8F, 0.1F, 20, ViewDist.NORMAL);
stand.remove();
createChestAt(location, Material.CHEST);
}
setRunning(false); setRunning(false);
} }
} }

View File

@ -5,7 +5,12 @@ import mineplex.core.gadget.gadgets.outfit.freezesuit.OutfitFreezeSuitBoots;
import mineplex.core.gadget.gadgets.outfit.freezesuit.OutfitFreezeSuitChestplate; import mineplex.core.gadget.gadgets.outfit.freezesuit.OutfitFreezeSuitChestplate;
import mineplex.core.gadget.gadgets.outfit.freezesuit.OutfitFreezeSuitHelmet; import mineplex.core.gadget.gadgets.outfit.freezesuit.OutfitFreezeSuitHelmet;
import mineplex.core.gadget.gadgets.outfit.freezesuit.OutfitFreezeSuitLeggings; import mineplex.core.gadget.gadgets.outfit.freezesuit.OutfitFreezeSuitLeggings;
import mineplex.core.gadget.gadgets.particle.ParticleChristmasTree; import mineplex.core.gadget.gadgets.outfit.reindeer.OutfitReindeerAntlers;
import mineplex.core.gadget.gadgets.outfit.reindeer.OutfitReindeerChest;
import mineplex.core.gadget.gadgets.outfit.reindeer.OutfitReindeerHooves;
import mineplex.core.gadget.gadgets.outfit.reindeer.OutfitReindeerLegs;
import mineplex.core.gadget.gadgets.particle.christmas.ParticleChristmasTree;
import mineplex.core.gadget.gadgets.particle.christmas.ParticleFidgetSpinner;
import mineplex.core.gadget.gadgets.wineffect.WinEffectWinterWarfare; import mineplex.core.gadget.gadgets.wineffect.WinEffectWinterWarfare;
import mineplex.core.pet.PetType; import mineplex.core.pet.PetType;
import mineplex.core.reward.RewardType; import mineplex.core.reward.RewardType;
@ -22,24 +27,43 @@ public class GingerbeardTreasure extends Treasure
setAnimation(treasureLocation -> new GingerbreadChestAnimation(this, treasureLocation)); setAnimation(treasureLocation -> new GingerbreadChestAnimation(this, treasureLocation));
setRewards(RewardType.GINGERBREAD_CHEST); setRewards(RewardType.GINGERBREAD_CHEST);
setRewardsPerChest(1); setRewardsPerChest(1);
purchasableFromStore();
setFeaturedChest();
enabledByDefault();
} }
@Override @Override
protected void addRare(RewardRarity rarity) protected void addRare(RewardRarity rarity)
{ {
addGadgetReward(getGadget(ParticleChristmasTree.class), rarity, 25); // Outfits
addGadgetReward(getGadget(OutfitFreezeSuitHelmet.class), rarity, 50); addGadgetReward(getGadget(OutfitFreezeSuitHelmet.class), rarity, 50);
addGadgetReward(getGadget(OutfitFreezeSuitChestplate.class), rarity, 100); addGadgetReward(getGadget(OutfitFreezeSuitChestplate.class), rarity, 100);
addGadgetReward(getGadget(OutfitFreezeSuitLeggings.class), rarity, 100); addGadgetReward(getGadget(OutfitFreezeSuitLeggings.class), rarity, 100);
addGadgetReward(getGadget(OutfitFreezeSuitBoots.class), rarity, 50); addGadgetReward(getGadget(OutfitFreezeSuitBoots.class), rarity, 50);
addGadgetReward(getGadget(OutfitReindeerAntlers.class), rarity, 50);
addGadgetReward(getGadget(OutfitReindeerChest.class), rarity, 100);
addGadgetReward(getGadget(OutfitReindeerLegs.class), rarity, 100);
addGadgetReward(getGadget(OutfitReindeerHooves.class), rarity, 50);
// Particle
addGadgetReward(getGadget(ParticleChristmasTree.class), rarity, 25);
} }
@Override @Override
protected void addLegendary(RewardRarity rarity) protected void addLegendary(RewardRarity rarity)
{ {
// Death Effect
addGadgetReward(getGadget(DeathPresentDanger.class), rarity, 25); addGadgetReward(getGadget(DeathPresentDanger.class), rarity, 25);
addGadgetReward(getGadget(WinEffectWinterWarfare.class), rarity, 25);
// Particle
addGadgetReward(getGadget(ParticleFidgetSpinner.class), rarity, 20);
// Pet
addPetReward(PetType.GINGERBREAD_MAN, rarity, 10); addPetReward(PetType.GINGERBREAD_MAN, rarity, 10);
// Win Effect
addGadgetReward(getGadget(WinEffectWinterWarfare.class), rarity, 25);
} }
@Override @Override

View File

@ -96,7 +96,7 @@ import mineplex.core.gadget.gadgets.outfit.stpatricks.OutfitStPatricksHat;
import mineplex.core.gadget.gadgets.outfit.stpatricks.OutfitStPatricksLeggings; import mineplex.core.gadget.gadgets.outfit.stpatricks.OutfitStPatricksLeggings;
import mineplex.core.gadget.gadgets.particle.ParticleBlood; import mineplex.core.gadget.gadgets.particle.ParticleBlood;
import mineplex.core.gadget.gadgets.particle.ParticleCandyCane; import mineplex.core.gadget.gadgets.particle.ParticleCandyCane;
import mineplex.core.gadget.gadgets.particle.ParticleChristmasTree; import mineplex.core.gadget.gadgets.particle.christmas.ParticleChristmasTree;
import mineplex.core.gadget.gadgets.particle.ParticleCoalFumes; import mineplex.core.gadget.gadgets.particle.ParticleCoalFumes;
import mineplex.core.gadget.gadgets.particle.ParticleEmerald; import mineplex.core.gadget.gadgets.particle.ParticleEmerald;
import mineplex.core.gadget.gadgets.particle.ParticleEnchant; import mineplex.core.gadget.gadgets.particle.ParticleEnchant;

View File

@ -34,9 +34,6 @@ import mineplex.core.treasure.animation.TreasureAnimation;
import mineplex.core.treasure.reward.RewardRarity; import mineplex.core.treasure.reward.RewardRarity;
import mineplex.core.treasure.reward.TreasureRewardManager; import mineplex.core.treasure.reward.TreasureRewardManager;
/**
*
*/
public class Treasure public class Treasure
{ {
@ -68,6 +65,7 @@ public class Treasure
private boolean _purchasable; private boolean _purchasable;
private int _purchasePrice; private int _purchasePrice;
private boolean _enabledDefault; private boolean _enabledDefault;
private boolean _featured;
Treasure(TreasureType treasureType) Treasure(TreasureType treasureType)
{ {
@ -171,11 +169,6 @@ public class Treasure
return _purchasePrice; return _purchasePrice;
} }
public void setPurchasable(boolean purchasable)
{
_purchasable = purchasable;
}
protected void setPurchasable(int purchasePrice) protected void setPurchasable(int purchasePrice)
{ {
_purchasable = true; _purchasable = true;
@ -194,6 +187,16 @@ public class Treasure
_enabledDefault = true; _enabledDefault = true;
} }
protected void setFeaturedChest()
{
_featured = true;
}
public boolean isFeaturedChest()
{
return _featured;
}
protected final <T extends Gadget> T getGadget(Class<T> clazz) protected final <T extends Gadget> T getGadget(Class<T> clazz)
{ {
return GADGET_MANAGER.getGadget(clazz); return GADGET_MANAGER.getGadget(clazz);

View File

@ -87,6 +87,13 @@ public class TreasurePage extends ShopPageBase<TreasureManager, TreasureShop>
List<String> lore = new ArrayList<>(); List<String> lore = new ArrayList<>();
lore.add(""); lore.add("");
if (treasure.isFeaturedChest())
{
lore.add(C.cAquaB + "FEATURED CHEST");
lore.add("");
}
lore.add(C.cGray + ChatColor.stripColor(treasure.getTreasureType().getName()) + "s Owned: " + F.elem(toOpen)); lore.add(C.cGray + ChatColor.stripColor(treasure.getTreasureType().getName()) + "s Owned: " + F.elem(toOpen));
lore.add(""); lore.add("");