вывод сообщения 1 раз

Версия Minecraft
1.12.2
85
3
3
У меня такая проблема ,мне нужно что бы в определённое время (/time set 100)
в чат выводилось сообщение 1 раз.

Вот мой код -
Java:
    @SubscribeEvent
    public void WorldTime(TickEvent.WorldTickEvent e)
    {
        if (e.world.getWorldTime() == 100.0F) {
            Minecraft.getMinecraft().player.sendMessage(new TextComponentString("< Player11 > Hello, %p!".replace("%p", Minecraft.getMinecraft().player.getName())));
        }
    }

Вот результат -
1565346604514.png

Сообщение выводится 2 - 3 раза ,как это исправить ?
 
85
3
3
Добавь проверку на серверный мир.

Мне нужно в одиночной игре выводить ,я добавил но ничего не изменилось

Java:
    @SubscribeEvent
    public void WorldTime(TickEvent.WorldTickEvent e)
    {
        if ( !e.world.isRemote ) {
            if (e.world.getWorldTime() == 100.0F) {
                Minecraft.getMinecraft().player.sendMessage(new TextComponentString("< Player11 > Hello, %p!".replace("%p", Minecraft.getMinecraft().player.getName())));
            }
        }
    }
 
85
3
3
Я так понял ты делаешь приветствие для игрока, не проще ловить event подключения игрока?
Нет ,я хочу сделать диалог с ботом ,мне нужно что бы в определённое время в чате появилось сообщение.
 
Ало, все эти эвенты тика, вызывается 2 раза в тик. Надо проверять event.phase на start или на end
 
Последнее редактирование:
85
3
3
АЛО, все эти эвенты тика, вызывается 2 раза в тик. Надо проверять event.phase на start или на end

Спасибо )

Java:
    @SubscribeEvent
    public void WorldTime(TickEvent.WorldTickEvent e)
    {
        if ( e.phase  == TickEvent.Phase.START ) {
            if (e.world.getWorldTime() == 100) {
                Minecraft.getMinecraft().player.sendMessage(new TextComponentString("< Player11 > Hello, %p!".replace("%p", Minecraft.getMinecraft().player.getName())));
            }
        }
    }
 
Сверху