1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Optimized researching progress

This commit is contained in:
SoSeDiK 2019-03-27 21:38:30 +02:00
parent 02ee0f1ce4
commit 3c385770e1

View File

@ -35,6 +35,9 @@ import org.bukkit.entity.Player;
* @since 4.0
*/
public class Research {
private static final int[] research_progress = {23, 44, 57, 92};
/**
* Whether researching is enabled or not;
* @since 4.0
@ -255,55 +258,27 @@ public class Research {
cfg.setValue("researches." + research, true);
cfg.save();
Messages.local.sendTranslation(p, "messages.unlocked", true, new Variable("%research%", getName()));
if(SlimefunStartup.getCfg().getBoolean("options.research-give-fireworks")) FireworkShow.launchRandom(p, 1);
}
else if (!researching.contains(p.getUniqueId())){
if (SlimefunStartup.getCfg().getBoolean("options.research-give-fireworks"))
FireworkShow.launchRandom(p, 1);
} else if (!researching.contains(p.getUniqueId())){
researching.add(p.getUniqueId());
Messages.local.sendTranslation(p, "messages.research.start", true, new Variable("%research%", getName()));
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, new Runnable() {
@Override
public void run() {
for (int i = 1; i < research_progress.length + 1; i++) {
int j = i;
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
p.playSound(p.getLocation(), Sound.ENTITY_BAT_TAKEOFF, 0.7F, 1F);
Messages.local.sendTranslation(p, "messages.research.progress", true, new Variable("%research%", getName()), new Variable("%progress%", "23%"));
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, new Runnable() {
@Override
public void run() {
p.playSound(p.getLocation(), Sound.ENTITY_BAT_TAKEOFF, 0.7F, 1F);
Messages.local.sendTranslation(p, "messages.research.progress", true, new Variable("%research%", getName()), new Variable("%progress%", "44%"));
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, new Runnable() {
@Override
public void run() {
p.playSound(p.getLocation(), Sound.ENTITY_BAT_TAKEOFF, 0.7F, 1F);
Messages.local.sendTranslation(p, "messages.research.progress", true, new Variable("%research%", getName()), new Variable("%progress%", "57%"));
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, new Runnable() {
@Override
public void run() {
p.playSound(p.getLocation(), Sound.ENTITY_BAT_TAKEOFF, 0.7F, 1F);
Messages.local.sendTranslation(p, "messages.research.progress", true, new Variable("%research%", getName()), new Variable("%progress%", "92%"));
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, new Runnable() {
@Override
public void run() {
Config cfg = new Config(new File("data-storage/Slimefun/Players/" + p.getUniqueId() + ".yml"));
cfg.setValue("researches." + research, true);
cfg.save();
Messages.local.sendTranslation(p, "messages.unlocked", true, new Variable("%research%", getName()));
if(SlimefunStartup.getCfg().getBoolean("options.research-unlock-fireworks")) FireworkShow.launchRandom(p, 1);
researching.remove(p.getUniqueId());
}
}, 20L);
}
}, 20L);
}
}, 20L);
}
}, 20L);
}
}, 20L);
Messages.local.sendTranslation(p, "messages.research.progress", true, new Variable("%research%", getName()), new Variable("%progress%", research_progress[j - 1] + "%"));
}, i*20L);
}
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, () -> {
Config cfg = new Config(new File("data-storage/Slimefun/Players/" + p.getUniqueId() + ".yml"));
cfg.setValue("researches." + research, true);
cfg.save();
Messages.local.sendTranslation(p, "messages.unlocked", true, new Variable("%research%", getName()));
if (SlimefunStartup.getCfg().getBoolean("options.research-unlock-fireworks"))
FireworkShow.launchRandom(p, 1);
researching.remove(p.getUniqueId());
}, (research_progress.length + 1)*20L);
}
}
}