java - 如何在配置中设置爆炸威力?

标签 java bukkit

我试图在config 中将float explosionPower 设置为10F,这样我就可以通过插件轻松更改它。我该怎么做?

代码:

@EventHandler
@SuppressWarnings("deprecation")
public void onPlayerInteractBlock(PlayerInteractEvent event) {
    Player player = event.getPlayer();
    float explosionPower = 10F;
    if (player.getItemInHand().getType() == Material.DIAMOND_SWORD) {
    player.getWorld().strikeLightning(player.getTargetBlock(null, 50).getLocation());
    player.getWorld().createExplosion(player.getTargetBlock(null, 50).getLocation(), explosionPower);
    }

最佳答案

您可以通过以下方式在配置中获取 float 的值:

float explosionPower = this.getConfig.getFloat("path");

路径是它在配置中的位置,所以使用上面的代码,在配置中它看起来像这样:

path: 10

path 应更改为 powerexplosionPower 之类的内容。

您很可能希望在主文件中执行此操作。此外,您不必使用 float literal,因此您可以只使用 10 而不是放置 10.0f,而不是 9.2f,你可以只使用9.2。这是您的代码示例:

@EventHandler
@SuppressWarnings("deprecation")
public void onPlayerInteractBlock(PlayerInteractEvent event) {
    Player player = event.getPlayer();
    float explosionPower = this.getConfig.getFloat("power"); //this is what we changed
    if(player.getItemInHand().getType() == Material.DIAMOND_SWORD) {
        player.getWorld().strikeLightning(player.getTargetBlock(null, 50).getLocation());
        player.getWorld().createExplosion(player.getTargetBlock(null, 50).getLocation(), explosionPower);
    }
}

然而,使用上面的代码,配置看起来像:

power: 10

此外,为了使您的代码更好,这里是它的重做版本:

@EventHandler
@SuppressWarnings("deprecation")
public void onPlayerInteractBlock(PlayerInteractEvent event){
    Player player = event.getPlayer();
    if (player.getItemInHand().getType().equals(Material.DIAMOND_SWORD)){
        float explosionPower = this.getConfig.getFloat("power");
        player.getWorld().strikeLightning(player.getTargetBlock(null, 50).getLocation());
        player.getWorld().createExplosion(player.getTargetBlock(null, 50).getLocation(), explosionPower);
    }
}

关于java - 如何在配置中设置爆炸威力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21951770/

相关文章:

java - 显示进度条并将其链接到下载

java - 检索elasticsearch中的各个字段

JAVA_HOME 环境变量未设置 Validator.nu HTML 解析器

java - gui 组件之间的依赖模式

java - 可以在我知道不会为空的字段上使用断言吗?

java - 我在将 API 实现到 bukkit 插件中时遇到问题

java - 将 Java Web 项目部署到 Google App Engine

java - 为什么不给凶手加钱,而不给受害者减钱呢?并且消息未发送

java - Bukkit 谈话无法休眠