diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..74128b65f50aa361066b25559cfc964eca42621d --- /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 aa99d75561686506ecd85f9f95c5bf4ada892a2c..1ec2aabba1d85b1000aa8d340a08403532882159 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 0000000000000000000000000000000000000000..5c23c84b3bd369e734cd80c921adf61cdf4f01f2 --- /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