2018-01-17 23:52:50 +01:00
|
|
|
/*
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
[BREAKING] Enable more precise sub check data removal (see details).
[BREAKING]
* Due to adding a method to CheckDataFactory.
* Might alter data removal (less is removed, might've overlooked
something).
For MOVING, FIGHT, COMBINED, data removal for sub checks now is
possible, allowing for more precise resetting via commands. Other check
groups may follow on request / randomly.
Data removal for check data is logged now (only CheckData, not
IRemoveData in general), in case the debug flag is set in the data.
Later, a more flexible method may get implemented, accepting a String
id, so not only check type related data, but also any type of special
data can be removed (e.g. moving.locationtrace would not be a check
type, but allow resetting the location trace of a player).
2017-04-14 14:30:34 +02:00
|
|
|
package fr.neatmonster.nocheatplus.checks.access;
|
|
|
|
|
|
|
|
import fr.neatmonster.nocheatplus.checks.CheckType;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Extension for CheckData, enabling disable spell checking removal of sub check
|
|
|
|
* data.
|
|
|
|
*
|
|
|
|
* @author asofold
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
public interface IRemoveSubCheckData {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Remove the sub check data of the given CheckType.
|
|
|
|
*
|
|
|
|
* @param checkType
|
|
|
|
* @return True, if the sub check type has been contained <i>and the
|
|
|
|
* implementation is capable of removing it in general.</i> False,
|
|
|
|
* if the implementation is not capable of removing that type of
|
|
|
|
* data, or if the check type doesn't qualify for a sub check at
|
|
|
|
* all. If false is returned, the entire check group data (or super
|
|
|
|
* check data) might get removed, in order to ensure data removal.
|
|
|
|
*/
|
|
|
|
public boolean removeSubCheckData(CheckType checkType);
|
|
|
|
}
|