G-Earth/Extensions/HappySpeech/src/main/java/extensions/happyspeech/HappySpeech.java
2018-12-11 22:42:00 +01:00

61 lines
1.7 KiB
Java

package extensions.happyspeech;
import gearth.extensions.Extension;
import gearth.extensions.ExtensionInfo;
import gearth.extensions.extra.harble.HashSupport;
import gearth.protocol.HMessage;
import gearth.protocol.HPacket;
import java.util.Random;
/**
* Created by Jonas on 24/06/18.
*/
/**
* This is an example extension and is not included in a G-Earth release
*/
@ExtensionInfo(
Title = "HappySpeech",
Description = "Example extension for hashSupport",
Version = "1.0",
Author = "sirjonasxx"
)
public class HappySpeech extends Extension {
public static void main(String[] args) {
new HappySpeech(args).run();
}
private HappySpeech(String[] args) {
super(args);
}
private static final String[] COLORS = {"red", "blue", "cyan", "green", "purple"};
private static final Random r = new Random();
private HashSupport hashSupport;
@Override
protected void initExtension() {
hashSupport = new HashSupport(this);
hashSupport.intercept(HMessage.Side.TOSERVER, "RoomUserShout", this::onSendMessage);
hashSupport.intercept(HMessage.Side.TOSERVER, "RoomUserTalk", this::onSendMessage);
}
private void onSendMessage(HMessage message) {
HPacket packet = message.getPacket();
String speechtext = packet.readString();
message.setBlocked(speechtext.equals("blocked"));
packet.replaceString(6, "@" + COLORS[r.nextInt(COLORS.length)] + "@" + speechtext + " :)");
}
@Override
protected void onClick() {
//{l}{u:1047}{i:0}{s:text}{i:0}{i:0}{i:0}{i:0}
hashSupport.sendToClient("RoomUserTalk", 0, "You clicked on this extension!", 0, 0, 0, 0);
}
}