Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
void onBlockPlace(BlockPlaceEvent event) {
Block b = event.getBlock();
Player p = event.getPlayer();
Location pLoc = p.getLocation();
int pY = pLoc.getBlockY();
int bY = b.getY();
int rY = pY - bY;
int bX = b.getX();
int pX = pLoc.getBlockX();
int bZ = b.getZ();
int pZ = pLoc.getBlockZ();
if(rY != 0 &&
bX == pX &&
bZ == pZ)
{
event.setBuild(false);
p.sendMessage(ChatColor.RED + "Вы не можете строить " + ChatColor.GREEN + "под себя!");
}
}
Легко исправить ведь. Только строить неудобно ☹️. Лучше написать антистолбЕсли встать на шифте на край и прыгать то ставить всё равно можно.
Аа, ну так там тоже стоит setBuild(). Ты это не сможешь исправить, увы. Нужно строить забор ~4 куба высотойПфф, не могу ****ь понять, почему все думают что мне для антистолба?!
Один друг мне сказал, что есть вроде баг на возможность проникновения на чужую заприваченую теру, строительством блоков под себя.
Собственно защита от этого мне и нужна.
Для этого можно сделать что бы при установке блоков на заприваченой территории, игрока толкало в рандомную сторону (-z, -x, z, x) на пару блоков и вниз...Пфф, не могу ****ь понять, почему все думают что мне для антистолба?!
Один друг мне сказал, что есть вроде баг на возможность проникновения на чужую заприваченую теру, строительством блоков под себя.
Собственно защита от этого мне и нужна.
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onBlockPlace(BlockPlaceEvent event) {
Block blockPlaced = event.getBlock();
Player player = event.getPlayer();
World world = blockPlaced.getWorld();
ConfigurationManager cfg = plugin.getGlobalStateManager();
WorldConfiguration wcfg = cfg.get(world);
if (wcfg.useRegions) {
final Location location = blockPlaced.getLocation();
if (!plugin.getGlobalRegionManager().canBuild(player, location)
|| !plugin.getGlobalRegionManager().canConstruct(player, location)) {
player.sendMessage(ChatColor.RED + "Получи по бошке!");
player.setVelocity(new org.bukkit.util.Vector((new Random().nextInt(4)-2),-1,(new Random().nextInt(4)-2)));
event.setCancelled(true);
return;
}
}
Но ведь есть вероятность, что отбросит его в сторону забора и он сможет его "перепрыгнуть"?Для этого можно сделать что бы при установке блоков на заприваченой территории, игрока толкало в рандомную сторону (-z, -x, z, x) на пару блоков и вниз...
Код:@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onBlockPlace(BlockPlaceEvent event) { Block blockPlaced = event.getBlock(); Player player = event.getPlayer(); World world = blockPlaced.getWorld(); ConfigurationManager cfg = plugin.getGlobalStateManager(); WorldConfiguration wcfg = cfg.get(world); if (wcfg.useRegions) { final Location location = blockPlaced.getLocation(); if (!plugin.getGlobalRegionManager().canBuild(player, location) || !plugin.getGlobalRegionManager().canConstruct(player, location)) { player.sendMessage(ChatColor.RED + "Получи по бошке!"); player.setVelocity(new org.bukkit.util.Vector((new Random().nextInt(4)-2),-1,(new Random().nextInt(4)-2))); event.setCancelled(true); return; } }
P.S. уже так и сделал для своего сервера))) и не только это))))
Ааа, все, извините.Но ведь есть вероятность, что отбросит его в сторону забора и он сможет его "перепрыгнуть"?
Для этого можно сделать что бы при установке блоков на заприваченой территории, игрока толкало в рандомную сторону (-z, -x, z, x) на пару блоков и вниз...
Код:@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onBlockPlace(BlockPlaceEvent event) { Block blockPlaced = event.getBlock(); Player player = event.getPlayer(); World world = blockPlaced.getWorld(); ConfigurationManager cfg = plugin.getGlobalStateManager(); WorldConfiguration wcfg = cfg.get(world); if (wcfg.useRegions) { final Location location = blockPlaced.getLocation(); if (!plugin.getGlobalRegionManager().canBuild(player, location) || !plugin.getGlobalRegionManager().canConstruct(player, location)) { player.sendMessage(ChatColor.RED + "Получи по бошке!"); player.setVelocity(new org.bukkit.util.Vector((new Random().nextInt(4)-2),-1,(new Random().nextInt(4)-2))); event.setCancelled(true); return; } }
P.S. уже так и сделал для своего сервера))) и не только это))))