P2P-Develop/PeyangSuperbAntiCheat

View on GitHub
src/main/java/ml/peya/plugins/DetectClasses/CheatDetectNowMeta.java

Summary

Maintainability
A
0 mins
Test Coverage
package ml.peya.plugins.DetectClasses;

import ml.peya.plugins.Enum.DetectType;
import org.bukkit.entity.Player;
import org.bukkit.util.Vector;

import java.util.ArrayList;
import java.util.UUID;

/**
 * テスト状態管理
 */
public class CheatDetectNowMeta
{
    /**
     * ターゲット。
     */
    private final Player target;
    /**
     * UUID。
     */
    private final UUID uuids;
    /**
     * 管理ID。
     */
    private final int id;
    /**
     * 判定タイプ。
     */
    private final DetectType type;
    /**
     * アングル
     */
    private final ArrayList<Double> angles;
    /**
     * 秒数。
     */
    private double seconds;
    /**
     * VL。
     */
    private int VL;
    /**
     * テスト中かどうか。
     */
    private boolean isTesting = false;
    private Vector npcLocation = null;

    /**
     * コンストラクター。
     *
     * @param target ターゲット。
     * @param uuids  UUID。
     * @param id     管理ID。
     * @param type   判定タイプ。
     */
    public CheatDetectNowMeta(Player target, UUID uuids, int id, DetectType type)
    {
        this.target = target;
        this.uuids = uuids;
        this.id = id;
        this.type = type;
        this.angles = new ArrayList<>();
    }

    /**
     * テスト中かどうかのゲッター。
     *
     * @return テスト可能かどうか。
     */
    public boolean isTesting()
    {
        return isTesting;
    }

    /**
     * テスト中かどうかのセッター。
     *
     * @param isTesting テスト中かどうか。
     */
    public void setTesting(boolean isTesting)
    {
        this.isTesting = isTesting;
    }

    /**
     * ターゲットのゲッター。
     *
     * @return ターゲット。
     */
    public Player getTarget()
    {
        return target;
    }

    /**
     * UUIDのゲッター。
     *
     * @return UUID。
     */
    public UUID getUUIDs()
    {
        return uuids;
    }

    /**
     * VLをそのまんま追加する。
     *
     * @return 追加したVL。
     */
    public int addVL()
    {
        return ++VL;
    }

    /**
     * VLをそのまんま減らす。
     *
     * @return 減らしたVL。
     */
    public int removeVL()
    {
        return --VL;
    }

    /**
     * VLのゲッター。
     *
     * @return VL。
     */
    public int getVL()
    {
        return VL;
    }

    /**
     * 管理IDのゲッター。
     *
     * @return 管理ID。
     */
    public int getId()
    {
        return id;
    }

    /**
     * 判定タイプのゲッター。
     *
     * @return 判定タイプ。
     */
    public DetectType getType()
    {
        return type;
    }

    /**
     * 秒数のゲッター。
     *
     * @return 秒数。
     */
    public double getSeconds()
    {
        return seconds;
    }

    /**
     * 秒数のセッター。
     *
     * @param seconds 秒数。
     */
    public void setSeconds(double seconds)
    {
        this.seconds = seconds;
    }

    /**
     * 秒数の追加。
     *
     * @param seconds 追加した秒数。
     */
    public void addSeconds(double seconds)
    {
        this.seconds += seconds;
    }

    /**
     * アングルの追加
     *
     * @param angle 追加するアングル
     */
    public void addAngle(double angle)
    {
        if (this.angles.size() > 100)
            this.angles.clear();
        this.angles.add(angle);
    }

    /**
     * アングルの取得
     *
     * @return アングルs
     */
    public ArrayList<Double> getAngles()
    {
        return angles;
    }

    /**
     * ロケーション取得
     *
     * @return ロケーション
     */
    public Vector getNpcLocation()
    {
        return npcLocation;
    }

    /**
     * ロケーションセット
     *
     * @param npcLocation ロケーション
     */
    public void setNpcLocation(Vector npcLocation)
    {
        this.npcLocation = npcLocation;
    }
}