/**
* License
* THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
* CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE").
* THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW.
* ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR
* COPYRIGHT LAW IS PROHIBITED.
*
* BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND
* AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE
* MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED
* HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
*
*/
package l1j.server.server.serverpackets;
import java.io.File;
import java.io.FileReader;
import java.io.LineNumberReader;
import java.util.List;
import java.util.StringTokenizer;
import l1j.server.server.Opcodes;
import l1j.server.server.utils.collections.Lists;
// Referenced classes of package l1j.server.server.serverpackets:
// ServerBasePacket
public class S_CommonNews extends ServerBasePacket {
public S_CommonNews() {
_announcements = Lists.newList();
loadAnnouncements();
writeC(Opcodes.S_OPCODE_COMMONNEWS);
String message = "";
for (int i = 0; i < _announcements.size(); i++) {
message = (new StringBuilder()).append(message).append(_announcements.get(i)).append("\n").toString();
}
writeS(message);
}
public S_CommonNews(String s) {
writeC(Opcodes.S_OPCODE_COMMONNEWS);
writeS(s);
}
private void loadAnnouncements() {
_announcements.clear();
File file = new File("data/announcements.txt");
if (file.exists()) {
readFromDisk(file);
}
}
private void readFromDisk(File file) {
LineNumberReader lnr = null;
try {
String line = null;
lnr = new LineNumberReader(new FileReader(file));
do {
if ((line = lnr.readLine()) == null) {
break;
}
StringTokenizer st = new StringTokenizer(line, "\n\r");
if (st.hasMoreTokens()) {
String announcement = st.nextToken();
_announcements.add(announcement);
}
else {
_announcements.add(" ");
}
}
while (true);
}
catch (Exception e) {}
}
@Override
public byte[] getContent() {
return getBytes();
}
@Override
public String getType() {
return "[S] S_CommonNews";
}
private List<String> _announcements;
}