From b7f09504602d3560c7cc6b5b2eee24733812bcbc Mon Sep 17 00:00:00 2001 From: Zandor Smith <info@zsinfo.nl> Date: Mon, 26 Oct 2015 21:55:40 +0100 Subject: [PATCH] Added main methods. --- .gitlab-ci.yml | 14 ++++++++ .../java/nl/zandorsmith/afkkick/AFKKick.java | 34 +++++++++++++++++++ src/main/resources/config.yml | 2 ++ 3 files changed, 50 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 src/main/resources/config.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..74128b6 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,14 @@ +before_script: + - mvn clean + +stages: + - build + +Flags: + stage: build + script: + - mvn package + only: + - master + tags: + - maven \ No newline at end of file diff --git a/src/main/java/nl/zandorsmith/afkkick/AFKKick.java b/src/main/java/nl/zandorsmith/afkkick/AFKKick.java index aa99d75..1ec2aab 100644 --- a/src/main/java/nl/zandorsmith/afkkick/AFKKick.java +++ b/src/main/java/nl/zandorsmith/afkkick/AFKKick.java @@ -1,7 +1,11 @@ package nl.zandorsmith.afkkick; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; +import java.util.HashMap; + /** * Main class. * @@ -9,4 +13,34 @@ import org.bukkit.plugin.java.JavaPlugin; * @since 1.0 */ public class AFKKick extends JavaPlugin { + + HashMap<String, Integer> times = new HashMap<String, Integer>(); + + int time = 300; + String message = "Kicked because you were afk for too long."; + + @Override + public void onEnable() { + saveDefaultConfig(); + getConfig().options().copyDefaults(true); + + time = getConfig().getInt("time"); + message = getConfig().getString("message"); + + Bukkit.getScheduler().runTaskTimer(this, new Runnable() { + @Override + public void run() { + for(Player player : Bukkit.getOnlinePlayers()) { + if(times.get(player.getName()) == null) + times.put(player.getName(), 0); + else + times.put(player.getName(), times.get(player.getName()) + 1); + + if(times.get(player.getName()) >= time) + player.kickPlayer(message); + } + } + }, 20l, 20l); + } + } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml new file mode 100644 index 0000000..5c23c84 --- /dev/null +++ b/src/main/resources/config.yml @@ -0,0 +1,2 @@ +time: 300 +message: 'Kicked because you were afk for too long.' \ No newline at end of file -- GitLab