标签: bukkit

如何设置块数据值?

Bukkit's setData(data)并且getData()已被弃用.但没有替代品.Bukkit/Spigot JavaDoc说setData():

已过时.神奇的价值

这是为什么?

java metadata bukkit

5
推荐指数
1
解决办法
6174
查看次数

获取YAML路径下的所有节点

我有一个YAML文件,如下所示:

Main:
  topofhouse:
    x: 276.4375
    y: 71.0
    z: -60.5
    yaw: -290.7768
    pitch: 35.400017
  2ndfloor:
    x: 276.5
    y: 67.0
    z: -60.5
    yaw: -8.626648
    pitch: 16.199997
  home:
    x: 276.5
    y: 63.0
    z: -60.5
    yaw: -18.976715
    pitch: -32.850002
Run Code Online (Sandbox Code Playgroud)

有没有办法让所有节点都在Main

java yaml bukkit

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

Java ArrayList IndexOutOfBoundsException索引:1,大小:1

我正在尝试用Java读取某个文件并将其转换为多维数组.每当我从脚本中读取一行代码时,控制台会说:

Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
Run Code Online (Sandbox Code Playgroud)

我知道这个错误是在编码无法达到特定索引时引起的,但我现在还不知道如何修复它.

这是我编码的一个例子.

int x = 1;
while (scanner.hasNextLine()) {
  String line = scanner.nextLine();
  //Explode string line
  String[] Guild = line.split("\\|");
  //Add that value to the guilds array
  for (int i = 0; i < Guild.length; i++) {
    ((ArrayList)guildsArray.get(x)).add(Guild[i]);
    if(sender.getName().equals(Guild[1])) {
      //The person is the owner of Guild[0]
      ownerOfGuild = Guild[0];
    }
  }
  x++;
}
Run Code Online (Sandbox Code Playgroud)

**文字文件**

Test|baseman101|baseman101|0|
Test2|Player2|Player2|0|
Run Code Online (Sandbox Code Playgroud)

其他解决方案,例如在此处找到的解决方案:写入文本文件而不用Java覆盖

提前致谢.

java arrays file arraylist bukkit

4
推荐指数
1
解决办法
5万
查看次数

修改单个玩家的消息

我正在写一个Minecraft插件,当你在聊天中提到他的名字时会通知某人.他将收到一条定制的消息,在消息中,他的名字加下划线并重新收录.它还会播放音乐笔记.

我有这个,但它会将消息发送给服务器中的每个人:

@Override
public void onEnable()
{
    Bukkit.getServer().getPluginManager().registerEvents(this, this);
}

@Override
public void onDisable()
{

}


 @EventHandler
 public void onChat(AsyncPlayerChatEvent e)
 {
     for(Player on:Bukkit.getServer().getOnlinePlayers())
     {
         if(on.equals(e.getPlayer()))continue;


         if(e.getMessage().contains(on.getName()))
         {
             e.setMessage(e.getMessage().replaceAll(on.getName(), ChatColor.GREEN + "@" + ChatColor.UNDERLINE + on.getName()));
             on.playNote(on.getLocation(), Instrument.PIANO, Note.natural(1, Tone.A));
         }
     }
 }
Run Code Online (Sandbox Code Playgroud)

java minecraft bukkit

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

Java API在单独的JAR文件中

我正在制作一个带有API的Spigot minecraft插件,以允许其他开发人员加入它.如何在单独的JAR文件中创建API,其功能与插件本身相同?

我需要这个,因为插件不会公开分发,但我需要允许访问其中的某些方法/类/对象.

期望的结果:Plugin.jar正在服务器上运行.我将Plugin-API.jar放在Maven存储库中,供其他开发人员使用,以便与plugin.jar进行交互.

我对创建自己的API一般都很陌生,因此非常感谢完全解释的响应.谢谢!

java api plugins minecraft bukkit

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

Bukkit 饥饿事件?

我正在尝试制作一个插件来消除 Minecraft 中的饥饿感。但是,我找不到它的事件!

当玩家失去饥饿时是否有一个事件?

PlayerHungerChangeEvent什么?

minecraft bukkit

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

是否有可能使用Bukkit for Minecraft来定义一种新的暴徒?

我想写一个Minecraft mod,它增加了一种新型的暴徒.那可能吗?我看到,在Bukkit中,它EntityType是一个预定义的枚举,这使我相信可能没有办法添加新类型的实体.我希望这是错的.

minecraft bukkit

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

有没有办法将数据附加到Bukkit ItemStack?

好的,我正在尝试将数据附加到Minecraft Bukkit ItemStack.我想它,所以它丢弃的实体也会有它,但这是可选的.如果我不能直接这样做,是否有其他方式我可以保留一个数据(java int,java string)与项目,因为它通过玩家和他们的库存插槽?谢谢!

编辑:这是一个代码示例.

package path.to.the.package;

import org.bukkit.event.*;
import org.bukkit.event.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;

public ExamplePlugin extends JavaPlugin
{
  public List<ItemStack> stacks = new ArrayList<ItemStack>();
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  {
    if(cmd.getName().equalsIgnoreCase("tester123"))
    {
      ItemStack stack = new ItemStack(272, 0, (byte)0);
      Player p = (Player)sender;
      stacks.add(stack);
      p.getLocation().getWorld().dropItem(player.getLocation(), stack);
    }
    return true;
  }

  @EventHandler(priority = EventPriority.HIGHEST)
  public void onItemStackRightClick(PlayerInteractEvent e)
  {
    Player player = e.getPlayer();
    for(ItemStack item : items)
    {
      if(player.getItemInHand() == item)
      {
        //What I DO …
Run Code Online (Sandbox Code Playgroud)

java module minecraft bukkit

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

Node.js:如何写入java-childprocess-stdin

我编写了一个node.js服务器,它可以从Web界面生成Java子进程,并将jar的标准输出显示到该接口。现在我需要通过标准输入发送一些命令到罐子,这就是我的问题:

我生成服务器:

jar = cp.spawn('java', ['-Xmx1024M', '-jar', dir+'craftbukkit.jar', '-o true','-nojline'], {
cwd:dir);
Run Code Online (Sandbox Code Playgroud)

尝试发送一些命令:

jar.stdin('stop\n');
Run Code Online (Sandbox Code Playgroud)

但是它什么也没做。在“其他子进程”中,它的工作原理是这样的,但是现在我不知道如何执行此操作。有人有主意吗?

谢谢你们!

java stdin child-process node.js bukkit

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

如何正确地将染料设置为ItemStack?

我正在尝试将Dye颜色应用到现有的ItemStack中,如何在不使用弃用方法和创建新堆栈的情况下执行此操作?

我尝试了以下代码,但这导致了正常的墨水袋.

ps:我只在第一行创建一个堆栈作为示例.

final ItemStack stack = new ItemStack(Material.INK_SACK);
Dye dye = new Dye();
dye.setColor(DyeColor.LIME);
stack.setData(dye);
Run Code Online (Sandbox Code Playgroud)

编辑:添加最终到堆栈变量以显示它不能被新堆栈替换.

java minecraft bukkit

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

标签 统计

bukkit ×10

java ×8

minecraft ×6

api ×1

arraylist ×1

arrays ×1

child-process ×1

file ×1

metadata ×1

module ×1

node.js ×1

plugins ×1

stdin ×1

yaml ×1