/[projects]/miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/message/MessageWrapper.java
ViewVC logotype

Contents of /miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/message/MessageWrapper.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3203 - (show annotations) (download)
Thu Jun 1 13:16:06 2017 UTC (6 years, 11 months ago) by torben
File size: 2126 byte(s)
Code compiles
1 package dk.thoerup.bukkit.hoeruputils.message;
2
3 import java.util.List;
4 import java.util.logging.Level;
5
6 import javax.persistence.PersistenceException;
7
8 import org.bukkit.OfflinePlayer;
9 import org.bukkit.entity.Player;
10 import org.bukkit.event.EventHandler;
11 import org.bukkit.event.Listener;
12 import org.bukkit.event.player.PlayerLoginEvent;
13 import org.bukkit.plugin.Plugin;
14 import org.bukkit.scheduler.BukkitScheduler;
15
16
17
18 import io.ebean.Ebean;
19 import io.ebean.EbeanServer;
20
21 import java.sql.Timestamp;
22
23 public class MessageWrapper implements Listener {
24
25 EbeanServer server;
26 Plugin plugin;
27
28
29 public MessageWrapper(Plugin plugin) {
30 this.plugin = plugin;
31 server = Ebean.getDefaultServer();
32
33
34 server.find(MessageBean.class).findCount(); //probe
35 }
36
37 @EventHandler
38 public void onPlayerLogin(final PlayerLoginEvent event) {
39 final Player player = event.getPlayer();
40
41 Runnable messagehandler = new Runnable() {
42 @Override
43 public void run() {
44 List<MessageBean> beans = server.find( MessageBean.class)
45 .where()
46 .eq("player", player.getName() )
47 .eq("isread", 0)
48 .findList();
49
50 for(MessageBean msg : beans) {
51 player.sendMessage( msg.getMessage() );
52 msg.setIsread(true);
53 msg.setReadtime( new Timestamp(System.currentTimeMillis()) );
54 server.save(msg);
55 }
56 }
57 };
58
59 BukkitScheduler sched = plugin.getServer().getScheduler();
60 sched.scheduleSyncDelayedTask(plugin, messagehandler, 20*4);
61
62 }
63
64 public void sendMessage(String from, OfflinePlayer player, String message) {
65 if (player.isOnline()) {
66 Player online = (Player) player;
67 online.sendMessage(message);
68 } else {
69 queueMessage(from, player.getName(), message);
70 }
71 }
72
73 protected void queueMessage(String from, String player, String message) {
74
75 MessageBean msg = new MessageBean();
76 msg.setFromplayer(from);
77 msg.setPlayer(player);
78 msg.setMessage(message);
79 msg.setCreatetimeNow();;
80 try {
81 server.save(msg);
82 } catch (PersistenceException e) {
83 plugin.getLogger().log(Level.SEVERE, "MessageWrapper.queueMessage() failed:" + e.getMessage() );
84 }
85
86
87 }
88
89 }

  ViewVC Help
Powered by ViewVC 1.1.20