- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
无法实例化类型Rankup - 第 61 行我不太明白为什么会发生这种情况:
package net.minebloxmc.main;
import java.util.logging.Logger;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;
import commands.rankup;
public class Main extends JavaPlugin {
public FileConfiguration config = getConfig();
public void onEnable() {
registerCommands();
config.options().copyDefaults(true);
saveConfig();
}
public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args) {
if (commandLabel.equalsIgnoreCase("ranks")) {
if (sender instanceof Player) {
Player player = (Player) sender;
player.sendMessage("[" + ChatColor.GOLD + "Ranks" + ChatColor.WHITE + "]");
if (args.length == 0) {
String[] classes = getConfig().getString("Ranks.Names").split(",");
String[] prices = getConfig().getString("Ranks.Prices").split(",");
for(int i = 0; i< classes.length;i++){
sender.sendMessage("[" + ChatColor.GOLD + classes[i] + ChatColor.WHITE + "] " + ChatColor.BLUE + "This gives you the " + classes[i] + " rank!" + " Price: $" + prices[i] );
}
}
}
}
return false;
}
public void onDisable() {
PluginDescriptionFile pdfFile = getDescription();
Logger logger = Logger.getLogger("Minecraft");
logger.info(pdfFile.getName() + " is now disabled (V." + pdfFile.getVersion() + ")");
}
public void registerCommands() {
getCommand("rankup").setExecutor(new rankup(this));
}
}
这是rankup.java:
package commands;
import java.util.logging.Logger;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.permissions.PermissionAttachment;
import org.bukkit.permissions.PermissionAttachmentInfo;
import org.bukkit.plugin.Plugin;
import com.earth2me.essentials.api.Economy;
import com.earth2me.essentials.api.UserDoesNotExistException;
import net.minebloxmc.main.Main;
public abstract class rankup implements CommandExecutor {
public Main pluginn;
public rankup(Main plugin) {
this.pluginn = plugin;
}
protected static final Logger log = Logger.getLogger("Minecraft");
protected Plugin plugin = null;
abstract public String getName();
abstract public boolean isEnabled();
abstract public boolean hasSuperPermsCompat();
@Deprecated
public boolean has(String world, String player, String permission) {
if (world == null) {
return playerHas((String) null, player, permission);
}
return playerHas(world, player, permission);
}
@Deprecated
public boolean has(World world, String player, String permission) {
if (world == null) {
return playerHas((String) null, player, permission);
}
return playerHas(world.getName(), player, permission);
}
public boolean has(CommandSender sender, String permission) {
return sender.hasPermission(permission);
}
public boolean has(Player player, String permission) {
return player.hasPermission(permission);
}
@Deprecated
abstract public boolean playerHas(String world, String player, String permission);
@Deprecated
public boolean playerHas(World world, String player, String permission) {
if (world == null) {
return playerHas((String) null, player, permission);
}
return playerHas(world.getName(), player, permission);
}
public boolean playerHas(String world, OfflinePlayer player, String permission) {
if (world == null) {
return has((String) null, player.getName(), permission);
}
return has(world, player.getName(), permission);
}
public boolean playerHas(Player player, String permission) {
return has(player, permission);
}
@Deprecated
abstract public boolean playerAdd(String world, String player, String permission);
@Deprecated
public boolean playerAdd(World world, String player, String permission) {
if (world == null) {
return playerAdd((String) null, player, permission);
}
return playerAdd(world.getName(), player, permission);
}
public boolean playerAdd(String world, OfflinePlayer player, String permission) {
if (world == null) {
return playerAdd((String) null, player.getName(), permission);
}
return playerAdd(world, player.getName(), permission);
}
public boolean playerAdd(Player player, String permission) {
return playerAdd(player.getWorld().getName(), player, permission);
}
@Deprecated
public boolean playerAddTransient(String player, String permission) throws UnsupportedOperationException {
Player p = plugin.getServer().getPlayer(player);
if (p == null) {
throw new UnsupportedOperationException(getName() + " does not support offline player transient permissions!");
}
return playerAddTransient(p, permission);
}
public boolean playerAddTransient(OfflinePlayer player, String permission) throws UnsupportedOperationException {
if (player.isOnline()) {
return playerAddTransient((Player) player, permission);
}
throw new UnsupportedOperationException(getName() + " does not support offline player transient permissions!");
}
public boolean playerAddTransient(Player player, String permission) {
for (PermissionAttachmentInfo paInfo : player.getEffectivePermissions()) {
if (paInfo.getAttachment() != null && paInfo.getAttachment().getPlugin().equals(plugin)) {
paInfo.getAttachment().setPermission(permission, true);
return true;
}
}
PermissionAttachment attach = player.addAttachment(plugin);
attach.setPermission(permission, true);
return true;
}
public boolean playerAddTransient(String worldName, OfflinePlayer player, String permission) {
return playerAddTransient(worldName, player.getName(), permission);
}
public boolean playerAddTransient(String worldName, Player player, String permission) {
return playerAddTransient(player, permission);
}
@Deprecated
public boolean playerAddTransient(String worldName, String player, String permission) {
Player p = plugin.getServer().getPlayer(player);
if (p == null) {
throw new UnsupportedOperationException(getName() + " does not support offline player transient permissions!");
}
return playerAddTransient(p, permission);
}
@Deprecated
public boolean playerRemoveTransient(String worldName, String player, String permission) {
Player p = plugin.getServer().getPlayer(player);
if (p == null)
return false;
return playerRemoveTransient(p, permission);
}
public boolean playerRemoveTransient(String worldName, OfflinePlayer player, String permission) {
return playerRemoveTransient(worldName, player.getName(), permission);
}
public boolean playerRemoveTransient(String worldName, Player player, String permission) {
return playerRemoveTransient(worldName, (OfflinePlayer) player, permission);
}
@Deprecated
abstract public boolean playerRemove(String world, String player, String permission);
public boolean playerRemove(String world, OfflinePlayer player, String permission) {
if (world == null) {
return playerRemove((String) null, player.getName(), permission);
}
return playerRemove(world, player.getName(), permission);
}
@Deprecated
public boolean playerRemove(World world, String player, String permission) {
if (world == null) {
return playerRemove((String) null, player, permission);
}
return playerRemove(world.getName(), player, permission);
}
public boolean playerRemove(Player player, String permission) {
return playerRemove(player.getWorld().getName(), player, permission);
}
@Deprecated
public boolean playerRemoveTransient(String player, String permission) {
Player p = plugin.getServer().getPlayer(player);
if (p == null)
return false;
return playerRemoveTransient(p, permission);
}
public boolean playerRemoveTransient(OfflinePlayer player, String permission) {
if (player.isOnline()) {
return playerRemoveTransient((Player) player, permission);
} else {
return false;
}
}
public boolean playerRemoveTransient(Player player, String permission) {
for (PermissionAttachmentInfo paInfo : player.getEffectivePermissions()) {
if (paInfo.getAttachment() != null && paInfo.getAttachment().getPlugin().equals(plugin)) {
paInfo.getAttachment().unsetPermission(permission);
return true;
}
}
return false;
}
abstract public boolean groupHas(String world, String group, String permission);
public boolean groupHas(World world, String group, String permission) {
if (world == null) {
return groupHas((String) null, group, permission);
}
return groupHas(world.getName(), group, permission);
}
abstract public boolean groupAdd(String world, String group, String permission);
public boolean groupAdd(World world, String group, String permission) {
if (world == null) {
return groupAdd((String) null, group, permission);
}
return groupAdd(world.getName(), group, permission);
}
abstract public boolean groupRemove(String world, String group, String permission);
public boolean groupRemove(World world, String group, String permission) {
if (world == null) {
return groupRemove((String) null, group, permission);
}
return groupRemove(world.getName(), group, permission);
}
@Deprecated
abstract public boolean playerInGroup(String world, String player, String group);
@Deprecated
public boolean playerInGroup(World world, String player, String group) {
if (world == null) {
return playerInGroup((String) null, player, group);
}
return playerInGroup(world.getName(), player, group);
}
public boolean playerInGroup(String world, OfflinePlayer player, String group) {
if (world == null) {
return playerInGroup((String) null, player.getName(), group);
}
return playerInGroup(world, player.getName(), group);
}
public boolean playerInGroup(Player player, String group) {
return playerInGroup(player.getWorld().getName(), player, group);
}
@Deprecated
abstract public boolean playerAddGroup(String world, String player, String group);
@Deprecated
public boolean playerAddGroup(World world, String player, String group) {
if (world == null) {
return playerAddGroup((String) null, player, group);
}
return playerAddGroup(world.getName(), player, group);
}
public boolean playerAddGroup(String world, OfflinePlayer player, String group) {
if (world == null) {
return playerAddGroup((String) null, player.getName(), group);
}
return playerAddGroup(world, player.getName(), group);
}
public boolean playerAddGroup(Player player, String group) {
return playerAddGroup(player.getWorld().getName(), player, group);
}
@Deprecated
abstract public boolean playerRemoveGroup(String world, String player, String group);
@Deprecated
public boolean playerRemoveGroup(World world, String player, String group) {
if (world == null) {
return playerRemoveGroup((String) null, player, group);
}
return playerRemoveGroup(world.getName(), player, group);
}
public boolean playerRemoveGroup(String world, OfflinePlayer player, String group) {
if (world == null) {
return playerRemoveGroup((String) null, player.getName(), group);
}
return playerRemoveGroup(world, player.getName(), group);
}
public boolean playerRemoveGroup(Player player, String group) {
return playerRemoveGroup(player.getWorld().getName(), player, group);
}
/**
* @deprecated As of VaultAPI 1.4 use {@link #getPlayerGroups(String, OfflinePlayer)} instead.
*/
@Deprecated
abstract public String[] getPlayerGroups(String world, String player);
@Deprecated
public String[] getPlayerGroups(World world, String player) {
if (world == null) {
return getPlayerGroups((String) null, player);
}
return getPlayerGroups(world.getName(), player);
}
public String[] getPlayerGroups(String world, OfflinePlayer player) {
return getPlayerGroups(world, player.getName());
}
public String[] getPlayerGroups(Player player) {
return getPlayerGroups(player.getWorld().getName(), player);
}
@Deprecated
abstract public String getPrimaryGroup(String world, String player);
@Deprecated
public String getPrimaryGroup(World world, String player) {
if (world == null) {
return getPrimaryGroup((String) null, player);
}
return getPrimaryGroup(world.getName(), player);
}
public String getPrimaryGroup(String world, OfflinePlayer player) {
return getPrimaryGroup(world, player.getName());
}
public String getPrimaryGroup(Player player) {
return getPrimaryGroup(player.getWorld().getName(), player);
}
abstract public String[] getGroups();
abstract public boolean hasGroupSupport();
@SuppressWarnings("deprecation")
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage("You must be a player");
return false;
}
Player player = (Player) sender;
String playere = player.getName();
String world = plugin.getConfig().getString("World.World");
@SuppressWarnings("unused")
String A = "A";
if (player.getLocation().getWorld().getName().equals(world)) {
player.sendMessage(ChatColor.BLUE + "Correct world: " + world + "!");
try {
if (Economy.hasEnough(playere, 100)) {
player.sendMessage(ChatColor.BLUE + "You have enough!");
getPrimaryGroup(world, playere);
}
} catch (UserDoesNotExistException e) {
e.printStackTrace();
}
} else {
player.sendMessage(ChatColor.RED + "Incorrect world! You need to be in world: " + world + "!");
}
return true;
}
}
这是我正在开发的一个 bukkit 插件,我试图让它找到运行命令/rankup 的用户组。
最佳答案
您已将“rankup”类声明为抽象类。这意味着您无法像在 registerCommand 方法中尝试那样通过“new”实例化它。您需要创建一个Rankup的具体子类来实现您的抽象方法并实例化它。
关于java - 无法实例化类型Rankup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38770844/
有没有一种方法可以使用标准类型构造函数(例如 int、set、dict、list、tuple 等)以用户定义的方式将用户定义类的实例强制转换为其中一种类型?例如 class Example:
我知道这个问题在Stackoverflow中有很多问题,但是即使有很多答案,这些答案也帮不了我什么,也没有找到答案。 在我的WebAPP中,它可以正常工作,但是当我将其转换为API时,它失败了(主题标
这个问题已经有答案了: Why does the ternary operator unexpectedly cast integers? (3 个回答) 已关闭 9 年前。 最近遇到一个Java的陷
我尝试使用 FirebaseApp.configure() 配置 Firebase,但遇到以下崩溃: *** Terminating app due to uncaught exception 'c
我有一个自连接员工实体类,其中包含与其自身相关的 id、name 和 ref 列。我想创建它的新实例并将其保存到数据库。 首先我创建了一个 Employee 类的实例并将其命名为 manager。然后
我有一个用于添加新公寓的表单,在该表单中我有一个下拉列表,用户可以在其中选择负责的人员。 显然,当您从下拉列表中选择并尝试保存公寓时,我的应用程序认为该人已被修改。它给了我下面的错误,指示我应该首先保
从 Visualforce 页面,我需要检索我们组织的 salesforce 实例的 URL,而不是 Visual Force URL。 例如我需要https://cs1.salesforce.com
我遇到了一些可能的问题答案,但这是关于从 Hibernate 3.4.0GA 升级到 Hibernate 4.1.8 的问题。所以这曾经在以前的版本下工作,我已经四处搜索了为什么它在这个新版本中出现了
似乎一遍又一遍地问这个问题,我仍然找不到解决我问题的答案。我在下面有一个域模型。每个新创建或更新的“安全用户”都需要我确保其具有配置文件,如果没有,则创建一个新的配置文件并分配给它。 配置文件的要求相
我很难调试为什么 JPA 不级联我的 @ManyToMany 关系。我发现的所有答案都与缺少级联语句有关。但我确实拥有它们并且仍然得到: Caused by: org.hibernate.Transi
Play 服务 API 表明有一个叫做 Instance ID 的东西 但是,在 Android Studio 中包含以下内容后,我无法导入 InstanceID 类 compile "com.goo
我正在使用 Seam 框架。我有 2 个实体: 请求.java @Entity @Table(name = "SRV_REQUEST") public class Request { private
This question处理构建一个适当的Monad来自单子(monad)的实例,但仅在某些约束下 - 例如Set .诀窍是将其包装成 ContT ,它将约束推迟到包装/展开其值。 现在我想对 Ap
我正在尝试执行此查询: StringBuffer sb = new StringBuffer(); sb.append("select p from PointsEntity p " + "where
我试图了解是否可以更改我的 hibernate 配置并使用单个 MySQL 实例(而不是我当前拥有的多个 MySQL 实例): 我有一个使用 hibernate 的 Java 应用程序,与 2 个模式
我有一个选项卡滑动布局,其中包括四个选项卡,每个选项卡都有自己的布局和 fragment ,在我的主要 Activity 布局中,viewpager 参与更改选项卡。特定 View (选项卡)在应用程
我看到很多帖子声称他们正在运行 MySql 的 RDS 实例,但无法连接到该实例,但我没有运行 RDS。 我使用 EC2 实例来托管我的 WordPress 博客,该博客是使用 Web 平台安装程序安
因为我在我的 ec-2 实例上的 python 虚拟环境中运行应用程序( Airflow ),并且我想在同一个 ec2 实例上的默认 python 环境中运行命令,所以我认为 ssh 到我自己的实例更
这个问题已经有答案了: How to fix the Hibernate "object references an unsaved transient instance - save the tra
例子: run APP1 .. ... run APP1 ... run APP2 如何在 APP2 中对 Vue 说我需要调用 APP1?
我是一名优秀的程序员,十分优秀!