Hareketli scoreboard nasıl yapabilirim ?

McWeb

Kızıltaş Madencisi
En iyi cevaplar
0
Kod:
 objective.setDisplayName("Deneme");
objective.setDisplayName("Deneme1");
objective.setDisplayName("Deneme2");
objective.setDisplayName("Deneme3");
objective.setDisplayName("Deneme4");
objective.setDisplayName("Deneme5");
Bu şekilde yapmayı düşündüm mantığı doğru mu ? Aralarına saniye nasıl koyabilirim ve bitince tekrar baştan başlamasını nasıl sağlarım ?
 

McWeb

Kızıltaş Madencisi
En iyi cevaplar
0
Verdiğiniz sitedeki kodun
Kod:
obj.setDisplayName("Animated Scoreboard");
Kısmını bu şekilde yaptım
Kod:
obj.setDisplayName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Scoreboard")));
Kodun başınada
Kod:
static Plugin plugin;
  
    public void onEnable() {
        plugin = this;
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        getConfig().options().copyDefaults(true);
        saveConfig();
        reloadConfig();
    }
Bu kodu ekledim
Config.yml geliyor fakat oyunda scoreboard çıkmıyor
 

Personinblack

YASAKLANDI
En iyi cevaplar
0
Verdiğiniz sitedeki kodun
Kod:
obj.setDisplayName("Animated Scoreboard");
Kısmını bu şekilde yaptım
Kod:
obj.setDisplayName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Scoreboard")));
Kodun başınada
Kod:
static Plugin plugin;
 
    public void onEnable() {
        plugin = this;
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        getConfig().options().copyDefaults(true);
        saveConfig();
        reloadConfig();
    }
Bu kodu ekledim
Config.yml geliyor fakat oyunda scoreboard çıkmıyor
Tüm kodu paylaşmalısın ki hatalı kısmı görebilelim... Scoreboard'ın hiç gelmemesi hata yapmış olma olasılığınızı yükseltir.
 

McWeb

Kızıltaş Madencisi
En iyi cevaplar
0
PHP:
package com.mcweb;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Score;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.ScoreboardManager;

public class Ana extends JavaPlugin implements Listener {
    static Plugin plugin;
 
    public void onEnable() {
        plugin = this;
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
            getLogger().info("Plugin Başladı!");
            Bukkit.getPluginManager().registerEvents(this, this);
            this.saveDefaultConfig();
            getConfig().options().copyDefaults(true);
            saveConfig();
    }
            @SuppressWarnings("unused")
            public boolean onCommand(CommandSender sender, Command cmd, String CommandLabel, String[] args)
            {
                Player p = (Player) sender;
                if (sender.getName ().equalsIgnoreCase ("scorereload")){
                    this.reloadConfig();
                    this.onLoad();
                    }
                    return false;
            }
 
    public java.util.List<String> list = this.getConfig().getStringList("Scoreboard");

    public void ReceiveBoard(Player p) {
    ScoreboardManager manager = Bukkit.getScoreboardManager();
                    Scoreboard board = manager.getNewScoreboard();
               
                    final Objective obj = board.registerNewObjective("dummy", "scoreboard");
                    obj.setDisplaySlot(DisplaySlot.SIDEBAR);
                    obj.setDisplayName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("Scoreboard")));
                    Score score = obj.getScore(ChatColor.AQUA + "Oyuncu Adı:");
                    score.setScore(10);
                 
                    Score score1 = obj.getScore(ChatColor.GRAY + p.getName());
                    score1.setScore(9);
                 
                    Score score2 = obj.getScore(ChatColor.AQUA + "Can:");
                    score2.setScore(8);
                 
                    long health = Math.round(p.getHealth());
                 
                    Score score3 = obj.getScore(ChatColor.GRAY + String.valueOf(health));
                    score3.setScore(7);
    Bukkit.getScheduler().scheduleSyncRepeatingTask((Plugin)this, new Runnable(){
                    int i;

                    public void run() {              
                        if (i >= list.size()) {
                            i = 0;
                        }
                        if (i < list.size()) {
                             Score animatedline= obj.getScore(list.get(i));
                             animatedline.setScore(20);
                        }
                     i ++;
                    }
                }, 0,  20);
 
    p.setScoreboard(board);

    }
}
 
Son düzenleme:

Personinblack

YASAKLANDI
En iyi cevaplar
0
Birincisi kopyala yapıştır yaptığın fazla belli oluyor. Bu linki sana bir şeyler öğren diye verdim bu şekilde yaparsan pek yararı olmaz. (Karışmıyorum kendi bileceğin iş sadece tavsiye) İkincisi onCommand kısmı tamamen hatalı ve onEnable kısmında 2 kere event kaydı yapmışsın... Ha belirtmeyi unutmuşum asıl olay "ReceiveBoard" 'ı çağırmaman.
 
Son düzenleme:
Üst