From 41a649456a33cb8de6e11fe814b3b00defc989b9 Mon Sep 17 00:00:00 2001 From: Sam Date: Mon, 30 Oct 2017 11:03:29 +0000 Subject: [PATCH] Added Rainbow, Arrow Trail, Death effect and Double Jump Effect --- .../common/util/particles/DustSpellColor.java | 5 + .../mineplex/core/gadget/GadgetManager.java | 12 ++- .../gadgets/arrowtrail/ArrowTrailRainbow.java | 85 +++++++++++++++ .../gadget/gadgets/death/DeathRainbow.java | 102 ++++++++++++++++++ .../gadgets/doublejump/DoubleJumpRainbow.java | 98 +++++++++++++++++ ...ParticleGryo.java => ParticleRainbow.java} | 40 ++----- .../mineplex/core/gadget/set/SetRainbow.java | 54 ++++++++++ .../mineplex/core/gadget/types/GadgetSet.java | 1 - .../powerplayclub/PowerPlayClubRewards.java | 1 + 9 files changed, 362 insertions(+), 36 deletions(-) create mode 100644 Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/arrowtrail/ArrowTrailRainbow.java create mode 100644 Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/death/DeathRainbow.java create mode 100644 Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/doublejump/DoubleJumpRainbow.java rename Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/particle/{ParticleGryo.java => ParticleRainbow.java} (68%) create mode 100644 Plugins/Mineplex.Core/src/mineplex/core/gadget/set/SetRainbow.java diff --git a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/particles/DustSpellColor.java b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/particles/DustSpellColor.java index a66d422de..09dacfbdd 100644 --- a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/particles/DustSpellColor.java +++ b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/particles/DustSpellColor.java @@ -28,6 +28,11 @@ public class DustSpellColor extends ParticleColor _blue = b; } + public Color toAwtColor() + { + return new Color(_red, _green, _blue); + } + public float getX() { return (float) _red / 255f; diff --git a/Plugins/Mineplex.Core/src/mineplex/core/gadget/GadgetManager.java b/Plugins/Mineplex.Core/src/mineplex/core/gadget/GadgetManager.java index ecf78ab77..138945b34 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/gadget/GadgetManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/gadget/GadgetManager.java @@ -62,6 +62,7 @@ import mineplex.core.gadget.gadgets.arrowtrail.ArrowTrailFreedom; import mineplex.core.gadget.gadgets.arrowtrail.ArrowTrailFrostLord; import mineplex.core.gadget.gadgets.arrowtrail.ArrowTrailHalloween; import mineplex.core.gadget.gadgets.arrowtrail.ArrowTrailMusic; +import mineplex.core.gadget.gadgets.arrowtrail.ArrowTrailRainbow; import mineplex.core.gadget.gadgets.arrowtrail.ArrowTrailRedWhite; import mineplex.core.gadget.gadgets.arrowtrail.ArrowTrailShadow; import mineplex.core.gadget.gadgets.arrowtrail.ArrowTrailSpring; @@ -81,6 +82,7 @@ import mineplex.core.gadget.gadgets.death.DeathMapleLeaf; import mineplex.core.gadget.gadgets.death.DeathMusic; import mineplex.core.gadget.gadgets.death.DeathPinataBurst; import mineplex.core.gadget.gadgets.death.DeathPresentDanger; +import mineplex.core.gadget.gadgets.death.DeathRainbow; import mineplex.core.gadget.gadgets.death.DeathShadow; import mineplex.core.gadget.gadgets.death.DeathSpring; import mineplex.core.gadget.gadgets.death.DeathStorm; @@ -96,6 +98,7 @@ import mineplex.core.gadget.gadgets.doublejump.DoubleJumpFrostLord; import mineplex.core.gadget.gadgets.doublejump.DoubleJumpHalloween; import mineplex.core.gadget.gadgets.doublejump.DoubleJumpMaple; import mineplex.core.gadget.gadgets.doublejump.DoubleJumpMusic; +import mineplex.core.gadget.gadgets.doublejump.DoubleJumpRainbow; import mineplex.core.gadget.gadgets.doublejump.DoubleJumpShadow; import mineplex.core.gadget.gadgets.doublejump.DoubleJumpSpring; import mineplex.core.gadget.gadgets.doublejump.DoubleJumpStorm; @@ -226,7 +229,7 @@ import mineplex.core.gadget.gadgets.particle.ParticleFairy; import mineplex.core.gadget.gadgets.particle.ParticleFireRings; import mineplex.core.gadget.gadgets.particle.ParticleFoot; import mineplex.core.gadget.gadgets.particle.ParticleFrostLord; -import mineplex.core.gadget.gadgets.particle.ParticleGryo; +import mineplex.core.gadget.gadgets.particle.ParticleRainbow; import mineplex.core.gadget.gadgets.particle.ParticleHeart; import mineplex.core.gadget.gadgets.particle.ParticleLegend; import mineplex.core.gadget.gadgets.particle.ParticleMusic; @@ -281,6 +284,7 @@ import mineplex.core.gadget.set.SetHalloween; import mineplex.core.gadget.set.SetHowlingWinds; import mineplex.core.gadget.set.SetMusic; import mineplex.core.gadget.set.SetParty; +import mineplex.core.gadget.set.SetRainbow; import mineplex.core.gadget.set.SetShadow; import mineplex.core.gadget.set.SetSpring; import mineplex.core.gadget.set.SetTitan; @@ -476,6 +480,7 @@ public class GadgetManager extends MiniPlugin addSet(new SetSpring(this)); addSet(new SetCanadian(this)); addSet(new SetHalloween(this)); + addSet(new SetRainbow(this)); } private void createGadgets() @@ -638,7 +643,7 @@ public class GadgetManager extends MiniPlugin addGadget(new ParticleCanadian(this)); addGadget(new ParticleHalloween(this)); - addGadget(new ParticleGryo(this, _achievementManager)); + addGadget(new ParticleRainbow(this, _achievementManager)); // Arrow Trails addGadget(new ArrowTrailFrostLord(this)); @@ -656,6 +661,7 @@ public class GadgetManager extends MiniPlugin addGadget(new ArrowTrailHalloween(this)); addGadget(new ArrowTrailSpring(this)); addGadget(new ArrowTrailRedWhite(this)); + addGadget(new ArrowTrailRainbow(this, _achievementManager)); // Death Effect addGadget(new DeathFrostLord(this)); @@ -674,6 +680,7 @@ public class GadgetManager extends MiniPlugin addGadget(new DeathSpring(this)); addGadget(new DeathMapleLeaf(this)); addGadget(new DeathHalloween(this)); + addGadget(new DeathRainbow(this, _achievementManager)); // Double Jump addGadget(new DoubleJumpFrostLord(this)); @@ -691,6 +698,7 @@ public class GadgetManager extends MiniPlugin addGadget(new DoubleJumpHalloween(this)); addGadget(new DoubleJumpSpring(this)); addGadget(new DoubleJumpMaple(this)); + addGadget(new DoubleJumpRainbow(this, _achievementManager)); // Hat for (HatType hatType : HatType.values()) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/arrowtrail/ArrowTrailRainbow.java b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/arrowtrail/ArrowTrailRainbow.java new file mode 100644 index 000000000..253dfbf19 --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/arrowtrail/ArrowTrailRainbow.java @@ -0,0 +1,85 @@ +package mineplex.core.gadget.gadgets.arrowtrail; + +import java.util.HashMap; +import java.util.Map; + +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.entity.Arrow; +import org.bukkit.entity.Player; + +import mineplex.core.achievement.AchievementManager; +import mineplex.core.common.util.UtilAlg; +import mineplex.core.common.util.UtilMath; +import mineplex.core.common.util.UtilParticle.ParticleType; +import mineplex.core.common.util.particles.ColoredParticle; +import mineplex.core.common.util.particles.DustSpellColor; +import mineplex.core.gadget.GadgetManager; +import mineplex.core.gadget.set.SetRainbow; +import mineplex.core.gadget.types.ArrowEffectGadget; +import mineplex.core.gadget.util.CostConstants; +import mineplex.core.particleeffects.BabyFireworkEffect; + +public class ArrowTrailRainbow extends ArrowEffectGadget +{ + + private final AchievementManager _achievementManager; + private final Map _rings; + + public ArrowTrailRainbow(GadgetManager manager, AchievementManager achievementManager) + { + super(manager, "Rainbow Arrows", SetRainbow.GADGET_LORE, CostConstants.NO_LORE, Material.WOOL, (byte) (UtilMath.r(14) + 1)); + + _achievementManager = achievementManager; + _rings = new HashMap<>(); + } + + @Override + public void enableCustom(Player player, boolean message) + { + super.enableCustom(player, message); + + int size = Math.min(SetRainbow.PER_LEVEL, 1 + _achievementManager.getMineplexLevelNumber(player) / SetRainbow.PER_LEVEL); + + _rings.put(player, size); + } + + @Override + public void disableCustom(Player player, boolean message) + { + super.disableCustom(player, message); + + _rings.remove(player); + } + + @Override + public void doTrail(Arrow arrow) + { + Player shooter = (Player) arrow.getShooter(); + int rings = _rings.get(shooter); + + for (int i = 0; i < rings; i++) + { + DustSpellColor colour = SetRainbow.COLOURS[i]; + + new ColoredParticle(ParticleType.RED_DUST, colour, UtilAlg.getRandomLocation(arrow.getLocation(), 0.2)) + .display(); + } + } + + @Override + public void doHitEffect(Arrow arrow) + { + Player shooter = (Player) arrow.getShooter(); + Location location = arrow.getLocation(); + int rings = _rings.get(shooter); + + for (int i = 0; i < rings; i++) + { + DustSpellColor colour = SetRainbow.COLOURS[i]; + + new BabyFireworkEffect(UtilAlg.getRandomLocation(location, 1, 0.5, 1), colour.toAwtColor()) + .start(); + } + } +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/death/DeathRainbow.java b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/death/DeathRainbow.java new file mode 100644 index 000000000..d2d65ac65 --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/death/DeathRainbow.java @@ -0,0 +1,102 @@ +package mineplex.core.gadget.gadgets.death; + +import java.util.HashMap; +import java.util.Map; + +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.scheduler.BukkitRunnable; + +import mineplex.core.achievement.AchievementManager; +import mineplex.core.blood.BloodEvent; +import mineplex.core.common.util.UtilMath; +import mineplex.core.common.util.UtilParticle.ParticleType; +import mineplex.core.common.util.particles.ColoredParticle; +import mineplex.core.common.util.particles.DustSpellColor; +import mineplex.core.gadget.GadgetManager; +import mineplex.core.gadget.set.SetRainbow; +import mineplex.core.gadget.types.DeathEffectGadget; +import mineplex.core.gadget.util.CostConstants; + +public class DeathRainbow extends DeathEffectGadget +{ + + private static final double RADIUS = 1.3; + + private final AchievementManager _achievementManager; + private final Map _rings; + + public DeathRainbow(GadgetManager manager, AchievementManager achievementManager) + { + super(manager, "Rainbow Death", SetRainbow.GADGET_LORE, CostConstants.NO_LORE, Material.WOOL, (byte) (UtilMath.r(14) + 1)); + + _achievementManager = achievementManager; + _rings = new HashMap<>(); + } + + @Override + public void enableCustom(Player player, boolean message) + { + super.enableCustom(player, message); + + int size = Math.min(SetRainbow.PER_LEVEL, 1 + _achievementManager.getMineplexLevelNumber(player) / SetRainbow.PER_LEVEL); + + _rings.put(player, size); + } + + @Override + public void disableCustom(Player player, boolean message) + { + super.disableCustom(player, message); + + _rings.remove(player); + } + + @Override + public void onBlood(Player player, BloodEvent event) + { + event.setItem(Material.WOOL, (byte) (UtilMath.r(14) + 1)); + + Location location = player.getLocation().add(0, 0.2, 0); + int rings = _rings.get(player); + + Manager.runSyncTimer(new BukkitRunnable() + { + + int iterations = 0; + + @Override + public void run() + { + if (++iterations > 15) + { + cancel(); + return; + } + + Location pLocation = location.clone(); + + for (int i = 0; i < rings; i++) + { + DustSpellColor colour = SetRainbow.COLOURS[i]; + + for (double theta = 0; theta < 2 * Math.PI; theta += Math.PI / 20) + { + double x = RADIUS * Math.cos(theta); + double z = RADIUS * Math.sin(theta); + + pLocation.add(x, 0, z); + + new ColoredParticle(ParticleType.RED_DUST, colour, pLocation) + .display(); + + pLocation.subtract(x, 0, z); + } + + pLocation.add(0, 0.2, 0); + } + } + }, 1, 1); + } +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/doublejump/DoubleJumpRainbow.java b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/doublejump/DoubleJumpRainbow.java new file mode 100644 index 000000000..517116070 --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/doublejump/DoubleJumpRainbow.java @@ -0,0 +1,98 @@ +package mineplex.core.gadget.gadgets.doublejump; + +import java.util.HashMap; +import java.util.Map; + +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.scheduler.BukkitRunnable; + +import mineplex.core.achievement.AchievementManager; +import mineplex.core.common.util.UtilMath; +import mineplex.core.common.util.UtilParticle.ParticleType; +import mineplex.core.common.util.particles.ColoredParticle; +import mineplex.core.common.util.particles.DustSpellColor; +import mineplex.core.gadget.GadgetManager; +import mineplex.core.gadget.set.SetRainbow; +import mineplex.core.gadget.types.DoubleJumpEffectGadget; +import mineplex.core.gadget.util.CostConstants; + +public class DoubleJumpRainbow extends DoubleJumpEffectGadget +{ + + private final AchievementManager _achievementManager; + private final Map _rings; + + public DoubleJumpRainbow(GadgetManager manager, AchievementManager achievementManager) + { + super(manager, "Rainbow Leap", SetRainbow.GADGET_LORE, CostConstants.NO_LORE, Material.WOOL, (byte) (UtilMath.r(14) + 1)); + + _achievementManager = achievementManager; + _rings = new HashMap<>(); + } + + @Override + public void enableCustom(Player player, boolean message) + { + super.enableCustom(player, message); + + int size = Math.min(SetRainbow.PER_LEVEL, 1 + _achievementManager.getMineplexLevelNumber(player) / SetRainbow.PER_LEVEL); + + _rings.put(player, size); + } + + @Override + public void disableCustom(Player player, boolean message) + { + super.disableCustom(player, message); + + _rings.remove(player); + } + + @Override + public void doEffect(Player player) + { + Location location = player.getLocation().add(0, 0.2, 0); + int rings = _rings.get(player); + + Manager.runSyncTimer(new BukkitRunnable() + { + + int iterations = 0; + + @Override + public void run() + { + if (++iterations > 15) + { + cancel(); + return; + } + + double radius = 0.5; + + for (int i = 0; i < rings; i++) + { + DustSpellColor colour = SetRainbow.COLOURS[i]; + + for (double theta = 0; theta < 2 * Math.PI; theta += Math.PI / (2 * i + 1)) + { + double x = radius * Math.cos(theta); + double z = radius * Math.sin(theta); + + location.add(x, 0, z); + + new ColoredParticle(ParticleType.RED_DUST, colour, location) + .display(); + + location.subtract(x, 0, z); + } + + radius += 0.25; + } + } + }, 1, 1); + } + +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/particle/ParticleGryo.java b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/particle/ParticleRainbow.java similarity index 68% rename from Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/particle/ParticleGryo.java rename to Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/particle/ParticleRainbow.java index ef3333ba1..ad7741ec5 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/particle/ParticleGryo.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/particle/ParticleRainbow.java @@ -3,7 +3,6 @@ package mineplex.core.gadget.gadgets.particle; import java.util.HashMap; import java.util.Map; -import org.bukkit.Color; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -11,35 +10,21 @@ import org.bukkit.event.EventHandler; import org.bukkit.util.Vector; import mineplex.core.achievement.AchievementManager; -import mineplex.core.common.util.C; import mineplex.core.common.util.UtilAlg; import mineplex.core.common.util.UtilMath; import mineplex.core.common.util.UtilParticle.ParticleType; import mineplex.core.common.util.particles.ColoredParticle; import mineplex.core.common.util.particles.DustSpellColor; import mineplex.core.gadget.GadgetManager; +import mineplex.core.gadget.set.SetRainbow; 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 ParticleGryo extends ParticleGadget +public class ParticleRainbow extends ParticleGadget { - private static final int RING_PER = 10; - private static final DustSpellColor[] COLOURS = - { - new DustSpellColor(Color.RED), - new DustSpellColor(Color.ORANGE), - new DustSpellColor(Color.YELLOW), - new DustSpellColor(Color.LIME), - new DustSpellColor(Color.GREEN), - new DustSpellColor(Color.AQUA), - new DustSpellColor(Color.TEAL), - new DustSpellColor(Color.BLUE), - new DustSpellColor(Color.FUCHSIA), - new DustSpellColor(Color.PURPLE), - }; private static final double STARTING_RADIUS = 0.7; private static final double SEPARATING_RADIUS = 0.1; private static final double MAX_THETA = 2 * Math.PI; @@ -50,20 +35,9 @@ public class ParticleGryo extends ParticleGadget private double _vectorTheta; - public ParticleGryo(GadgetManager manager, AchievementManager achievementManager) + public ParticleRainbow(GadgetManager manager, AchievementManager achievementManager) { - super(manager, "Rainbow Aura", new String[] - { - C.cWhite + "Bask in the light of", - C.cWhite + "your dedication with a", - C.cWhite + "set of rainbows that get", - C.cWhite + "cooler the more you level up", - C.blankLine, - C.cWhite + "+1 Ring per " + RING_PER + " Mineplex Levels", - C.blankLine, - C.cBlue + "Only purchasable during", - C.cBlue + "November 2017", - }, CostConstants.NO_LORE, Material.WOOL, (byte) (UtilMath.r(14) + 1)); + super(manager, "Rainbow Aura", SetRainbow.GADGET_LORE, CostConstants.NO_LORE, Material.WOOL, (byte) (UtilMath.r(14) + 1)); _achievementManager = achievementManager; _rings = new HashMap<>(); @@ -74,7 +48,7 @@ public class ParticleGryo extends ParticleGadget { super.enableCustom(player, message); - int size = Math.min(RING_PER, 1 + _achievementManager.getMineplexLevelNumber(player) / RING_PER); + int size = Math.min(SetRainbow.PER_LEVEL, 1 + _achievementManager.getMineplexLevelNumber(player) / SetRainbow.PER_LEVEL); _rings.put(player, size); } @@ -97,7 +71,7 @@ public class ParticleGryo extends ParticleGadget { for (int i = 0; i < rings; i++) { - DustSpellColor colour = COLOURS[i]; + DustSpellColor colour = SetRainbow.COLOURS[i]; double x = Math.random() - 0.5; double y = Math.random() - 0.5; double z = Math.random() - 0.5; @@ -114,7 +88,7 @@ public class ParticleGryo extends ParticleGadget { for (int i = 0; i < rings; i++) { - DustSpellColor colour = COLOURS[i]; + DustSpellColor colour = SetRainbow.COLOURS[i]; int j = i + 1; double vectorTheta = _vectorTheta + (MAX_THETA / j); double r = STARTING_RADIUS + SEPARATING_RADIUS * j; diff --git a/Plugins/Mineplex.Core/src/mineplex/core/gadget/set/SetRainbow.java b/Plugins/Mineplex.Core/src/mineplex/core/gadget/set/SetRainbow.java new file mode 100644 index 000000000..0b8ed4bea --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/gadget/set/SetRainbow.java @@ -0,0 +1,54 @@ +package mineplex.core.gadget.set; + +import org.bukkit.Color; + +import mineplex.core.common.util.C; +import mineplex.core.common.util.particles.DustSpellColor; +import mineplex.core.gadget.GadgetManager; +import mineplex.core.gadget.gadgets.arrowtrail.ArrowTrailRainbow; +import mineplex.core.gadget.gadgets.death.DeathRainbow; +import mineplex.core.gadget.gadgets.doublejump.DoubleJumpRainbow; +import mineplex.core.gadget.gadgets.particle.ParticleRainbow; +import mineplex.core.gadget.types.GadgetSet; + +public class SetRainbow extends GadgetSet +{ + + public static final int PER_LEVEL = 10; + public static final String[] GADGET_LORE = + { + C.cWhite + "Bask in the light of", + C.cWhite + "your dedication with a", + C.cWhite + "set of rainbows that get", + C.cWhite + "cooler the more you level up", + C.blankLine, + C.cWhite + "+1 Color per " + PER_LEVEL + " Mineplex Levels", + C.blankLine, + C.cBlue + "Only purchasable as part of", + C.cBlue + "the Rainbow Bundle during", + C.cBlue + "November 2017", + }; + public static final DustSpellColor[] COLOURS = + { + new DustSpellColor(Color.RED), + new DustSpellColor(Color.ORANGE), + new DustSpellColor(Color.YELLOW), + new DustSpellColor(Color.LIME), + new DustSpellColor(Color.GREEN), + new DustSpellColor(Color.AQUA), + new DustSpellColor(Color.TEAL), + new DustSpellColor(Color.BLUE), + new DustSpellColor(Color.FUCHSIA), + new DustSpellColor(Color.PURPLE), + }; + + public SetRainbow(GadgetManager manager) + { + super(manager, "Rainbow", "None", + manager.getGadget(ArrowTrailRainbow.class), + manager.getGadget(DeathRainbow.class), + manager.getGadget(DoubleJumpRainbow.class), + manager.getGadget(ParticleRainbow.class) + ); + } +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/gadget/types/GadgetSet.java b/Plugins/Mineplex.Core/src/mineplex/core/gadget/types/GadgetSet.java index 14a138de7..47feb114b 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/gadget/types/GadgetSet.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/gadget/types/GadgetSet.java @@ -90,7 +90,6 @@ public abstract class GadgetSet implements Listener public void customDisable(Player player) { player.sendMessage(F.main("Gadget", "Set Disabled: " + F.elem(C.cRed + getName()))); - } public Gadget[] getGadgets() diff --git a/Plugins/Mineplex.Core/src/mineplex/core/powerplayclub/PowerPlayClubRewards.java b/Plugins/Mineplex.Core/src/mineplex/core/powerplayclub/PowerPlayClubRewards.java index e800b8bda..6474a5ced 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/powerplayclub/PowerPlayClubRewards.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/powerplayclub/PowerPlayClubRewards.java @@ -43,6 +43,7 @@ public class PowerPlayClubRewards .put(YearMonth.of(2017, Month.AUGUST), new UnknownSalesPackageItem("Melonhead Morph")) .put(YearMonth.of(2017, Month.SEPTEMBER), new UnknownSalesPackageItem("Tornado")) .put(YearMonth.of(2017, Month.OCTOBER), new UnknownSalesPackageItem("Ghast Morph")) + .put(YearMonth.of(2017, Month.NOVEMBER), new UnknownSalesPackageItem("Tic Tac Toc")) .build(); public interface PowerPlayClubItem