Quakecraft/src/com/Geekpower14/Quake/Task.java
Arnaud G. GIBERT 2049a96542 Merge ShopWorld and ScoreWorld config variable into QuakeWorld
Restrict shop to LobbyArea (as ScoreBoard)
Fix a long time bug locking inventory after shop exit
Fix shop emerald management

Restric Shop usage Add LobbyArea in order to restrict ScoreBoard display
2021-05-07 19:21:54 +02:00

73 lines
2.0 KiB
Java

package com.Geekpower14.Quake;
import com.Geekpower14.Quake.Arena.Arena;
import com.Geekpower14.Quake.Arena.SArena;
import com.Geekpower14.Quake.Arena.TArena;
import com.Geekpower14.Quake.Utils.ScoreB;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
public class Task implements Runnable {
private final Quake _plugin;
public Task(Quake pl) {
_plugin = pl;
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
public void resetTime(Arena arena) {
Location wo = null;
if(arena instanceof TArena) {
if(((TArena)arena)._spawns_B.isEmpty())
return;
wo = ((TArena)arena)._spawns_B.get(0);
} else if(arena instanceof SArena) {
if(((SArena)arena)._spawns.isEmpty())
return;
wo = ((SArena)arena)._spawns.get(0);
}
if(wo == null || wo.getWorld() == null || wo.getWorld().getTime() < 10000)
return;
wo.getWorld().setTime(4000);
_plugin.getLogger().info("Time set for :" + arena._name);
}
@Override
public void run() {
for(Player p: Bukkit.getOnlinePlayers()) {
//while (n2 < n) {
Arena arena = _plugin._am.getArenabyPlayer(p);
if (arena != null) {
resetTime(arena);
return;
}
if (isQuakeWorld(p.getWorld().getName())) {
_plugin._shop.displayShopItem( p, "");
giveScoreBoard(p);
}
}
}
public void giveScoreBoard(Player p) {
if (_plugin._scores.containsKey(p.getName())) {
_plugin._scores.get(p.getName()).updateScore();
} else {
_plugin._scores.put(p.getName(), new ScoreB(_plugin, p));
}
}
public Boolean isQuakeWorld(String name) {
if (_plugin._QuakeWorlds.contains(name)) {
return true;
}
return false;
}
}