Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.gmail.filoghost.touchscreen;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import org.bukkit.entity.Player;
- public class TouchHologram
- {
- private String linkedHologramName;
- private List<Command> commands;
- private static Map<String, Long> cooldowns = new HashMap();
- public TouchHologram(String linkedHologram)
- {
- this(linkedHologram, new ArrayList());
- }
- public TouchHologram(String linkedHologram, List<Command> commands)
- {
- this.linkedHologramName = linkedHologram;
- this.commands = commands;
- }
- public List<Command> getCommands()
- {
- return this.commands;
- }
- public String getLinkedHologramName()
- {
- return this.linkedHologramName;
- }
- public void onTouch(Player whoClicked)
- {
- Long oldCooldown = (Long)cooldowns.get(whoClicked.getName());
- if ((oldCooldown != null) &&
- (System.currentTimeMillis() < oldCooldown.longValue())) {
- return;
- }
- cooldowns.put(whoClicked.getName(), Long.valueOf(System.currentTimeMillis() + 500L));
- if (this.commands.size() > 0) {
- for (Command cmd : this.commands) {
- cmd.execute(whoClicked);
- }
- }
- }
- public static void removeCooldown(String name)
- {
- cooldowns.remove(name);
- }
- public boolean equals(Object obj)
- {
- if ((obj instanceof TouchHologram)) {
- return ((TouchHologram)obj).linkedHologramName.equals(this.linkedHologramName);
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment