Помогите При компиляции cannot access BlockData

Статус
Закрыто для дальнейших ответов.

MaksApsenT

Ньюби
Баллы
1
Я новичек и не понимаю как особо пишутся плагины, так вот, давно мне написали плагин, и я решил закинуть его на сервер для друзей, но столкнулся с такой проблемой при компиляции, когда начал переводить его на версию 1.18.2

Код:
error: cannot access BlockData
RegionManager manager = platforn.getRegionContainer().get(BukkitAdapter.adapt(p.getWorld()));
^
class file for org.bukkit.block.data.BlockData not found
Note: C:\Users\Maks\Documents\NetBeansProjects\HavenSpleef\src\apsent\HavenSpleef.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error

вот код самого плагина:

Код:
package apsent;

import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldguard.WorldGuard;
import java.io.File;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
//import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitScheduler;

import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.internal.platform.WorldGuardPlatform;
import com.sk89q.worldguard.protection.ApplicableRegionSet;
import com.sk89q.worldguard.protection.managers.RegionManager;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;

public class HavenSpleef extends JavaPlugin implements Listener {

    File cfg = new File(getDataFolder(), "config.yml");
    public void onEnable() {
        if(!cfg.exists()) {
            saveDefaultConfig();
        }
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
        scheduler.scheduleSyncRepeatingTask(this, new Runnable() {
            @Override
            public void run() {
                Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "spleef regen");
            }
        }, 20L, getConfig().getLong("regen-cooldown")*20);
    }
    String prefix = getConfig().getString("messages.prefix");
    @Override
    public boolean onCommand(CommandSender s, Command cmd, String label, String[] args) {
        if(cmd.getName().equalsIgnoreCase("spleef")) {
            if(args[0].equalsIgnoreCase("reload")) {
                if(!s.hasPermission("havenspleef.reload")) {
                    s.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + getConfig().getString("messages.don-t-have-perm")));
                    return true;
                }
                reloadConfig();
                s.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + getConfig().getString("messages.config-reloaded")));
            }
            if(args[0].equalsIgnoreCase("regen")) {
                if(!s.hasPermission("havenspleef.regen")) {
                    s.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + getConfig().getString("messages.don-t-have-perm")));
                    return true;
                }
                Location loc1 = new Location(Bukkit.getWorld(getConfig().getString("regen.world")), getConfig().getDouble("regen.point1.x"), getConfig().getDouble("regen.point1.y"), getConfig().getDouble("regen.point1.z"));
                Location loc2 = new Location(Bukkit.getWorld(getConfig().getString("regen.world")), getConfig().getDouble("regen.point2.x"), getConfig().getDouble("regen.point2.y"), getConfig().getDouble("regen.point2.z"));
                int minX = (int) Math.min(loc1.getX(), loc2.getX());
                int minY = (int) Math.min(loc1.getY(), loc2.getY());
                int minZ = (int) Math.min(loc1.getZ(), loc2.getZ());
                int maxX = (int) Math.max(loc1.getX(), loc2.getX());
                int maxY = (int) Math.max(loc1.getY(), loc2.getY());
                int maxZ = (int) Math.max(loc1.getZ(), loc2.getZ());
                for (int x = minX; x <= maxX; x++)
                    for (int y = minY; y <= maxY; y++)
                        for (int z = minZ; z <= maxZ; z++) {
                            Location blockLocation = new Location(Bukkit.getWorld("world"), x , y, z );
                            blockLocation.getBlock().setType(Material.SNOW_BLOCK);
                        }
                Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', prefix + getConfig().getString("messages.spleef-regen")));
            }
        }
        return true;
    }
    /*@EventHandler
    public void onMove(PlayerMoveEvent e) {
        Player p = e.getPlayer();
        RegionManager manager = getWorldGuard().getRegionManager(p.getWorld());
        if(p.getAllowFlight()) {
            ApplicableRegionSet rg1 = manager.getApplicableRegions(p.getLocation());
            for(ProtectedRegion reg : rg1) {
                if(reg.getId().equalsIgnoreCase("spleef")) {
                    p.setAllowFlight(false);
                    p.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + getConfig().getString("messages.fly-disabled")));
                }
            }
        }
    }*/
    @EventHandler
    public void onInteract(PlayerInteractEvent e) {
        Player p = e.getPlayer();
        Block b = e.getClickedBlock();
        if(p.getItemInHand().getType() == Material.STICK && p.hasPermission("havenspleef.set")) {
            if(e.getAction() == Action.LEFT_CLICK_BLOCK) {
                getConfig().set("regen.world", b.getWorld().getName());
                getConfig().set("regen.point1.x", b.getX());
                getConfig().set("regen.point1.y", b.getY());
                getConfig().set("regen.point1.z", b.getZ());
                saveConfig();
                e.setCancelled(true);
                p.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + getConfig().getString("messages.set-point1")));
                return;
            }
            if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {
                getConfig().set("regen.point2.x", b.getX());
                getConfig().set("regen.point2.y", b.getY());
                getConfig().set("regen.point2.z", b.getZ());
                saveConfig();
                e.setCancelled(true);
                p.sendMessage(ChatColor.translateAlternateColorCodes('&', prefix + getConfig().getString("messages.set-point2")));
                return;
            }
        }
               
                WorldGuardPlugin worldguard = WorldGuardPlugin.inst();
                WorldGuardPlatform platforn = WorldGuard.getInstance().getPlatform();
        RegionManager manager = platforn.getRegionContainer().get(BukkitAdapter.adapt(p.getWorld()));
        try {
                        ApplicableRegionSet rg1 = manager.getApplicableRegions(BukkitAdapter.adapt(b.getLocation()).toVector().toBlockPoint());
            //ApplicableRegionSet rg1 = manager.getApplicableRegions(b.getLocation());
            for(ProtectedRegion reg1 : rg1) {
                if(reg1.getId().equalsIgnoreCase("spleef")) {
                    if(e.getAction() == Action.LEFT_CLICK_BLOCK && b.getType() == Material.SNOW_BLOCK) {
                        e.setCancelled(true);
                        b.setType(Material.AIR);
                    }
                }
            }
        } catch(Exception e1) {
        }
    }
    public WorldGuardPlugin getWorldGuard() {
        Plugin plugin = getServer().getPluginManager().getPlugin("WorldGuard");
        if(plugin == null) return null;
        return (WorldGuardPlugin) plugin;
    }
    public void onDisable() {

    }
}
 
org.bukkit.block.data.BlockData у тебя не нашло в либах. Ты подключал spigot-api?
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх