From 201782a7cd755f08c917b15df9786315792a69f0 Mon Sep 17 00:00:00 2001 From: CoderTim Date: Sun, 7 Sep 2014 18:09:46 -0400 Subject: [PATCH 1/5] Added leaderboard.php --- Plugins/Mineplex.Core/Mineplex.Core.iml | 2 +- .../tables/TournamentLeaderboard.java | 6 +- .../tables/records/TournamentLeaderboard.java | 20 +-- Webpages/leaderboard.php | 125 ++++++++++++++++++ 4 files changed, 139 insertions(+), 14 deletions(-) create mode 100644 Webpages/leaderboard.php diff --git a/Plugins/Mineplex.Core/Mineplex.Core.iml b/Plugins/Mineplex.Core/Mineplex.Core.iml index 75a9fe5c9..9ba34f260 100644 --- a/Plugins/Mineplex.Core/Mineplex.Core.iml +++ b/Plugins/Mineplex.Core/Mineplex.Core.iml @@ -15,8 +15,8 @@ - + diff --git a/Plugins/Mineplex.Database/src/mineplex/database/tables/TournamentLeaderboard.java b/Plugins/Mineplex.Database/src/mineplex/database/tables/TournamentLeaderboard.java index ab519d88e..136c68f89 100644 --- a/Plugins/Mineplex.Database/src/mineplex/database/tables/TournamentLeaderboard.java +++ b/Plugins/Mineplex.Database/src/mineplex/database/tables/TournamentLeaderboard.java @@ -11,7 +11,7 @@ package mineplex.database.tables; @java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class TournamentLeaderboard extends org.jooq.impl.TableImpl implements java.io.Serializable, java.lang.Cloneable { - private static final long serialVersionUID = -2050960225; + private static final long serialVersionUID = 1795216465; /** * The singleton instance of Account.tournamentLeaderboard @@ -57,9 +57,9 @@ public class TournamentLeaderboard extends org.jooq.impl.TableImpl total = createField("total", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaulted(true), this, ""); /** - * The column Account.tournamentLeaderboard.ratio. + * The column Account.tournamentLeaderboard.score. */ - public final org.jooq.TableField ratio = createField("ratio", org.jooq.impl.SQLDataType.FLOAT, this, ""); + public final org.jooq.TableField score = createField("score", org.jooq.impl.SQLDataType.DOUBLE, this, ""); /** * Create a Account.tournamentLeaderboard table reference diff --git a/Plugins/Mineplex.Database/src/mineplex/database/tables/records/TournamentLeaderboard.java b/Plugins/Mineplex.Database/src/mineplex/database/tables/records/TournamentLeaderboard.java index 7ceda5586..e87e008b2 100644 --- a/Plugins/Mineplex.Database/src/mineplex/database/tables/records/TournamentLeaderboard.java +++ b/Plugins/Mineplex.Database/src/mineplex/database/tables/records/TournamentLeaderboard.java @@ -11,7 +11,7 @@ package mineplex.database.tables.records; @java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class TournamentLeaderboard extends org.jooq.impl.UpdatableRecordImpl implements java.io.Serializable, java.lang.Cloneable, org.jooq.Record7 { - private static final long serialVersionUID = -1193236965; + private static final long serialVersionUID = 1130073862; /** * Setter for Account.tournamentLeaderboard.id. @@ -98,16 +98,16 @@ public class TournamentLeaderboard extends org.jooq.impl.UpdatableRecordImplAccount.tournamentLeaderboard.ratio. + * Setter for Account.tournamentLeaderboard.score. */ - public void setRatio(java.lang.Double value) { + public void setScore(java.lang.Double value) { setValue(6, value); } /** - * Getter for Account.tournamentLeaderboard.ratio. + * Getter for Account.tournamentLeaderboard.score. */ - public java.lang.Double getRatio() { + public java.lang.Double getScore() { return (java.lang.Double) getValue(6); } @@ -196,7 +196,7 @@ public class TournamentLeaderboard extends org.jooq.impl.UpdatableRecordImpl field7() { - return mineplex.database.tables.TournamentLeaderboard.tournamentLeaderboard.ratio; + return mineplex.database.tables.TournamentLeaderboard.tournamentLeaderboard.score; } /** @@ -252,7 +252,7 @@ public class TournamentLeaderboard extends org.jooq.impl.UpdatableRecordImpl + + + The Fall Invitational Leaderboard + + + + + +
+
+ Mineplex +

The Fall Invitational

+

Tournament Leaderboard

+
+
+ +
+ +
+
+ + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
RankPlayerWinsLossesScore*
+
+
+
+ +
+
+

*Score = 100 × Wins × (Wins / Total)3

+
+ + + \ No newline at end of file From 347e2b1bf5297bf115493dbb12b02f061fda1402 Mon Sep 17 00:00:00 2001 From: Chiss Date: Mon, 8 Sep 2014 10:14:55 +1000 Subject: [PATCH 2/5] Changed FIRE items to Blaze Powder --- .../src/mineplex/core/gadget/gadgets/MorphBlaze.java | 2 +- .../minecraft/game/classcombat/Skill/Mage/Immolate.java | 2 +- .../minecraft/game/classcombat/Skill/Mage/Inferno.java | 2 +- .../minecraft/game/classcombat/Skill/Ranger/NapalmShot.java | 2 +- .../minecraft/game/classcombat/shop/page/CustomBuildPage.java | 4 ++-- .../nautilus/game/arcade/game/games/halloween/Halloween.java | 2 +- .../arcade/game/games/halloween/creatures/PumpkinKing.java | 2 +- .../game/games/minestrike/items/equipment/armor/Armor.java | 1 - .../arcade/game/games/minestrike/items/guns/rifle/AWP.java | 2 +- .../game/arcade/game/games/smash/kits/KitSkeletalHorse.java | 2 +- .../src/nautilus/game/arcade/kit/perks/PerkBoneRush.java | 4 ++-- .../src/nautilus/game/arcade/kit/perks/PerkFlamingSword.java | 2 +- .../src/nautilus/game/arcade/kit/perks/PerkInferno.java | 2 +- .../src/nautilus/game/arcade/kit/perks/PerkInfernoFinn.java | 2 +- 14 files changed, 15 insertions(+), 16 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/MorphBlaze.java b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/MorphBlaze.java index 42605a927..9add2701a 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/MorphBlaze.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/gadget/gadgets/MorphBlaze.java @@ -31,7 +31,7 @@ public class MorphBlaze extends MorphGadget C.cPurple + "Unlocked with Hero Rank", }, -1, - Material.FIRE, (byte)0); + Material.BLAZE_POWDER, (byte)0); } @Override diff --git a/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Mage/Immolate.java b/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Mage/Immolate.java index d12e25947..700ff0e80 100644 --- a/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Mage/Immolate.java +++ b/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Mage/Immolate.java @@ -203,7 +203,7 @@ public class Immolate extends Skill int level = getLevel(cur); //Fire - Item fire = cur.getWorld().dropItem(cur.getLocation().add(0, 0.5, 0), ItemStackFactory.Instance.CreateStack(Material.FIRE)); + Item fire = cur.getWorld().dropItem(cur.getLocation().add(0, 0.5, 0), ItemStackFactory.Instance.CreateStack(Material.BLAZE_POWDER)); fire.setVelocity(new Vector((Math.random() - 0.5)/3,Math.random()/3,(Math.random() - 0.5)/3)); Factory.Fire().Add(fire, cur, 2, 0, 0.25 + (level * 0.25), 0, GetName()); diff --git a/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Mage/Inferno.java b/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Mage/Inferno.java index 5fabfdbad..dd1a5543e 100644 --- a/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Mage/Inferno.java +++ b/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Mage/Inferno.java @@ -103,7 +103,7 @@ public class Inferno extends SkillActive } //Fire - Item fire = cur.getWorld().dropItem(cur.getEyeLocation().add(cur.getLocation().getDirection()), ItemStackFactory.Instance.CreateStack(Material.FIRE)); + Item fire = cur.getWorld().dropItem(cur.getEyeLocation().add(cur.getLocation().getDirection()), ItemStackFactory.Instance.CreateStack(Material.BLAZE_POWDER)); Factory.Fire().Add(fire, cur, 0.7, 0, 0.3 + (0.1 * level), 1, GetName()); fire.teleport(cur.getEyeLocation()); diff --git a/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Ranger/NapalmShot.java b/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Ranger/NapalmShot.java index 215361a1b..4fcfe8660 100644 --- a/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Ranger/NapalmShot.java +++ b/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/Skill/Ranger/NapalmShot.java @@ -121,7 +121,7 @@ public class NapalmShot extends SkillActive for (int i = 0 ; i < 8 + (8 * level) ; i++) { - Item fire = proj.getWorld().dropItemNaturally(proj.getLocation(), ItemStackFactory.Instance.CreateStack(Material.FIRE, 1)); + Item fire = proj.getWorld().dropItemNaturally(proj.getLocation(), ItemStackFactory.Instance.CreateStack(Material.BLAZE_POWDER, 1)); Factory.Fire().Add(fire, damager, 16, 0.25, 2, 0, GetName()); fire.setVelocity(fire.getVelocity().multiply(1 + (0.15 * level))); } diff --git a/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/shop/page/CustomBuildPage.java b/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/shop/page/CustomBuildPage.java index e2782064f..1d24b778f 100644 --- a/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/shop/page/CustomBuildPage.java +++ b/Plugins/Mineplex.Minecraft.Game.ClassCombat/src/mineplex/minecraft/game/classcombat/shop/page/CustomBuildPage.java @@ -105,13 +105,13 @@ public class CustomBuildPage extends ShopPageBase return; //Effect - Host.Manager.GetBlood().Effects(event.GetDamageeEntity().getLocation(), 10, 0.2, null, 0f, 0f, Material.FIRE, (byte)0, 10, false); + Host.Manager.GetBlood().Effects(event.GetDamageeEntity().getLocation(), 10, 0.2, null, 0f, 0f, Material.BLAZE_POWDER, (byte)0, 10, false); event.GetDamageeEntity().getWorld().playEffect(event.GetDamageeEntity().getLocation(), Effect.STEP_SOUND, 51); //Remove diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/equipment/armor/Armor.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/equipment/armor/Armor.java index 1d1b64ec3..275062ce9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/equipment/armor/Armor.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/equipment/armor/Armor.java @@ -58,7 +58,6 @@ public class Armor extends StrikeItem } catch (Exception e) { - e.printStackTrace(); return false; } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/guns/rifle/AWP.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/guns/rifle/AWP.java index a0231458e..884c28a6d 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/guns/rifle/AWP.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/minestrike/items/guns/rifle/AWP.java @@ -20,7 +20,7 @@ public class AWP extends Gun 10, 3, //Clip Size, Spare Ammo 1500, 3600, //ROF, Reload Time 115, 0, 0.97, //Damage, Dropoff, Armor Penetration - 0.1, 0.1, //COF Min, COF Max + 0.14, 0.14, //COF Min, COF Max 0, 0, //COF Inc per Bullet, COF Dec per Second Material.GOLD_SPADE, Sound.DRINK); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/kits/KitSkeletalHorse.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/kits/KitSkeletalHorse.java index 5eb051fb0..a1ca5df68 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/kits/KitSkeletalHorse.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/smash/kits/KitSkeletalHorse.java @@ -71,7 +71,7 @@ public class KitSkeletalHorse extends SmashKit })); if (Manager.GetGame().GetState() == GameState.Recruit) - player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.FIRE, (byte)0, 1, + player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BLAZE_POWDER, (byte)0, 1, C.cYellow + C.Bold + "Passive" + C.cWhite + C.Bold + " - " + C.cGreen + C.Bold + "Infernal Horror", new String[] { diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBoneRush.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBoneRush.java index abb5ef0f6..07f271290 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBoneRush.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkBoneRush.java @@ -149,7 +149,7 @@ public class PerkBoneRush extends Perk implements IThrown } else { - Item fire = player.getWorld().dropItem(player.getLocation().add(Math.random()*5 - 2.5, Math.random()*3, Math.random()*5 - 2.5), new ItemStack(Material.FIRE)); + Item fire = player.getWorld().dropItem(player.getLocation().add(Math.random()*5 - 2.5, Math.random()*3, Math.random()*5 - 2.5), new ItemStack(Material.BLAZE_POWDER)); UtilAction.velocity(fire, dir, 0.6 + 0.3 * Math.random(), false, 0, 0.1 + Math.random() * 0.05, 0.3, false); Manager.GetProjectile().AddThrow(fire, player, this, -1, true, true, true, false, 1d); } @@ -169,7 +169,7 @@ public class PerkBoneRush extends Perk implements IThrown @Override public void Collide(LivingEntity target, Block block, ProjectileUser data) { - boolean burning = ((Item)data.GetThrown()).getItemStack().getType() == Material.FIRE; + boolean burning = ((Item)data.GetThrown()).getItemStack().getType() == Material.BLAZE_POWDER; data.GetThrown().remove(); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkFlamingSword.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkFlamingSword.java index a4e4d2e4a..9f17c5456 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkFlamingSword.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkFlamingSword.java @@ -110,7 +110,7 @@ public class PerkFlamingSword extends Perk } //Fire - Item fire = cur.getWorld().dropItem(cur.getEyeLocation(), ItemStackFactory.Instance.CreateStack(Material.FIRE)); + Item fire = cur.getWorld().dropItem(cur.getEyeLocation(), ItemStackFactory.Instance.CreateStack(Material.BLAZE_POWDER)); Manager.GetFire().Add(fire, cur, 0.7, 0, 0.5, 1, "Inferno"); fire.teleport(cur.getEyeLocation()); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInferno.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInferno.java index 3c5146b84..3f68cf2d3 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInferno.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInferno.java @@ -100,7 +100,7 @@ public class PerkInferno extends Perk } //Fire - Item fire = cur.getWorld().dropItem(cur.getEyeLocation(), ItemStackFactory.Instance.CreateStack(Material.FIRE)); + Item fire = cur.getWorld().dropItem(cur.getEyeLocation(), ItemStackFactory.Instance.CreateStack(Material.BLAZE_POWDER)); Manager.GetFire().Add(fire, cur, 0.7, 0, 0.5, 1, "Inferno"); fire.teleport(cur.getEyeLocation()); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInfernoFinn.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInfernoFinn.java index bd8ecbff7..83e4e48f5 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInfernoFinn.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkInfernoFinn.java @@ -85,7 +85,7 @@ public class PerkInfernoFinn extends Perk } //Fire - Item fire = cur.getWorld().dropItem(cur.getEyeLocation(), ItemStackFactory.Instance.CreateStack(Material.FIRE)); + Item fire = cur.getWorld().dropItem(cur.getEyeLocation(), ItemStackFactory.Instance.CreateStack(Material.BLAZE_POWDER)); Manager.GetFire().Add(fire, cur, 0.7, 0, 2, 2, "Inferno"); fire.teleport(cur.getEyeLocation()); From 652075138ec5bf47752d9dbc99de4c4c0dc2d965 Mon Sep 17 00:00:00 2001 From: Shaun Bennett Date: Mon, 8 Sep 2014 13:26:18 -0500 Subject: [PATCH 3/5] More treasure rewards work --- .../src/mineplex/core/treasure/Treasure.java | 11 ++-- .../core/treasure/TreasureManager.java | 29 ++++---- .../animation/ChestOpenAnimation.java | 7 +- .../core/treasure/reward/ITreasureReward.java | 15 ++++- .../core/treasure/reward/RewardManager.java | 35 ++++++---- .../reward/rewards/AbstractReward.java | 45 +++++++++++++ .../treasure/reward/rewards/CoinReward.java | 66 +++++++++++++++++++ .../reward/rewards/ExampleReward.java | 45 ------------- .../treasure/reward/rewards/GadgetReward.java | 33 +++------- .../treasure/reward/rewards/GemReward.java | 48 +++++++------- 10 files changed, 199 insertions(+), 135 deletions(-) create mode 100644 Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/AbstractReward.java create mode 100644 Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/CoinReward.java delete mode 100644 Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/ExampleReward.java diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java index f5e43d998..729f282ef 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java @@ -13,9 +13,9 @@ import org.bukkit.entity.Player; import mineplex.core.common.util.NautHashMap; import mineplex.core.common.util.UtilParticle; -import mineplex.core.treasure.animation.ChestSpawnAnimation; -import mineplex.core.treasure.animation.ChestOpenAnimation; import mineplex.core.treasure.animation.Animation; +import mineplex.core.treasure.animation.ChestOpenAnimation; +import mineplex.core.treasure.animation.ChestSpawnAnimation; import mineplex.core.treasure.reward.ITreasureReward; /** @@ -214,14 +214,15 @@ public class Treasure ChestData data = getChestData(block); if (data != null && !data.isOpened()) { - data.setOpened(true); - data.getReward().giveReward(_player); + String text = data.getReward().giveReward(_player); - ChestOpenAnimation chestOpenTask = new ChestOpenAnimation(this, data); + data.setOpened(true); + ChestOpenAnimation chestOpenTask = new ChestOpenAnimation(this, data, text); _animations.add(chestOpenTask); if (isFinished()) { + // TODO figure out finish event System.out.println("finished"); } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureManager.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureManager.java index 88dff920b..656dce178 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureManager.java @@ -1,27 +1,16 @@ package mineplex.core.treasure; -import java.util.Iterator; -import java.util.Map; - import org.bukkit.Location; import org.bukkit.Material; -import org.bukkit.Sound; import org.bukkit.block.Block; -import org.bukkit.block.BlockFace; -import org.bukkit.craftbukkit.v1_7_R4.block.CraftBlock; -import org.bukkit.craftbukkit.v1_7_R4.entity.CraftPlayer; -import org.bukkit.craftbukkit.v1_7_R4.util.CraftMagicNumbers; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.block.Action; -import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.plugin.java.JavaPlugin; -import net.minecraft.server.v1_7_R4.PacketPlayOutBlockAction; - import mineplex.core.MiniPlugin; import mineplex.core.common.util.F; import mineplex.core.common.util.NautHashMap; @@ -29,10 +18,10 @@ import mineplex.core.common.util.UtilAction; import mineplex.core.common.util.UtilAlg; import mineplex.core.common.util.UtilBlock; import mineplex.core.common.util.UtilPlayer; -import mineplex.core.common.util.UtilServer; import mineplex.core.donation.DonationManager; import mineplex.core.treasure.reward.ITreasureReward; import mineplex.core.treasure.reward.RewardManager; +import mineplex.core.treasure.reward.RewardRarity; import mineplex.core.treasure.reward.rewards.GemReward; import mineplex.core.updater.UpdateType; import mineplex.core.updater.event.UpdateEvent; @@ -54,12 +43,18 @@ public class TreasureManager extends MiniPlugin _playerTreasureMap = new NautHashMap(); _rewardManager = new RewardManager(); + // Very Rare + _rewardManager.addReward(new GemReward(donationManager, 1000, 2000, 1000, RewardRarity.VERY_RARE)); + + // Rare + _rewardManager.addReward(new GemReward(donationManager, 500, 1000, 1000, RewardRarity.RARE)); + + // Uncommon + _rewardManager.addReward(new GemReward(donationManager, 100, 500, 1000, RewardRarity.UNCOMMON)); + + // Common + _rewardManager.addReward(new GemReward(donationManager, 0, 100, 1000, RewardRarity.COMMON)); - _rewardManager.addReward(new GemReward(_donationManager, 5)); - _rewardManager.addReward(new GemReward(_donationManager, 50)); - _rewardManager.addReward(new GemReward(_donationManager, 200)); - _rewardManager.addReward(new GemReward(_donationManager, 500)); - _rewardManager.addReward(new GemReward(_donationManager, 5000)); } @Override diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/ChestOpenAnimation.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/ChestOpenAnimation.java index 634e15197..a1721b111 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/ChestOpenAnimation.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/animation/ChestOpenAnimation.java @@ -8,7 +8,6 @@ import org.bukkit.craftbukkit.v1_7_R4.util.CraftMagicNumbers; import org.bukkit.entity.Item; import org.bukkit.entity.Player; import org.bukkit.util.Vector; - import net.minecraft.server.v1_7_R4.PacketPlayOutBlockAction; import mineplex.core.common.util.UtilServer; @@ -22,14 +21,16 @@ import mineplex.core.treasure.Treasure; public class ChestOpenAnimation extends Animation { private ChestData _chestData; + private String _text; private Item _itemEntity; private SimpleHologram _hologram; - public ChestOpenAnimation(Treasure treasure, ChestData chestData) + public ChestOpenAnimation(Treasure treasure, ChestData chestData, String text) { super(treasure); _chestData = chestData; + _text = text; // Send chest open packet Block block = chestData.getBlock(); @@ -53,7 +54,7 @@ public class ChestOpenAnimation extends Animation } else if (getTicks() == 15) { - _hologram = new SimpleHologram(_chestData.getBlock().getLocation().add(0.5, 1.1, 0.5), _chestData.getReward().getText()); + _hologram = new SimpleHologram(_chestData.getBlock().getLocation().add(0.5, 1.1, 0.5), _text); _hologram.spawnWithPackets(); _chestData.setFinishedOpen(true); diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/ITreasureReward.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/ITreasureReward.java index 3423e805d..1b04c4039 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/ITreasureReward.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/ITreasureReward.java @@ -8,13 +8,22 @@ import org.bukkit.inventory.ItemStack; */ public interface ITreasureReward { - public String getText(); - public ItemStack getItem(); public RewardRarity getRarity(); - public void giveReward(Player player); + /** + * Give the reward to the player. + * + * @return String detailing the reward. This will be shown to the player + */ + public String giveReward(Player player); public boolean canGiveReward(Player player); + + /** + * This is used to weight rewards across different rarities. Rewards with a larger weight + * will have a higher chance of being selected + */ + public int getWeight(); } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/RewardManager.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/RewardManager.java index 09487713e..9153be1b0 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/RewardManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/RewardManager.java @@ -37,12 +37,6 @@ public class RewardManager public ITreasureReward nextReward(Player player) { - /* - This is potentially blocking, need to make sure each RewardRarity has at least one reward that - players can recieve no matter what. May need to touch on this later. - */ - //todo - double rand = _random.nextDouble(); RewardRarity rarity; @@ -69,15 +63,34 @@ public class RewardManager List treasureList = _treasureMap.get(rarity); - ITreasureReward reward; - do + int totalWeight = 0; + ArrayList possibleRewards = new ArrayList(); + for (ITreasureReward treasure : treasureList) { - reward = treasureList.get(_random.nextInt(treasureList.size())); + if (treasure.canGiveReward(player)) + { + possibleRewards.add(treasure); + totalWeight += treasure.getWeight(); + } } - while (!reward.canGiveReward(player)); - return reward; + if (totalWeight > 0) + { + int weight = _random.nextInt(totalWeight); + int currentWeight = 0; + + for (ITreasureReward reward : possibleRewards) + { + if (weight <= currentWeight) + return reward; + + weight += reward.getWeight(); + } + + } + + return null; } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/AbstractReward.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/AbstractReward.java new file mode 100644 index 000000000..733593983 --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/AbstractReward.java @@ -0,0 +1,45 @@ +package mineplex.core.treasure.reward.rewards; + +import java.util.Random; + +import org.bukkit.inventory.ItemStack; + +import mineplex.core.treasure.reward.ITreasureReward; +import mineplex.core.treasure.reward.RewardRarity; + +/** + * Created by shaun on 2014-09-08. + */ +public abstract class AbstractReward implements ITreasureReward +{ + protected static final Random RANDOM = new Random(); + + private ItemStack _itemStack; + private RewardRarity _rarity; + private int _weight; + + public AbstractReward(ItemStack itemStack, RewardRarity rarity, int weight) + { + _itemStack = itemStack; + _rarity = rarity; + _weight = weight; + } + + @Override + public ItemStack getItem() + { + return _itemStack; + } + + @Override + public int getWeight() + { + return _weight; + } + + @Override + public RewardRarity getRarity() + { + return _rarity; + } +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/CoinReward.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/CoinReward.java new file mode 100644 index 000000000..6fd48d939 --- /dev/null +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/CoinReward.java @@ -0,0 +1,66 @@ +package mineplex.core.treasure.reward.rewards; + +/** + * Created by shaun on 2014-09-08. + */ + +import java.util.Random; + +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; + +import mineplex.core.common.util.C; +import mineplex.core.common.util.Callback; +import mineplex.core.donation.DonationManager; +import mineplex.core.treasure.reward.RewardRarity; + +/** + * Created by shaun on 2014-09-08. + */ +public class CoinReward extends AbstractReward +{ + private DonationManager _donationManager; + private Random _random; + private int _minCoinCount; + private int _maxCoinCount; + + public CoinReward(DonationManager donationManager, int minGemCount, int maxGemCount, int weight, RewardRarity rarity) + { + this(donationManager, minGemCount, maxGemCount, weight, rarity, RANDOM); + } + + public CoinReward(DonationManager donationManager, int minCoinCount, int maxCoinCount, int weight, RewardRarity rarity, Random random) + { + super(new ItemStack(Material.EMERALD), rarity, weight); + _donationManager = donationManager; + _minCoinCount = minCoinCount; + _maxCoinCount = maxCoinCount; + + _random = random; + } + + @Override + public String giveReward(Player player) + { + int gemsToReward = _random.nextInt(_maxCoinCount - _minCoinCount) + _minCoinCount; + + _donationManager.RewardGems(new Callback() + { + @Override + public void run(Boolean data) + { + + } + }, "Treasure Chest", player.getName(), gemsToReward); + + return C.cYellow + gemsToReward + " Coins"; + } + + @Override + public boolean canGiveReward(Player player) + { + return true; + } + +} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/ExampleReward.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/ExampleReward.java deleted file mode 100644 index a2320c8b1..000000000 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/ExampleReward.java +++ /dev/null @@ -1,45 +0,0 @@ -package mineplex.core.treasure.reward.rewards; - -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; - -import mineplex.core.common.util.C; -import mineplex.core.treasure.reward.ITreasureReward; -import mineplex.core.treasure.reward.RewardRarity; - -/** - * Created by Shaun on 9/2/2014. - */ -public class ExampleReward implements ITreasureReward -{ - @Override - public String getText() - { - return C.cGreen + "100 Gems"; - } - - @Override - public ItemStack getItem() - { - return new ItemStack(Material.EMERALD); - } - - @Override - public RewardRarity getRarity() - { - return RewardRarity.COMMON; - } - - @Override - public void giveReward(Player player) - { - player.sendMessage("give example reward..."); - } - - @Override - public boolean canGiveReward(Player player) - { - return true; - } -} diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/GadgetReward.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/GadgetReward.java index c752acbf1..3cb04c83f 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/GadgetReward.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/GadgetReward.java @@ -3,49 +3,31 @@ package mineplex.core.treasure.reward.rewards; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import mineplex.core.account.CoreClientManager; import mineplex.core.donation.DonationManager; import mineplex.core.gadget.types.Gadget; -import mineplex.core.gadget.types.ParticleGadget; -import mineplex.core.treasure.reward.ITreasureReward; import mineplex.core.treasure.reward.RewardRarity; /** * Created by shaun on 2014-09-04. */ -public class GadgetReward implements ITreasureReward +public class GadgetReward extends AbstractReward { - private Gadget _gadget; private DonationManager _donationManager; + private Gadget _gadget; - public GadgetReward(Gadget gadget, DonationManager donationManager) + public GadgetReward(Gadget gadget, DonationManager donationManager, RewardRarity rarity, int weight) { + super(new ItemStack(gadget.GetDisplayMaterial()), rarity, weight); _gadget = gadget; _donationManager = donationManager; } @Override - public String getText() - { - return _gadget.GetDisplayName(); - } - - @Override - public ItemStack getItem() - { - return new ItemStack(_gadget.GetDisplayMaterial()); - } - - @Override - public RewardRarity getRarity() - { - return RewardRarity.VERY_RARE; - } - - @Override - public void giveReward(Player player) + public String giveReward(Player player) { _donationManager.Get(player.getName()).AddUnknownSalesPackagesOwned(_gadget.GetName()); + + return _gadget.GetDisplayName(); } @Override @@ -53,4 +35,5 @@ public class GadgetReward implements ITreasureReward { return !(_donationManager.Get(player.getName()).OwnsUnknownPackage(_gadget.GetName())); } + } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/GemReward.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/GemReward.java index eb7a6b0c4..532a57744 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/GemReward.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/reward/rewards/GemReward.java @@ -1,5 +1,7 @@ package mineplex.core.treasure.reward.rewards; +import java.util.Random; + import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -7,47 +9,38 @@ import org.bukkit.inventory.ItemStack; import mineplex.core.common.util.C; import mineplex.core.common.util.Callback; import mineplex.core.donation.DonationManager; -import mineplex.core.treasure.reward.ITreasureReward; import mineplex.core.treasure.reward.RewardRarity; /** * Created by shaun on 2014-09-04. */ -public class GemReward implements ITreasureReward +public class GemReward extends AbstractReward { private DonationManager _donationManager; - private ItemStack _itemStack; - private int _gemAmount; + private Random _random; + private int _minGemCount; + private int _maxGemCount; - public GemReward(DonationManager donationManager, int gemAmount) + public GemReward(DonationManager donationManager, int minGemCount, int maxGemCount, int weight, RewardRarity rarity) { + this(donationManager, minGemCount, maxGemCount, weight, rarity, RANDOM); + } + + public GemReward(DonationManager donationManager, int minGemCount, int maxGemCount, int weight, RewardRarity rarity, Random random) + { + super(new ItemStack(Material.EMERALD), rarity, weight); _donationManager = donationManager; - _gemAmount = gemAmount; + _minGemCount = minGemCount; + _maxGemCount = maxGemCount; - _itemStack = new ItemStack(Material.EMERALD); + _random = random; } @Override - public String getText() + public String giveReward(Player player) { - return C.cGreen + _gemAmount + " Gems"; - } + int gemsToReward = _random.nextInt(_maxGemCount - _minGemCount) + _minGemCount; - @Override - public ItemStack getItem() - { - return _itemStack; - } - - @Override - public RewardRarity getRarity() - { - return RewardRarity.COMMON; - } - - @Override - public void giveReward(Player player) - { _donationManager.RewardGems(new Callback() { @Override @@ -55,7 +48,9 @@ public class GemReward implements ITreasureReward { } - }, "Treasure Chest", player.getName(), _gemAmount); + }, "Treasure Chest", player.getName(), gemsToReward); + + return C.cGreen + gemsToReward + " Gems"; } @Override @@ -63,4 +58,5 @@ public class GemReward implements ITreasureReward { return true; } + } From 90d88ebd0b475475b973291817554c00b21d053b Mon Sep 17 00:00:00 2001 From: CoderTim Date: Mon, 8 Sep 2014 16:27:09 -0400 Subject: [PATCH 4/5] Fixed "The Longest Shot" achievement bug --- .../nautilus/game/arcade/stats/TheLongestShotStatTracker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/TheLongestShotStatTracker.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/TheLongestShotStatTracker.java index 487eb3639..2727b4564 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/TheLongestShotStatTracker.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/TheLongestShotStatTracker.java @@ -53,7 +53,7 @@ public class TheLongestShotStatTracker extends StatTracker { Arrow arrow = (Arrow) edbee.getDamager(); - if (arrow.getShooter() == killer && killer.getLocation().distanceSquared(player.getLocation()) <= 64 * 64) + if (arrow.getShooter() == killer && killer.getLocation().distanceSquared(player.getLocation()) >= 64 * 64) addStat(killer, "TheLongestShot", 1, false, false); } } From 235cf8cae76de0daf7e78fd365d27a6a699bc193 Mon Sep 17 00:00:00 2001 From: CoderTim Date: Tue, 9 Sep 2014 02:18:20 -0400 Subject: [PATCH 5/5] Fixed win stats on solo games --- Plugins/.idea/runConfigurations/Hub.xml | 2 +- .../src/nautilus/game/arcade/game/SoloGame.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Plugins/.idea/runConfigurations/Hub.xml b/Plugins/.idea/runConfigurations/Hub.xml index d952db1c8..12c724b7f 100644 --- a/Plugins/.idea/runConfigurations/Hub.xml +++ b/Plugins/.idea/runConfigurations/Hub.xml @@ -10,7 +10,7 @@