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() {
}
}