2015-10-19 17:43:46 +00:00
|
|
|
package me.totalfreedom.totalfreedommod.player;
|
2011-10-01 17:59:46 +00:00
|
|
|
|
2011-10-10 12:09:19 +00:00
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
2015-10-19 17:43:46 +00:00
|
|
|
import lombok.Getter;
|
|
|
|
import lombok.Setter;
|
2016-03-06 15:56:15 +00:00
|
|
|
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
2015-11-15 23:32:04 +00:00
|
|
|
import me.totalfreedom.totalfreedommod.caging.CageData;
|
2015-10-19 17:43:46 +00:00
|
|
|
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
|
2015-11-15 23:32:04 +00:00
|
|
|
import me.totalfreedom.totalfreedommod.freeze.FreezeData;
|
2016-03-06 15:56:15 +00:00
|
|
|
import me.totalfreedom.totalfreedommod.util.FUtil;
|
2015-10-19 17:43:46 +00:00
|
|
|
import net.pravian.aero.util.Ips;
|
2011-10-16 06:00:37 +00:00
|
|
|
import org.bukkit.Bukkit;
|
2013-07-02 20:31:05 +00:00
|
|
|
import org.bukkit.ChatColor;
|
2012-03-09 19:01:04 +00:00
|
|
|
import org.bukkit.entity.Arrow;
|
|
|
|
import org.bukkit.entity.EntityType;
|
|
|
|
import org.bukkit.entity.LivingEntity;
|
|
|
|
import org.bukkit.entity.Player;
|
2013-07-27 21:49:25 +00:00
|
|
|
import org.bukkit.scheduler.BukkitRunnable;
|
2012-12-09 03:42:29 +00:00
|
|
|
import org.bukkit.scheduler.BukkitTask;
|
2011-10-10 12:09:19 +00:00
|
|
|
|
2015-10-19 17:43:46 +00:00
|
|
|
public class FPlayer
|
2011-10-01 17:59:46 +00:00
|
|
|
{
|
2015-11-22 18:26:47 +00:00
|
|
|
|
2015-10-19 17:43:46 +00:00
|
|
|
public static final long AUTO_PURGE_TICKS = 5L * 60L * 20L;
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2016-05-12 19:40:39 +00:00
|
|
|
@Getter
|
|
|
|
private final TotalFreedomMod plugin;
|
2015-10-19 17:43:46 +00:00
|
|
|
@Getter
|
|
|
|
private final String name;
|
|
|
|
@Getter
|
2014-12-21 09:23:50 +00:00
|
|
|
private final String ip;
|
2015-10-19 17:43:46 +00:00
|
|
|
//
|
|
|
|
@Setter
|
|
|
|
private Player player;
|
2014-12-21 09:23:50 +00:00
|
|
|
//
|
|
|
|
private BukkitTask unmuteTask;
|
2015-11-15 23:32:04 +00:00
|
|
|
@Getter
|
|
|
|
private final FreezeData freezeData = new FreezeData(this);
|
|
|
|
@Getter
|
|
|
|
private double fuckoffRadius = 0;
|
2014-12-21 09:23:50 +00:00
|
|
|
private int messageCount = 0;
|
|
|
|
private int totalBlockDestroy = 0;
|
|
|
|
private int totalBlockPlace = 0;
|
|
|
|
private int freecamDestroyCount = 0;
|
|
|
|
private int freecamPlaceCount = 0;
|
2015-11-15 23:32:04 +00:00
|
|
|
@Getter
|
|
|
|
private final CageData cageData = new CageData(this);
|
2015-02-16 16:00:38 +00:00
|
|
|
private boolean isOrbiting = false;
|
|
|
|
private double orbitStrength = 10.0;
|
|
|
|
private boolean mobThrowerEnabled = false;
|
|
|
|
private EntityType mobThrowerEntity = EntityType.PIG;
|
|
|
|
private double mobThrowerSpeed = 4.0;
|
2016-03-02 19:28:01 +00:00
|
|
|
private final List<LivingEntity> mobThrowerQueue = new ArrayList<>();
|
2015-02-16 16:00:38 +00:00
|
|
|
private BukkitTask mp44ScheduleTask = null;
|
|
|
|
private boolean mp44Armed = false;
|
|
|
|
private boolean mp44Firing = false;
|
|
|
|
private BukkitTask lockupScheduleTask = null;
|
2014-12-21 09:23:50 +00:00
|
|
|
private String lastMessage = "";
|
2015-02-16 16:00:38 +00:00
|
|
|
private boolean inAdminchat = false;
|
|
|
|
private boolean allCommandsBlocked = false;
|
2016-05-12 19:40:39 +00:00
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private boolean superadminIdVerified = false;
|
2014-12-21 09:23:50 +00:00
|
|
|
private String lastCommand = "";
|
2015-02-16 16:00:38 +00:00
|
|
|
private boolean cmdspyEnabled = false;
|
2014-12-21 09:23:50 +00:00
|
|
|
private String tag = null;
|
2015-02-16 16:00:38 +00:00
|
|
|
private int warningCount = 0;
|
2017-12-23 04:07:36 +00:00
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private boolean editBlocked = false;
|
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private boolean pvpBlocked = false;
|
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private boolean invSee = false;
|
2014-12-21 09:23:50 +00:00
|
|
|
|
2016-05-12 19:40:39 +00:00
|
|
|
public FPlayer(TotalFreedomMod plugin, Player player)
|
2014-12-21 09:23:50 +00:00
|
|
|
{
|
2016-05-12 19:40:39 +00:00
|
|
|
this(plugin, player.getName(), Ips.getIp(player));
|
2014-12-21 09:23:50 +00:00
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2016-05-12 19:40:39 +00:00
|
|
|
private FPlayer(TotalFreedomMod plugin, String name, String ip)
|
2012-11-21 01:09:24 +00:00
|
|
|
{
|
2016-05-12 19:40:39 +00:00
|
|
|
this.plugin = plugin;
|
2015-10-19 17:43:46 +00:00
|
|
|
this.name = name;
|
|
|
|
this.ip = ip;
|
2012-11-21 01:09:24 +00:00
|
|
|
}
|
|
|
|
|
2015-10-19 17:43:46 +00:00
|
|
|
public Player getPlayer()
|
2014-06-28 20:23:17 +00:00
|
|
|
{
|
2015-10-19 17:43:46 +00:00
|
|
|
if (player != null && !player.isOnline())
|
|
|
|
{
|
|
|
|
player = null;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (player == null)
|
|
|
|
{
|
|
|
|
for (Player onlinePlayer : Bukkit.getOnlinePlayers())
|
|
|
|
{
|
|
|
|
if (Ips.getIp(onlinePlayer).equals(ip))
|
|
|
|
{
|
|
|
|
player = onlinePlayer;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return player;
|
2014-06-28 20:23:17 +00:00
|
|
|
}
|
|
|
|
|
2011-10-16 06:00:37 +00:00
|
|
|
public boolean isOrbiting()
|
|
|
|
{
|
2015-02-16 16:00:38 +00:00
|
|
|
return isOrbiting;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
|
|
|
|
2013-08-25 16:32:01 +00:00
|
|
|
public void startOrbiting(double strength)
|
2011-10-16 06:00:37 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.isOrbiting = true;
|
|
|
|
this.orbitStrength = strength;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2011-10-16 06:00:37 +00:00
|
|
|
public void stopOrbiting()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.isOrbiting = false;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public double orbitStrength()
|
|
|
|
{
|
2015-02-16 16:00:38 +00:00
|
|
|
return orbitStrength;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
2011-10-14 23:29:09 +00:00
|
|
|
|
2015-11-15 23:32:04 +00:00
|
|
|
public boolean isFuckOff()
|
2011-10-10 12:09:19 +00:00
|
|
|
{
|
2015-11-15 23:32:04 +00:00
|
|
|
return fuckoffRadius > 0;
|
2011-10-10 12:09:19 +00:00
|
|
|
}
|
2011-10-14 23:29:09 +00:00
|
|
|
|
2015-11-15 23:32:04 +00:00
|
|
|
public void setFuckoff(double radius)
|
2011-10-10 12:09:19 +00:00
|
|
|
{
|
2015-11-15 23:32:04 +00:00
|
|
|
this.fuckoffRadius = radius;
|
2011-10-10 12:09:19 +00:00
|
|
|
}
|
2011-10-14 23:29:09 +00:00
|
|
|
|
2015-11-15 23:32:04 +00:00
|
|
|
public void disableFuckoff()
|
2011-10-10 12:09:19 +00:00
|
|
|
{
|
2015-11-15 23:32:04 +00:00
|
|
|
this.fuckoffRadius = 0;
|
2011-10-01 17:59:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public void resetMsgCount()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.messageCount = 0;
|
2011-10-01 17:59:46 +00:00
|
|
|
}
|
2011-10-02 04:18:52 +00:00
|
|
|
|
2013-08-13 17:42:43 +00:00
|
|
|
public int incrementAndGetMsgCount()
|
2011-10-01 17:59:46 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return this.messageCount++;
|
2011-10-01 17:59:46 +00:00
|
|
|
}
|
2011-10-02 04:18:52 +00:00
|
|
|
|
2013-08-13 17:42:43 +00:00
|
|
|
public int incrementAndGetBlockDestroyCount()
|
2011-10-01 17:59:46 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return this.totalBlockDestroy++;
|
2011-10-01 17:59:46 +00:00
|
|
|
}
|
2011-10-02 04:18:52 +00:00
|
|
|
|
2011-10-01 17:59:46 +00:00
|
|
|
public void resetBlockDestroyCount()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.totalBlockDestroy = 0;
|
2011-10-05 19:07:45 +00:00
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2013-08-13 17:42:43 +00:00
|
|
|
public int incrementAndGetBlockPlaceCount()
|
2011-10-18 04:08:40 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return this.totalBlockPlace++;
|
2011-10-18 04:08:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public void resetBlockPlaceCount()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.totalBlockPlace = 0;
|
2011-10-18 04:08:40 +00:00
|
|
|
}
|
2011-10-14 23:29:09 +00:00
|
|
|
|
2013-08-13 17:42:43 +00:00
|
|
|
public int incrementAndGetFreecamDestroyCount()
|
2011-10-05 19:07:45 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return this.freecamDestroyCount++;
|
2011-10-05 19:07:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public void resetFreecamDestroyCount()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.freecamDestroyCount = 0;
|
2011-10-05 19:07:45 +00:00
|
|
|
}
|
2011-10-14 23:29:09 +00:00
|
|
|
|
2013-08-13 17:42:43 +00:00
|
|
|
public int incrementAndGetFreecamPlaceCount()
|
2011-10-05 19:07:45 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return this.freecamPlaceCount++;
|
2011-10-05 19:07:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public void resetFreecamPlaceCount()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.freecamPlaceCount = 0;
|
2011-10-01 17:59:46 +00:00
|
|
|
}
|
2011-10-16 06:00:37 +00:00
|
|
|
|
2013-08-25 16:32:01 +00:00
|
|
|
public void enableMobThrower(EntityType mobThrowerCreature, double mobThrowerSpeed)
|
2011-10-16 06:00:37 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.mobThrowerEnabled = true;
|
|
|
|
this.mobThrowerEntity = mobThrowerCreature;
|
|
|
|
this.mobThrowerSpeed = mobThrowerSpeed;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2011-10-16 06:00:37 +00:00
|
|
|
public void disableMobThrower()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.mobThrowerEnabled = false;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
|
|
|
|
2012-03-03 04:29:54 +00:00
|
|
|
public EntityType mobThrowerCreature()
|
2011-10-16 06:00:37 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return this.mobThrowerEntity;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public double mobThrowerSpeed()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return this.mobThrowerSpeed;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2011-10-16 06:00:37 +00:00
|
|
|
public boolean mobThrowerEnabled()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return this.mobThrowerEnabled;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2011-10-16 06:00:37 +00:00
|
|
|
public void enqueueMob(LivingEntity mob)
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
mobThrowerQueue.add(mob);
|
|
|
|
if (mobThrowerQueue.size() > 4)
|
2011-10-16 06:00:37 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
LivingEntity oldmob = mobThrowerQueue.remove(0);
|
2011-10-16 06:00:37 +00:00
|
|
|
if (oldmob != null)
|
|
|
|
{
|
2013-07-02 23:08:31 +00:00
|
|
|
oldmob.damage(500.0);
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2011-10-21 17:02:07 +00:00
|
|
|
public void startArrowShooter(TotalFreedomMod plugin)
|
2011-10-16 06:00:37 +00:00
|
|
|
{
|
2011-10-21 17:02:07 +00:00
|
|
|
this.stopArrowShooter();
|
2014-11-20 22:20:31 +00:00
|
|
|
this.mp44ScheduleTask = new ArrowShooter(this.player).runTaskTimer(plugin, 1L, 1L);
|
2013-08-25 16:32:01 +00:00
|
|
|
this.mp44Firing = true;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2011-10-19 00:37:00 +00:00
|
|
|
public void stopArrowShooter()
|
2011-10-16 06:00:37 +00:00
|
|
|
{
|
2014-11-20 22:20:31 +00:00
|
|
|
if (this.mp44ScheduleTask != null)
|
2011-10-16 06:00:37 +00:00
|
|
|
{
|
2014-11-20 22:20:31 +00:00
|
|
|
this.mp44ScheduleTask.cancel();
|
|
|
|
this.mp44ScheduleTask = null;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
2013-08-25 16:32:01 +00:00
|
|
|
this.mp44Firing = false;
|
2011-10-21 17:02:07 +00:00
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2011-10-21 17:02:07 +00:00
|
|
|
public void armMP44()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.mp44Armed = true;
|
2011-10-21 17:02:07 +00:00
|
|
|
this.stopArrowShooter();
|
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2011-10-21 17:02:07 +00:00
|
|
|
public void disarmMP44()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.mp44Armed = false;
|
2011-10-21 17:02:07 +00:00
|
|
|
this.stopArrowShooter();
|
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2011-10-21 17:02:07 +00:00
|
|
|
public boolean isMP44Armed()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return this.mp44Armed;
|
2011-10-21 17:02:07 +00:00
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2011-10-21 17:02:07 +00:00
|
|
|
public boolean toggleMP44Firing()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.mp44Firing = !this.mp44Firing;
|
|
|
|
return mp44Firing;
|
2011-10-16 06:00:37 +00:00
|
|
|
}
|
2012-09-14 22:49:44 +00:00
|
|
|
|
|
|
|
public boolean isMuted()
|
|
|
|
{
|
2014-11-20 22:20:31 +00:00
|
|
|
return unmuteTask != null;
|
2012-09-14 22:49:44 +00:00
|
|
|
}
|
|
|
|
|
2013-08-25 16:32:01 +00:00
|
|
|
public void setMuted(boolean muted)
|
2012-09-14 22:49:44 +00:00
|
|
|
{
|
2015-11-15 23:32:04 +00:00
|
|
|
FUtil.cancel(unmuteTask);
|
2018-03-18 08:32:50 +00:00
|
|
|
plugin.mu.MUTED_PLAYERS.remove(getPlayer().getName());
|
2014-11-20 22:20:31 +00:00
|
|
|
unmuteTask = null;
|
|
|
|
|
|
|
|
if (!muted)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2016-05-12 19:40:39 +00:00
|
|
|
if (getPlayer() == null)
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
}
|
2018-03-18 08:32:50 +00:00
|
|
|
|
|
|
|
plugin.mu.MUTED_PLAYERS.add(getPlayer().getName());
|
|
|
|
|
2014-11-20 22:20:31 +00:00
|
|
|
unmuteTask = new BukkitRunnable()
|
|
|
|
{
|
|
|
|
@Override
|
|
|
|
public void run()
|
|
|
|
{
|
2018-03-18 08:32:50 +00:00
|
|
|
if (getPlayer() != null)
|
|
|
|
{
|
2018-09-18 13:56:24 +00:00
|
|
|
FUtil.adminAction(ConfigEntry.SERVER_NAME.getString(), "Unmuting " + getPlayer().getName(), false);
|
2018-03-18 08:32:50 +00:00
|
|
|
setMuted(false);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2018-09-18 13:56:24 +00:00
|
|
|
FUtil.adminAction(ConfigEntry.SERVER_NAME.getString(), "Unmuting " + getName(), false);
|
2018-03-18 08:32:50 +00:00
|
|
|
plugin.mu.MUTED_PLAYERS.remove(getName());
|
|
|
|
}
|
2014-11-20 22:20:31 +00:00
|
|
|
}
|
2016-05-12 19:40:39 +00:00
|
|
|
}.runTaskLater(plugin, AUTO_PURGE_TICKS);
|
2012-09-14 22:49:44 +00:00
|
|
|
}
|
2012-09-18 21:25:37 +00:00
|
|
|
|
2012-12-09 03:42:29 +00:00
|
|
|
public BukkitTask getLockupScheduleID()
|
2012-09-19 02:21:25 +00:00
|
|
|
{
|
2014-11-20 22:20:31 +00:00
|
|
|
return this.lockupScheduleTask;
|
2012-09-19 02:21:25 +00:00
|
|
|
}
|
|
|
|
|
2015-11-22 18:26:47 +00:00
|
|
|
public void setLockupScheduleId(BukkitTask id)
|
2012-09-19 02:21:25 +00:00
|
|
|
{
|
2014-11-20 22:20:31 +00:00
|
|
|
this.lockupScheduleTask = id;
|
2012-09-19 02:21:25 +00:00
|
|
|
}
|
2012-11-27 19:02:39 +00:00
|
|
|
|
2013-08-25 16:32:01 +00:00
|
|
|
public void setLastMessage(String message)
|
2012-11-27 19:02:39 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.lastMessage = message;
|
2012-11-27 19:02:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public String getLastMessage()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return lastMessage;
|
2012-11-27 19:02:39 +00:00
|
|
|
}
|
2012-11-28 18:31:01 +00:00
|
|
|
|
2013-08-25 16:32:01 +00:00
|
|
|
public void setAdminChat(boolean inAdminchat)
|
2012-11-28 18:31:01 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.inAdminchat = inAdminchat;
|
2012-11-28 18:31:01 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public boolean inAdminChat()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return this.inAdminchat;
|
2012-11-28 18:31:01 +00:00
|
|
|
}
|
2012-12-06 09:32:08 +00:00
|
|
|
|
2012-12-08 01:01:52 +00:00
|
|
|
public boolean allCommandsBlocked()
|
2012-12-06 09:32:08 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return this.allCommandsBlocked;
|
2012-12-06 09:32:08 +00:00
|
|
|
}
|
|
|
|
|
2013-08-25 16:32:01 +00:00
|
|
|
public void setCommandsBlocked(boolean commandsBlocked)
|
2012-12-06 09:32:08 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.allCommandsBlocked = commandsBlocked;
|
2012-12-06 09:32:08 +00:00
|
|
|
}
|
2012-12-20 01:25:29 +00:00
|
|
|
|
2012-12-22 03:22:08 +00:00
|
|
|
public String getLastCommand()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return lastCommand;
|
2012-12-22 03:22:08 +00:00
|
|
|
}
|
|
|
|
|
2013-08-25 16:32:01 +00:00
|
|
|
public void setLastCommand(String lastCommand)
|
2012-12-22 03:22:08 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.lastCommand = lastCommand;
|
2012-12-22 03:22:08 +00:00
|
|
|
}
|
2013-01-21 18:58:42 +00:00
|
|
|
|
2013-08-25 16:32:01 +00:00
|
|
|
public void setCommandSpy(boolean enabled)
|
2013-01-21 18:58:42 +00:00
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
this.cmdspyEnabled = enabled;
|
2013-01-21 18:58:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public boolean cmdspyEnabled()
|
|
|
|
{
|
2013-08-25 16:32:01 +00:00
|
|
|
return cmdspyEnabled;
|
2013-01-21 18:58:42 +00:00
|
|
|
}
|
2013-08-12 10:26:49 +00:00
|
|
|
|
|
|
|
public void setTag(String tag)
|
|
|
|
{
|
|
|
|
if (tag == null)
|
|
|
|
{
|
|
|
|
this.tag = null;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2015-10-19 17:43:46 +00:00
|
|
|
this.tag = FUtil.colorize(tag) + ChatColor.WHITE;
|
2013-08-12 10:26:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getTag()
|
|
|
|
{
|
|
|
|
return this.tag;
|
|
|
|
}
|
2014-10-27 11:23:08 +00:00
|
|
|
|
|
|
|
public int getWarningCount()
|
|
|
|
{
|
|
|
|
return this.warningCount;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void incrementWarnings()
|
|
|
|
{
|
|
|
|
this.warningCount++;
|
|
|
|
|
|
|
|
if (this.warningCount % 2 == 0)
|
|
|
|
{
|
2016-05-12 19:40:39 +00:00
|
|
|
Player p = getPlayer();
|
|
|
|
p.getWorld().strikeLightning(p.getLocation());
|
|
|
|
FUtil.playerMsg(p, ChatColor.RED + "You have been warned at least twice now, make sure to read the rules at " + ConfigEntry.SERVER_BAN_URL.getString());
|
2014-10-27 11:23:08 +00:00
|
|
|
}
|
|
|
|
}
|
2014-11-20 22:20:31 +00:00
|
|
|
|
2014-12-21 09:23:50 +00:00
|
|
|
private class ArrowShooter extends BukkitRunnable
|
|
|
|
{
|
2015-11-22 18:26:47 +00:00
|
|
|
|
2015-11-15 23:32:04 +00:00
|
|
|
private final Player player;
|
2014-12-21 09:23:50 +00:00
|
|
|
|
|
|
|
private ArrowShooter(Player player)
|
|
|
|
{
|
|
|
|
this.player = player;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void run()
|
|
|
|
{
|
|
|
|
Arrow shot = player.launchProjectile(Arrow.class);
|
|
|
|
shot.setVelocity(shot.getVelocity().multiply(2.0));
|
|
|
|
}
|
|
|
|
}
|
2011-10-01 17:59:46 +00:00
|
|
|
}
|