Fix some bugs

This commit is contained in:
Sam 2018-08-03 23:14:26 +01:00 committed by Alexander Meech
parent dc1b20c74d
commit 1378ddd71f
49 changed files with 90 additions and 90 deletions

View File

@ -77,8 +77,8 @@ import net.minecraft.server.v1_8_R3.MinecraftServer;
public class Clans extends JavaPlugin
{
public static final String MAP = "Season 5";
private static final String MAP = "Season 5.5";
public static boolean HARDCORE = false;
// Modules

View File

@ -1,37 +1,45 @@
package mineplex.game.clans.clans;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import com.mineplex.clansqueue.common.ClansQueueMessenger;
import com.mineplex.clansqueue.common.messages.QueuePauseUpdateMessage;
import mineplex.core.MiniPlugin;
import mineplex.core.account.CoreClientManager;
import mineplex.core.common.util.Callback;
import mineplex.core.common.util.F;
import mineplex.core.donation.DonationManager;
import mineplex.core.common.util.UtilServer;
import mineplex.game.clans.core.ClaimLocation;
import mineplex.game.clans.shop.energy.EnergyShop;
public class ClanEnergyManager extends MiniPlugin implements Runnable
{
private ClansManager _clansManager;
private DonationManager _donationManager;
private EnergyShop _shop;
private final ClansManager _clansManager;
private boolean _paused;
private int tickCount;
public ClanEnergyManager(JavaPlugin plugin, ClansManager clansManager, CoreClientManager clientManager, DonationManager donationManager)
public ClanEnergyManager(ClansManager clansManager)
{
super("Clan Energy", plugin);
super("Clan Energy");
_clansManager = clansManager;
_donationManager = donationManager;
_shop = new EnergyShop(this, clientManager, donationManager);
// Wait 5 seconds and then tick every 60 seconds
_plugin.getServer().getScheduler().runTaskTimer(_plugin, this, 20 * 5, 20 * 60);
ClansQueueMessenger.getMessenger(UtilServer.getServerName()).registerListener(QueuePauseUpdateMessage.class, (pause, origin) ->
{
if (pause.ServerName.equals(UtilServer.getServerName()))
{
_paused = pause.Paused;
}
});
}
@Override
public void run()
{
if (_paused)
{
return;
}
tickCount++;
for (final ClanInfo clanInfo : _clansManager.getClanMap().values())
@ -55,30 +63,12 @@ public class ClanEnergyManager extends MiniPlugin implements Runnable
clanInfo.adjustEnergy(-energyPerMinute);
if (tickCount % 5 == 0 && energyPerMinute > 0)
{
runAsync(new Runnable()
{
@Override
public void run()
{
_clansManager.getClanDataAccess().updateEnergy(clanInfo);
}
});
runAsync(() -> _clansManager.getClanDataAccess().updateEnergy(clanInfo));
}
}
}
}
public void purchaseEnergy(Player player, ClanInfo clanInfo, int energy, Callback<Boolean> callback)
{
}
public void openShop(Player player)
{
_shop.attemptShopOpen(player);
}
public ClansManager getClansManager()
{
return _clansManager;

View File

@ -439,7 +439,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
ClassShopManager shopManager = new ClassShopManager(plugin, _classManager, skillManager, itemFactory, achievementManager, _clientManager);
_classShop = new ClassCombatShop(shopManager, _clientManager, donationManager, true, "Class Shop");
new ClanEnergyManager(plugin, this, clientManager, donationManager);
new ClanEnergyManager(this);
_playTracker = new Playtime(this, statsManager);

View File

@ -74,7 +74,7 @@ public class Blink extends SkillActive
UtilPlayer.message(player, F.main(GetClassType().name(), "You cannot use " + F.skill(GetName()) + " while Slowed."));
return false;
}
else if (UtilEnt.isInWater(player))
else if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -64,7 +64,7 @@ public class Evade extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -78,7 +78,7 @@ public class Flash extends SkillActive
return false;
}
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -77,7 +77,7 @@ public class Illusion extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -56,7 +56,7 @@ public class Leap extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -63,7 +63,7 @@ public class MarkedForDeath extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main(GetClassType().name(), "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -83,7 +83,7 @@ public class Recall extends Skill
return;
}
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
player.sendMessage(F.main("Skill", "You cannot use " + F.skill(GetName()) +" while in water."));
return;

View File

@ -63,7 +63,7 @@ public class SilencingArrow extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -59,7 +59,7 @@ public class SmokeArrow extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main(GetClassType().name(), "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -78,7 +78,7 @@ public class SmokeBomb extends Skill
if (trigger.IsCancelled())
return;
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return;

View File

@ -129,7 +129,7 @@ public class BlockToss extends SkillCharge implements IThrown
return;
//Water
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return;

View File

@ -91,7 +91,7 @@ public class DwarfToss extends SkillActive
int level = getLevel(player);
if (level == 0) return false;
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -62,7 +62,7 @@ public class FleshHook extends SkillActiveCharge implements IThrown
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -88,7 +88,7 @@ public class SeismicSlam extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -59,7 +59,7 @@ public class Takedown extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -58,7 +58,7 @@ public class Taunt extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -54,7 +54,7 @@ public class WhirlwindAxe extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -44,7 +44,7 @@ public class Pistol extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -67,7 +67,7 @@ public class AxeThrow extends SkillActive implements IThrown
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -54,7 +54,7 @@ public class BullsCharge extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -87,7 +87,7 @@ public class DefensiveStance extends SkillActive
if (event.GetCause() != DamageCause.ENTITY_ATTACK && event.GetCause() != DamageCause.PROJECTILE)
return;
if (UtilEnt.isInWater(event.GetDamageeEntity()))
if (isInWater(event.GetDamageeEntity()))
return;
Player damagee = event.GetDamageePlayer();

View File

@ -54,7 +54,7 @@ public class HiltSmash extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;
@ -103,7 +103,7 @@ public class HiltSmash extends SkillActive
return false;
//Water
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;
@ -119,7 +119,7 @@ public class HiltSmash extends SkillActive
if (event.isCancelled())
return;
if (UtilEnt.isInWater(event.getPlayer()))
if (isInWater(event.getPlayer()))
return;
Player player = event.getPlayer();

View File

@ -58,7 +58,7 @@ public class HoldPosition extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -52,7 +52,7 @@ public class PowerChop extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -60,7 +60,7 @@ public class Riposte extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -48,7 +48,7 @@ public class ShieldSmash extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -177,11 +177,12 @@ public class ArcticArmor extends Skill
Location playerLocation = player.getLocation();
Block playerBlock = playerLocation.getBlock();
Location moveTo = null;
// Force players up if they try and get themselves stuck
if (playerBlock.equals(block))
{
player.teleport(playerLocation.add(0, 1, 0));
moveTo = playerLocation.add(0, 1, 0);
}
else
{
@ -193,16 +194,20 @@ public class ArcticArmor extends Skill
if (UtilBlock.isFence(nextBlock) && playerBlock.equals(nextBlock) && Math.abs(playerLocation.getX() - blockLocation.getX()) < FENCE_FROM_CENTER_DIST && Math.abs(playerLocation.getZ() - blockLocation.getZ()) < FENCE_FROM_CENTER_DIST)
{
Location moveTo = block.getLocation().add(0.5, 1, 0.5);
moveTo = block.getLocation().add(0.5, 1, 0.5);
moveTo.setYaw(playerLocation.getYaw());
moveTo.setPitch(playerLocation.getPitch());
player.teleport(moveTo);
break;
}
}
}
// Only move the player if they are being moved into air
if (moveTo != null && moveTo.getBlock().getType() == Material.AIR)
{
player.teleport(moveTo);
}
}
Factory.BlockRestore().add(block, 79, (byte) 0, (long) (duration * (1 + scale)));

View File

@ -69,7 +69,7 @@ public class Blizzard extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -49,7 +49,7 @@ public class FireBlast extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -54,7 +54,7 @@ public class Fissure extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -55,7 +55,7 @@ public class FreezingBlast extends SkillActive implements IThrown
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -57,7 +57,7 @@ public class GlacialBlade extends SkillActive implements IThrown
else if (Factory.Relation().canHurt(cur, player))
return false;
return !UtilEnt.isInWater(player);
return !isInWater(player);
}
@Override

View File

@ -56,7 +56,7 @@ public class IcePrison extends SkillActive implements IThrown
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -63,7 +63,7 @@ public class Inferno extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " .in water."));
return false;

View File

@ -90,7 +90,7 @@ public class LightningOrb extends SkillActive implements IThrown
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -83,7 +83,7 @@ public class Rupture extends SkillActiveCharge
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -120,7 +120,7 @@ public class Void extends Skill
if (!_active.contains(cur))
continue;
if (UtilEnt.isInWater(cur))
if (isInWater(cur))
{
UtilPlayer.message(cur, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
_active.remove(cur);

View File

@ -58,7 +58,7 @@ public class Agility extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -61,7 +61,7 @@ public class Disengage extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -73,7 +73,7 @@ public class ExplosiveShot extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -66,7 +66,7 @@ public class HealingShot extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -59,7 +59,7 @@
// @Override
// public boolean CustomCheck(Player player, int level)
// {
// if (UtilEnt.isInWater(player))
// if (isInWater(player))
// {
// UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(getName()) + " in water."));
// return false;

View File

@ -70,7 +70,7 @@ public class NapalmShot extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -60,7 +60,7 @@ public class PinDown extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -68,7 +68,7 @@ public class WolfsFury extends SkillActive
@Override
public boolean CustomCheck(Player player, int level)
{
if (UtilEnt.isInWater(player))
if (isInWater(player))
{
UtilPlayer.message(player, F.main("Skill", "You cannot use " + F.skill(GetName()) + " in water."));
return false;

View File

@ -14,6 +14,7 @@ import mineplex.minecraft.game.classcombat.Skill.repository.token.SkillToken;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@ -343,11 +344,6 @@ public abstract class Skill implements ISkill, Listener
player.playSound(player.getLocation(), Sound.NOTE_PIANO, 0.5f, 0.5f + (amount * 1.5f));
}
public void ResetProgress(Player player)
{
}
public void setAchievementSkill(boolean var)
{
_isAchievementSkill = var;
@ -370,4 +366,13 @@ public abstract class Skill implements ISkill, Listener
{
return _locationFilter;
}
protected boolean isInWater(Entity entity)
{
// Unfortunately we cannot use the nms inWater for the entity. Why?
// Well inWater becomes false if the player tries to get out of the water vertically.
// This leads to abilities being used in water which is bad news for Clans.
Block block = entity.getLocation().getBlock();
return block.getType() == Material.WATER || block.getType() == Material.STATIONARY_WATER;
}
}