与区域保护插件兼容
283 字小于 1 分钟
如果你想实现在你的插件创建的区域中, NBP不会对该区域进行任何保护, 你可以按照以下的指南为NoBuildPlus添加依赖。
新增一个枚举类
class的名称应该以 H + 对应插件的简称(或者前三个英文字母)。
例如,创建一个class兼容Residence, class名称为 HRes
public class ClassName extends Hooks {
// 要与你插件适配的Listener监听
// 把它们放在这里, NoBuildPlus会在启用时加载它们
@Override
public List<Listener> getListeners() {
return new ArrayList();
}
// 如果以下cancel()返回true, NBP会直接取消其检测。
@Override
public boolean cancel(player player) {
// 你的代码。
return false;
}
@Override
public boolean cancel(Entity entity) {
// 你的代码。
return false;
}
@Override
public boolean cancel(Block block) {
// 你的代码。
return false;
}
@Override
public boolean cancel(Location loc) {
// 你的代码。
return false;
}
}注册类
记得要在NoBuildPlus的主类中注册你创建的class, 否则插件不会知道!
AreaProtectionLoader.java
public class AreaProtectionLoader {
private static final Map<String, Supplier<Hooks>> AREA_PROTECTION_HOOKS =
new HashMap<String, Supplier<Hooks>>() {{
put("Residence", HRes::new);
put("Dominion", HDom::new);
put("BlockRegen", HBlockRegen::new);
// 在这加入你的插件
}};
}