Рандомное сообщение при ПКМ (МС 1.7.10)

Версия Minecraft
1.7.10
API
Forge
47
4
8
Всем привет. Я пишу моды совсем недавно. Хотел, что-бы предмет при лкм выдавал случайное сообщение из списка возможных.
У меня получилось, что в итоге в чат отправляются совершенно все сообщения.



Java:
  public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) {
        if (world.isRemote) {
            player.addChatMessage(new ChatComponentText("1"));
        }
        else {
            player.addChatMessage(new ChatComponentText("2"));
            player.addChatMessage(new ChatComponentText("3"));
            player.addChatMessage(new ChatComponentText("4"));
        }
        return itemStack;
 
Решение
Для всех тех, кто бросил доту, а клешни остались.
Это готовый метод. Осталось только в класс вашего предмета воткнуть.


Java:
 @SideOnly(Side.CLIENT)
    public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) {

        if (world.isRemote) {
            List<String> list = new ArrayList<String>();
            list.add("1");
            list.add("2");
            list.add("3");
            Random random = new Random();
            int size = list.size();
            int randomm = random.nextInt(size);
            String vivod = list.get(randomm);
            player.addChatMessage(new ChatComponentText(vivod));

        }
        return itemStack;
    }

jopi

Попрошайка
1,421
30
260
Java:
//Создаешь лист из текста
List<String> list = new ArrayList<>();
list.add("text1");
list.add("text2");
list.add("text3");
//Рандом для выбора случайного
Random rand = new Random();
player.sendChatMessage(
    new ChatComponentText(
        //достаешь результат с листа
        list.get(
            //индекс текста рандомный, потому-что выбираешь рандомом
            rand.nextInt(
                //в nextInt пишешь размер листа дабы не кинуло ошибку
                //в этом случае 3 и рандом даст от 0 до 2
                list.size()
                    ))));
 
47
4
8
Для всех тех, кто бросил доту, а клешни остались.
Это готовый метод. Осталось только в класс вашего предмета воткнуть.


Java:
 @SideOnly(Side.CLIENT)
    public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) {

        if (world.isRemote) {
            List<String> list = new ArrayList<String>();
            list.add("1");
            list.add("2");
            list.add("3");
            Random random = new Random();
            int size = list.size();
            int randomm = random.nextInt(size);
            String vivod = list.get(randomm);
            player.addChatMessage(new ChatComponentText(vivod));

        }
        return itemStack;
    }
 
  • Супер-код!
Реакции: jopi
Сверху