- Баллы
- 61
- Имя в Minecraft
- steepMOJANG
Как сделать что-бы игроки с одним правом не могли поднимать предметы
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Не подскажешь что за штука? А то весьма полезный разграничитель предметов по группам пекса.Эх, ладно попробую одну штуку
лол, юзай vault и будет тебе счастьеНе подскажешь что за штука? А то весьма полезный разграничитель предметов по группам пекса.
Мой уровень владения Java ограничивается пока что копипастой со спигота ответов на вопросы новичков вроде "how to check player world" и другие (и да, модер это цитата, я читал правила)лол, юзай vault и будет тебе счастье
@EventHandler(ignoreCancelled = true)
void onEntityPickup(EntityPickupItemEvent event) {
if (event.getEntityType() == EntityType.PLAYER) {
ItemStack itemStack = event.getItem().getItemStack();
if (/*твоя проверка что нужно проверять права конкретно на этот предмет*/ &&
event.getEntity().hasPermission("plugin.nopickup")){
event.setCancelled(true);
event.getEntity().sendMessage(ChatColor.RED + "Вам запрещено поднимать данный предмет.");
}
}
}
Не работаетТак как версию никто не уточнил, пример будет для 1.14.4:
PHP:@EventHandler(ignoreCancelled = true) void onEntityPickup(EntityPickupItemEvent event) { if (event.getEntityType() == EntityType.PLAYER) { ItemStack itemStack = event.getItem().getItemStack(); if (/*твоя проверка что нужно проверять права конкретно на этот предмет*/ && event.getEntity().hasPermission("plugin.nopickup")){ event.setCancelled(true); event.getEntity().sendMessage(ChatColor.RED + "Вам запрещено поднимать данный предмет."); } } }
Всё там работает, показывай код и свои проверки.Не работает
Всё там работает, показывай код и свои проверки.
package Block.main;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.UUID;
import org.bukkit.ChatColor;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.entity.EntityPickupItemEvent;
import org.*********ventory.ItemStack;
import org.bukkit.permissions.PermissionAttachment;
import org.bukkit.plugin.java.JavaPlugin;
import Block.main.commands.RCommands;
import Block.main.commands.XCommands;
import java.util.logging.Logger;
public class Main extends JavaPlugin implements Listener{
File dataFile = new File(getDataFolder() + File.separator + ("config.yml"));
FileConfiguration config = getConfig();
Logger log = Logger.getLogger("Minecraft");
public static Main plugin;
public HashMap<UUID, PermissionAttachment> playerPermissions = new HashMap<>();
@Override
public void onEnable() {
File dataFile = new File(getDataFolder() + File.separator + ("config.yml"));
saveDefaultConfig();
if (!dataFile.exists()) {
try {
dataFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
new XCommands(this);
new RCommands(this);
getLogger().info("Enable! :)");
this.getServer().getPluginManager().registerEvents(this, this);
}
public void onDisabled() {
getLogger().info(ChatColor.RED + "Disabled!");
}
@EventHandler
public void breakBlock(BlockBreakEvent event) {
Player p = event.getPlayer();
if (!p.hasPermission("NoBlock.Nobreak")) {
event.setCancelled(true);
p.sendMessage(config.getString("message"));
}
}
@EventHandler
public void placeBlock(BlockPlaceEvent event) {
Player p = event.getPlayer();
if (!p.hasPermission("NoBlock.Noplace")) {
event.setCancelled(true);
p.sendMessage(config.getString("message"));
}
}
@EventHandler(ignoreCancelled = true)
void onEntityPickup(EntityPickupItemEvent event) {
if (event.getEntityType() == EntityType.PLAYER) {
ItemStack itemStack = event.getItem().getItemStack();
if (event.getEntity().hasPermission("NoBlock.Noplace")){
event.setCancelled(true);
event.getEntity().sendMessage(ChatColor.RED + "Вам запрещено поднимать данный предмет.");
}
}
}
}
Этот кусок кода будет работать на любой версии)Так как версию никто не уточнил, пример будет для 1.14.4:
PHP:@EventHandler(ignoreCancelled = true) void onEntityPickup(EntityPickupItemEvent event) { if (event.getEntityType() == EntityType.PLAYER) { ItemStack itemStack = event.getItem().getItemStack(); if (/*твоя проверка что нужно проверять права конкретно на этот предмет*/ && event.getEntity().hasPermission("plugin.nopickup")){ event.setCancelled(true); event.getEntity().sendMessage(ChatColor.RED + "Вам запрещено поднимать данный предмет."); } } }
На версии 1.7.10 нет события EntityPickupItemEvent .Этот кусок кода будет работать на любой версии)