1
0
mirror of https://e.coding.net/circlecloud/Residence.git synced 2025-11-24 21:46:16 +00:00

add TaskManager...

Signed-off-by: 502647092 <jtb1@163.com>
This commit is contained in:
502647092
2015-09-23 20:56:02 +08:00
parent 9248ddfa3a
commit 371be069c6
5 changed files with 106 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
package com.bekvon.bukkit.residence.runnable;
import org.bukkit.Bukkit;
import com.bekvon.bukkit.residence.Residence;
public class AutoSaveTask implements Runnable {
Residence res;
public AutoSaveTask(Residence res) {
this.res = res;
}
@Override
public void run() {
try {
if (Residence.initsuccess)
res.saveYml();
} catch (Exception ex) {
Bukkit.getLogger().warning("领地数据保存错误,可能造成部分领地丢失,请尝试恢复备份文件!");
}
}
}

View File

@@ -0,0 +1,31 @@
package com.bekvon.bukkit.residence.runnable;
import org.bukkit.Bukkit;
import org.bukkit.entity.Damageable;
import org.bukkit.entity.Player;
import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
public class HealTask implements Runnable {
@Override
public void run() {
try {
for (Player player : Bukkit.getServer().getOnlinePlayers()) {
String resname = Residence.getPlayerListener().getCurrentResidenceName(player.getName());
ClaimedResidence res = null;
if (resname != null)
res = Residence.getResidenceManager().getByName(resname);
if (res != null && res.getPermissions().has("healing", false)) {
Damageable damage = player;
double health = damage.getHealth();
if (health < 20 && !player.isDead())
player.setHealth(health + 1);
}
}
} catch (Exception ex) {
}
}
}

View File

@@ -0,0 +1,12 @@
package com.bekvon.bukkit.residence.runnable;
import com.bekvon.bukkit.residence.Residence;
public class LeaseTask implements Runnable {
@Override
public void run() {
Residence.getLeaseManager().doExpirations();
if (Residence.getConfigManager().showIntervalMessages())
Residence.getLog().info(" - Lease Expirations checked!");
}
}

View File

@@ -0,0 +1,12 @@
package com.bekvon.bukkit.residence.runnable;
import com.bekvon.bukkit.residence.Residence;
public class RentTask implements Runnable {
@Override
public void run() {
Residence.getRentManager().checkCurrentRents();
if (Residence.getConfigManager().showIntervalMessages())
Residence.getLog().info(" - Rent Expirations checked!");
}
}

View File

@@ -0,0 +1,27 @@
package com.bekvon.bukkit.residence.runnable;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitTask;
public class TaskManager {
Plugin plugin;
List<BukkitTask> tasklist;
public TaskManager(Plugin plugin) {
this.plugin = plugin;
this.tasklist = new ArrayList<BukkitTask>();
}
public void add(BukkitTask task) {
tasklist.add(task);
}
public void cancelall() {
for (BukkitTask bukkitTask : tasklist)
bukkitTask.cancel();
}
}