- Баллы
- 61
// MainClass.java - это мэйн класс:
package rmbb.main;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
public class MainClass extends JavaPlugin implements Listener{
public Bar bar;
@Override
public void onEnable() {
this.getServer().getPluginManager().registerEvents(this, this);
bar = new Bar(this);
bar.createBar();
if (Bukkit.getOnlinePlayers().size() > 0)
for (Player on : Bukkit.getOnlinePlayers())
bar.addPlayer(on);
}
@Override
public void onDisable() {
bar.getBar().removeAll();
}
public void onJoin(PlayerJoinEvent event) {
if (!bar.getBar().getPlayers().contains(event.getPlayer()))
bar.addPlayer(event.getPlayer());
}
}
// Bar.java - это 2 класс с говнокодой:
package rmbb.main;
import org.bukkit.Bukkit;
import org.bukkit.boss.BarColor;
import org.bukkit.boss.BarStyle;
import org.bukkit.boss.BossBar;
import org.bukkit.entity.Player;
import org.bukkit.ChatColor;
public class Bar {
private int taskID = -1;
private final MainClass plugin;
private BossBar bar;
public Bar(MainClass plugin) {
this.plugin = plugin;
}
public void addPlayer(Player player) {
bar.addPlayer(player);
}
public BossBar getBar() {
return bar;
}
public void createBar() {
bar = Bukkit.createBossBar(format("&cПокупать донат только на &brabbitmine.ru"), BarColor.RED, BarStyle.SOLID);
bar.setVisible(true);
cast();
}
public void cast() {
setTaskID(Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
int count = -1;
double progress = 1.0;
double time = 1.0 /(20);
@Override
public void run() {
bar.setProgress(progress);
switch(count) {
case -1:
break;
case 0:
bar.setColor(BarColor.PINK);
bar.setTitle(format("&dВ честь открытия сервера скидки на донат &c9999999999%&d!!!"));
break;
case 1:
bar.setColor(BarColor.BLUE);
bar.setTitle(format("&3При покупке доната &l&4Господь Бог &r&3вы получаете минет от гл.админов и по ****у бесплатно"));
break;
case 2:
bar.setColor(BarColor.GREEN);
bar.setTitle(format("&dауе!!!"));
break;
case 3:
default:
bar.setColor(BarColor.RED);
bar.setTitle(format("&cУляля-уляля пчелы пчелы"));
count = -1;
break;
}
progress = progress - time;
if (progress <= 0) {
count++;
progress = 1.0;
}
}
}, 0, 20));
}
private String format(String msg) {
return ChatColor.translateAlternateColorCodes('&', msg);
}
public int getTaskID() {
return taskID;
}
public void setTaskID(int taskID) {
this.taskID = taskID;
}
}
package rmbb.main;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
public class MainClass extends JavaPlugin implements Listener{
public Bar bar;
@Override
public void onEnable() {
this.getServer().getPluginManager().registerEvents(this, this);
bar = new Bar(this);
bar.createBar();
if (Bukkit.getOnlinePlayers().size() > 0)
for (Player on : Bukkit.getOnlinePlayers())
bar.addPlayer(on);
}
@Override
public void onDisable() {
bar.getBar().removeAll();
}
public void onJoin(PlayerJoinEvent event) {
if (!bar.getBar().getPlayers().contains(event.getPlayer()))
bar.addPlayer(event.getPlayer());
}
}
// Bar.java - это 2 класс с говнокодой:
package rmbb.main;
import org.bukkit.Bukkit;
import org.bukkit.boss.BarColor;
import org.bukkit.boss.BarStyle;
import org.bukkit.boss.BossBar;
import org.bukkit.entity.Player;
import org.bukkit.ChatColor;
public class Bar {
private int taskID = -1;
private final MainClass plugin;
private BossBar bar;
public Bar(MainClass plugin) {
this.plugin = plugin;
}
public void addPlayer(Player player) {
bar.addPlayer(player);
}
public BossBar getBar() {
return bar;
}
public void createBar() {
bar = Bukkit.createBossBar(format("&cПокупать донат только на &brabbitmine.ru"), BarColor.RED, BarStyle.SOLID);
bar.setVisible(true);
cast();
}
public void cast() {
setTaskID(Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
int count = -1;
double progress = 1.0;
double time = 1.0 /(20);
@Override
public void run() {
bar.setProgress(progress);
switch(count) {
case -1:
break;
case 0:
bar.setColor(BarColor.PINK);
bar.setTitle(format("&dВ честь открытия сервера скидки на донат &c9999999999%&d!!!"));
break;
case 1:
bar.setColor(BarColor.BLUE);
bar.setTitle(format("&3При покупке доната &l&4Господь Бог &r&3вы получаете минет от гл.админов и по ****у бесплатно"));
break;
case 2:
bar.setColor(BarColor.GREEN);
bar.setTitle(format("&dауе!!!"));
break;
case 3:
default:
bar.setColor(BarColor.RED);
bar.setTitle(format("&cУляля-уляля пчелы пчелы"));
count = -1;
break;
}
progress = progress - time;
if (progress <= 0) {
count++;
progress = 1.0;
}
}
}, 0, 20));
}
private String format(String msg) {
return ChatColor.translateAlternateColorCodes('&', msg);
}
public int getTaskID() {
return taskID;
}
public void setTaskID(int taskID) {
this.taskID = taskID;
}
}