Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ==============================================================IRCClient=============================================================
- import io.netty.bootstrap.Bootstrap;
- import io.netty.channel.Channel;
- import io.netty.channel.ChannelOption;
- import io.netty.channel.EventLoopGroup;
- import io.netty.channel.nio.NioEventLoopGroup;
- import io.netty.channel.socket.nio.NioSocketChannel;
- import me.soros.multiping.MultiPing;
- import me.soros.multiping.MultiPingMod;
- import net.minecraft.client.Minecraft;
- import net.minecraftforge.common.MinecraftForge;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- import net.minecraftforge.fml.common.gameevent.TickEvent;
- import java.io.*;
- import java.net.InetAddress;
- import java.net.Socket;
- import java.util.Scanner;
- import java.util.concurrent.LinkedBlockingQueue;
- public class IRCClient {
- private final String host;
- private final int port;
- Channel channel = null;
- public IRCClient(String host, int port){
- this.host = host;
- this.port = port;
- }
- public void run() {
- EventLoopGroup group = new NioEventLoopGroup();
- try {
- Bootstrap bootstrap = new Bootstrap()
- .group(group)
- .channel(NioSocketChannel.class)
- .handler(new NettyInit());
- channel = bootstrap.connect(host, port).sync().channel();
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
- while(true){
- // channel.write(in.readLine() + "\r\n");
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- group.shutdownGracefully();
- }
- }
- public void send(String string) {
- if (channel != null) {
- channel.write(string + "\r\n");
- }
- }
- ==============================================================NettyClientHandler=======================================================
- import io.netty.channel.ChannelHandlerContext;
- import io.netty.channel.SimpleChannelInboundHandler;
- import me.soros.multiping.MultiPing;
- import me.soros.multiping.MultiPingMod;
- import net.minecraft.client.Minecraft;
- public class NettyClientHandler extends SimpleChannelInboundHandler<String> {
- public boolean entity;
- public int lTicks = 0;
- String key;
- private int z;
- private String name;
- private String world;
- private String serverName;
- private int x;
- private int y;
- @Override
- protected void channelRead0(ChannelHandlerContext ctx, String msg) throws Exception {
- System.out.println("Received server message:" + msg);
- parse(msg);
- }
- private void parse(String message) {
- String msg = String.valueOf(message);
- if (msg.contains("-")) {
- if (msg.contains("key")) {
- key = msg.split("-")[1];
- } else if (msg.contains("name")) {
- name = msg.split("-")[1];
- } else if (msg.contains("world")) {
- world = msg.split("-")[1];
- } else if (msg.contains("server")) {
- serverName = msg.split("-")[1];
- } else if (msg.contains("x")) {
- x = Integer.parseInt(msg.split("-")[1]);
- } else if (msg.contains("y")) {
- y = Integer.parseInt(msg.split("-")[1]);
- } else if (msg.contains("z")) {
- z = Integer.parseInt(msg.split("-")[1]);
- } else if (msg.contains("isEntity")) {
- entity = msg.split("-")[1].equalsIgnoreCase("true");
- } else if (msg.contains("ticks")) {
- lTicks = Integer.parseInt(msg.split("-")[1]);
- } else if (msg.contains("end")) {
- if (key.equalsIgnoreCase(MultiPingMod.getKey()) && !name.equalsIgnoreCase(Minecraft.getMinecraft().thePlayer.getName())) {
- MultiPing m = new MultiPing(name, world, serverName, x, y, z, entity);
- MultiPingMod.setTime(lTicks);
- m.render = true;
- if (MultiPingMod.render.getToRender().containsKey(name)) {
- MultiPingMod.render.getToRender().get(name).render = false;
- MultiPingMod.render.getToRender().remove(name);
- }
- MultiPingMod.render.addToRender(m);
- }
- }
- }
- }
- }
- ==============================================================NettyInit================================================================
- import io.netty.channel.ChannelInitializer;
- import io.netty.channel.ChannelPipeline;
- import io.netty.channel.socket.SocketChannel;
- import io.netty.handler.codec.DelimiterBasedFrameDecoder;
- import io.netty.handler.codec.Delimiters;
- import io.netty.handler.codec.string.StringDecoder;
- import io.netty.handler.codec.string.StringEncoder;
- import io.netty.util.CharsetUtil;
- public class NettyInit extends ChannelInitializer<SocketChannel> {
- @Override
- protected void initChannel(SocketChannel socketChannel) throws Exception {
- ChannelPipeline pipeline = socketChannel.pipeline();
- pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()));
- pipeline.addLast("decoder", new StringDecoder());
- pipeline.addLast("encoder", new StringEncoder());
- pipeline.addLast("handler", new NettyClientHandler());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment