两个变量相同的原因是什么,甚至应该是不同的?

问题描述 投票:-3回答:1

我正在尝试在minecraft(开箱器)中编写插件。我有问题,因为每当变量current_item和变量next相同时,甚至应该是不同的。

Inventory inv = Bukkit.createInventory(null, InventoryType.CHEST, "Losowanie");

ItemStack rnditem = new ItemStack(Material.STICK);

ItemStack current_item = new ItemStack(Material.APPLE);
ItemStack next = new ItemStack(Material.STICK);

for(int i = 0; i < 15; i++) {

    Random rand = new Random();

    switch(rand.nextInt(2)) {
        case 0:
            rnditem.setType(Material.DIAMOND);
            break;
        case 1:
            rnditem.setType(Material.GOLDEN_APPLE);
            break;
    }


    inv.clear();

    current_item = next;
    next = rnditem;

    inv.setItem(13, current_item);
    inv.setItem(14, next);

    p.updateInventory();

    Thread.sleep(i*100);
}
java minecraft bukkit
1个回答
1
投票

不同的变量用于保存移位参考,但rnditem永远不会设置为新的参考

switch(rand.nextInt(2)) {
    case 0:
        rnditem.setType(Material.DIAMOND);
        break;
    case 1:
        rnditem.setType(Material.GOLDEN_APPLE);
        break;
}

应该是

switch(rand.nextInt(2)) {
    case 0:
        rnditem = new ItemStack(Material.DIAMOND);
        break;
    case 1:
        rnditem = new ItemStack(Material.GOLDEN_APPLE);
        break;
}
© www.soinside.com 2019 - 2024. All rights reserved.