- Баллы
- 173
- Имя в Minecraft
- Sirse
Добрый день.
Упарываюсь и пытаюсь использовать GriefPrevention API (которого по идее нет) для проверки на наличие привата в моде BuildCraft. (Нет, BlockBreakEvent не православен в этом плане).
Набросал примерно это говняцо
public static boolean BlockBreakCheck(World world, int x, int y, int z,String username) {
Player player = CraftFakePlayer.getPossiblyRealPlayerBukkitEntity(world, username, false);
Block block = world.getWorld().getBlockAt(x, y, z);
BlockBreakEvent event = new BlockBreakEvent(block, player);
Plugin griefPrevention = world.getServer().getPluginManager().getPlugin("GriefPrevention");
if((griefPrevention != null) && griefPrevention.isEnabled()) {
WorldConfig wc = GriefPrevention.instance.getWorldCfg(block.getWorld());
if (!wc.Enabled()) {
return true;
} else if (wc.getBreakBlockRules().Allowed(block.getLocation(), player).Denied()) {
return false;
} else {
//ЛОГИ, БОЛЬШЕ ЛОГОВ СЮДА!
return true;
}
} else { //Тут ещё будет поддержка WG.
return false;
}
}
Как я и ожидал, получил ошибку об отсутствии класса GriefPrevention. В общем, кто сталкивался, как использовать код из плагина в моде, не получив по голове? Чувствую, что я что-то делаю не так, но сказывается 3тий час ночи и отсутствие нужных знаний по яве.
Упарываюсь и пытаюсь использовать GriefPrevention API (которого по идее нет) для проверки на наличие привата в моде BuildCraft. (Нет, BlockBreakEvent не православен в этом плане).
Набросал примерно это говняцо
public static boolean BlockBreakCheck(World world, int x, int y, int z,String username) {
Player player = CraftFakePlayer.getPossiblyRealPlayerBukkitEntity(world, username, false);
Block block = world.getWorld().getBlockAt(x, y, z);
BlockBreakEvent event = new BlockBreakEvent(block, player);
Plugin griefPrevention = world.getServer().getPluginManager().getPlugin("GriefPrevention");
if((griefPrevention != null) && griefPrevention.isEnabled()) {
WorldConfig wc = GriefPrevention.instance.getWorldCfg(block.getWorld());
if (!wc.Enabled()) {
return true;
} else if (wc.getBreakBlockRules().Allowed(block.getLocation(), player).Denied()) {
return false;
} else {
//ЛОГИ, БОЛЬШЕ ЛОГОВ СЮДА!
return true;
}
} else { //Тут ещё будет поддержка WG.
return false;
}
}
Как я и ожидал, получил ошибку об отсутствии класса GriefPrevention. В общем, кто сталкивался, как использовать код из плагина в моде, не получив по голове? Чувствую, что я что-то делаю не так, но сказывается 3тий час ночи и отсутствие нужных знаний по яве.