- Баллы
- 103
MSC_SiteChat - чат сервера на сайте:
Версия: v0.1
Плагин для демонстрации работы API(моста). Возможности самые минимальные, защиты почти нет. Использовать "на продакшене" можно, но не стоит.
Особенности:
Как работает:
(как получить такое: http://rubukkit.org/threads/chat-web-msc_sitechat.98495/#post-1535792)
Лог изменений:
Версия 0.1
Версия: v0.1
Плагин для демонстрации работы API(моста). Возможности самые минимальные, защиты почти нет. Использовать "на продакшене" можно, но не стоит.
Особенности:
- Может выводить последние сообщения с сервера на сайте
- Можно отправлять сообщения с сайта на сервер
- Использует мост MSC_bridge
Подумал не стоит создавать отдельный репозиторий на github для одного файла. (ну ладно, трех ещё ж бинарник и plugin.yml)
В общем src:
Говнокодно... Позже причешу, чтоб глаза не резало.
В общем src:
Java:
package danilko09.msc_sitechat;
import danilko09.msc_bridge.MSC_bridge;
import danilko09.msc_bridge.event_handler;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class MSC_SiteChat extends JavaPlugin implements Listener,event_handler{
private Logger log;
private String[] str = new String[64];
private int lst = 0;
public void onEnable(){
log = this.getLogger();
log.info("MSC_SiteChat has been enabled!");
((MSC_bridge) Bukkit.getPluginManager().getPlugin("MSC_bridge")).addHandler("chat", this);
getServer().getPluginManager().registerEvents(this, this);
}
public void onDisable(){
log.info("MSC_SiteChat has been disabled.");
}
@EventHandler public void onChat(PlayerChatEvent event) {
new Thread(){
public void run(){
try { ((MSC_bridge) Bukkit.getPluginManager().getPlugin("MSC_bridge")).callSite("chat",""); }
catch (Exception ex) { Logger.getLogger(MSC_SiteChat.class.getName()).log(Level.SEVERE, null, ex); }
}
}.start();
String msg = "["+event.getPlayer().getDisplayName()+"]"+event.getMessage();
addToLog(msg);
}
private void addToLog(String msg){
if(lst < str.length){
str[lst] = msg;
lst++;
}else{
int i;
for(i = 1; i<str.length;i++){
str[i-1] = str[i];
}
str[i] = msg;
}
}
@Override
public String onRequest(String uri) {
if(!"".equals(uri) && uri != null){
try {
uri = uri.substring(1, uri.length());
String res = ((MSC_bridge) Bukkit.getPluginManager().getPlugin("MSC_bridge")).callSite("chat",uri);
if(!"".equals(res) && res != null){
String msg = "[site]"+"["+uri+"]"+res;
Bukkit.broadcastMessage(msg);
addToLog(msg);
}
} catch (Exception ex) {
Logger.getLogger(MSC_SiteChat.class.getName()).log(Level.SEVERE, null, ex);
}
}
String ret = "";
for(int i = 0; i<str.length;i++){
if(str[i] == null){break;}
ret = ret + str[i]+"\n";
}
return ret;
}
}
(как получить такое: http://rubukkit.org/threads/chat-web-msc_sitechat.98495/#post-1535792)
Лог изменений:
Версия 0.1
- Релиз плагина
Последнее редактирование:
