Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Не могу создать таймер для игрового барьера

Тема в разделе "Разработка плагинов для новичков", создана пользователем _voidexx_, 15 фев 2021.

  1. Автор темы
    _voidexx_

    _voidexx_ Ньюби

    Баллы:
    1
    Имя в Minecraft:
    _voidexx_
    При запуске команды /border игровой барьер должен сужаться каждые 10 секунд. Перепробовал шелудер, просто не смог в нем разобраться. Проблема в том, что this в delayed task всегда подчеркивается красным. Совсем недавно начал учиться, поэтому не судите код строго :whistle:

    Вот мейн код:

    package com.voidexx.BorderShrink.commands;

    import org.bukkit.Bukkit;
    import org.bukkit.World;
    import org.bukkit.WorldBorder;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.scheduler.BukkitScheduler;


    public class Coms implements CommandExecutor {
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (!(sender instanceof Player)) {
    return true;
    }
    World world = ((Player) sender).getWorld();


    if(cmd.getName().equalsIgnoreCase("border")) {
    WorldBorder border = world.getWorldBorder();
    world.getWorldBorder().setCenter(0,0);
    double xap = border.getSize();

    border.setSize(xap * 0.99);

    BukkitScheduler scheduler = Bukkit.getServer().getScheduler();scheduler.scheduleSyncDelayedTask(this, new Runnable() {
    @Override
    public void run() {
    WorldBorder border = world.getWorldBorder();
    world.getWorldBorder().setCenter(0,0);
    double xap = border.getSize();

    border.setSize(xap * 0.99);
    }
    }, 100);
     
  2. Хостинг MineCraft
    <
  3. Cactus_Shmantus

    Cactus_Shmantus Новичок

    Баллы:
    6
    Попробуй использовать следующий код:
    new BukkitRunnable(){
    @Override
    public void run() {
    //твой код
    }
    }.runTaskTimer(this, 0, 20*10);
     
    Последнее редактирование: 5 июн 2022

Поделиться этой страницей