标签: bukkit

onChat()没有被调用

此代码应等待.help在聊天中输入,然后发送消息说"Help text.".什么都没发生.

package testplugin.HelpMe;
import java.util.logging.Logger;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.player.PlayerChatEvent;

public class HelpMe extends JavaPlugin implements {

    Logger log;

    public void onEnable(){
        log = this.getLogger();
        log.info("Your plugin has been enabled!");
    }

    public void onDisable(){
        log.info("Your plugin has been disabled.");
    }

    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        return false;


      }
      public void onChat(PlayerChatEvent event) {
            if (event.getMessage().startsWith(".help"))
            {
              event.getPlayer().sendMessage("Help text.");
              event.setCancelled(true);
            }
      }
}
Run Code Online (Sandbox Code Playgroud)

java bukkit

-1
推荐指数
1
解决办法
1008
查看次数

为什么java抛出参数索引超出范围SQLerror

我一直在运行这段代码多次,java一直把java.sql.SQLException参数索引抛出范围(1>参数个数为0),我认为它在SELECT*FROM CARD查询中有缺陷,我在做什么错了吗?

@EventHandler
public void onJoin(PlayerJoinEvent event){
    Player player = event.getPlayer();
    openConnection();
    try{
        PreparedStatement sql = connection.prepareStatement("SELECT * FROM `Cards` WHERE `UUID`=?;");
        sql.setString(1, player.getUniqueId().toString());
        ResultSet rs = sql.executeQuery();
        if(!rs.next()){
            PreparedStatement sql1 = connection.prepareStatement("INSET INTO `Cards` (`UUID`, `username`, `name`, `race`, `tribe`, `gender`, age`, `desc`, `channel`, `ooc`) VALUES(?,?,?,?,?,?,?,?,?,?);");
            sql1.setString(1, player.getUniqueId().toString());
            sql1.setString(2, player.getName());
            sql1.setString(3, "NONE");
            sql1.setString(4, "NONE");
            sql1.setString(5, "NONE");
            sql1.setString(6, "NONE");
            sql1.setString(7, "0");
            sql1.setString(8, "NONE");
            sql1.setString(9, "RP");
            sql1.setString(10, "1");
            sql1.execute();
            sql1.close();
        }
    }catch(SQLException e){
        e.printStackTrace();
    }finally{
        closeConnection();
    }
}
Run Code Online (Sandbox Code Playgroud)

java mysql sql sqlexception bukkit

-1
推荐指数
1
解决办法
53
查看次数

我可以让这个 switch 语句更小吗?最好有 for 循环

有没有办法让它更小,我尝试使用 for 循环,但无法为每个可能的类型创建一个随机实例。

Random randFireworkEffect = new Random(5);
switch(randFireworkEffect.nextInt()) {
    case 0:
        e = FireworkEffect.builder().flicker(true).withColor(c).withFade(c).with(Type.BALL).trail(true).build();
        break;
    case 1:
        e = FireworkEffect.builder().flicker(true).withColor(c).withFade(c).with(Type.BALL_LARGE).trail(true).build();
        break;
    case 2:
         e = FireworkEffect.builder().flicker(true).withColor(c).withFade(c).with(Type.BURST).trail(true).build();
        break;
    case 3:
         e = FireworkEffect.builder().flicker(true).withColor(c).withFade(c).with(Type.CREEPER).trail(true).build();
        break;
    case 4:
         e = FireworkEffect.builder().flicker(true).withColor(c).withFade(c).with(Type.STAR).trail(true).build();
        break;
}
Run Code Online (Sandbox Code Playgroud)

java bukkit

-1
推荐指数
1
解决办法
112
查看次数

对于声明问题?

所以我有这些代码,我的for循环有问题.

@EventHandler
    public void onPistonExtend(BlockPistonExtendEvent event)
    {
        if (TownStones.blockPistons)
        {
            List<Block> pushedBlocks = event.getBlocks();
            Material theMaterial = null;
            int end = TownStones.blocks;
            boolean done = false;
            if (pushedBlocks != null) {
                for (Iterator localIterator = pushedBlocks.iterator(); localIterator.hasNext(); !done)
                {
                    Block theBlock = (Block)localIterator.next();
                    theMaterial = theBlock.getType();
                    done = false;
                    int i = 0; continue;
                    if (theMaterial == Material.getMaterial(TownStones.blockType[i]))
                    {
                        event.setCancelled(true);
                        done = true;
                    }
                    else if (i > end)
                    {
                        done = true;
                    }
                    i++;
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

Intellij …

java intellij-idea minecraft bukkit

-2
推荐指数
1
解决办法
87
查看次数

玩家加入活动和玩家登录活动无效(minecraft bukkit编码)

好吧,因为我更新到java 8,我的代码中没有任何正常工作,只有控制台日志和一些命令.我用它来发短信并找到解决方案的一件事就是基本的玩家加入消息.据我所知,这段代码没有错:

package core.global.idv1.stats;

import org.bukkit.ChatColor;
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.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.plugin.java.JavaPlugin;

public final class CoreStats extends JavaPlugin implements Listener {
    @Override
    public void onEnable() {
        getLogger().info("[CoreStats] Has been enabled!");
    }

    @Override
    public void onDisable() {
        getLogger().info("[CoreStats] Has been disabled!");
    }

    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
        Player player = (Player) sender;
        if(commandLabel.equalsIgnoreCase("sendme")){
            player.sendMessage(ChatColor.GOLD + "Sent");    
    }
        return false;

    }

    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e){
    Player …
Run Code Online (Sandbox Code Playgroud)

java bukkit

-2
推荐指数
1
解决办法
5140
查看次数

如何更改玩家 Bungeecord 的服务器

我想知道如何移动玩家的目标服务器,到目前为止我没有任何代码,也没有找到任何东西,但我正在为我的 Minecraft 服务器网络制作一个供私人使用的插件。我已经有一个名为Command Sync 的插件,它将我的 BungeeCord 服务器和 Spigot 服务器与我的目标服务器链接sync console bungee send @p tntwars在一起tntwars。这就是我所知道的,因为 Spigot 论坛很糟糕而且没用>

如何将该玩家移至另一台服务器?

java minecraft bukkit bungeecord

-3
推荐指数
1
解决办法
1万
查看次数

将世界边界设置为 400 个方块

我想在服务器启动时将世界边界设置为400个方块,这样玩家就不能离开地图太远。

我怎样才能做到这一点?我自己找不到任何方法。

java minecraft bukkit

-4
推荐指数
1
解决办法
3408
查看次数

Minecraft Bukkit插件 - 走过一个街区的PotionEffect?

当他走过指定的街区时,我正试图给玩家一定的药水效果.不幸的是我无法理解.

我已经尝试过的:

- 我在youtube上搜索了教程,但没有找到任何教程

minecraft bukkit

-4
推荐指数
1
解决办法
203
查看次数

如何实现体面的"坏词过滤"?

如何创建好的坏词聊天过滤器?例如,让用户不要输入Poop并向他们发送警告.

然而,它也应该过滤pooopppp,P00p,Po0p,P0o0o0op,(或他们尝试使用的任何技巧)等.

java machine-learning filter profanity bukkit

-4
推荐指数
1
解决办法
417
查看次数