- Баллы
- 66
- Имя в Minecraft
- l4legenda
У меня несколько вопросов.
1)Я запускаю бота через поток когда определенный игрок заходин на сервер. Но когда выхожу у меня не отключается поток. Пробовал через (Thread = null, Thread.stop(), Thread.interrupt()) и ничего из этого не отключает его.
==========================================================
2) Проблемы с кодировкой. Смысл скрипта просто в личку слать сообщения из твича, но у меня заглавные буквы не вывозяться
===================================================
3) У меня вопрос, как можно использовать конфиг не в главном файле ? У меня выдает ошибку.
==================================================
4)Выдает ошибку на призыве моба через команду.
1)Я запускаю бота через поток когда определенный игрок заходин на сервер. Но когда выхожу у меня не отключается поток. Пробовал через (Thread = null, Thread.stop(), Thread.interrupt()) и ничего из этого не отключает его.
Java:
public Thread bot;
@EventHandler
public void onJoin(PlayerJoinEvent e){
Player pl = e.getPlayer();
if(pl.getName().equals(s.Name)) {
World world = e.getPlayer().getLocation().getWorld();
Location loc = e.getPlayer().getLocation();
bot = new Thread(new BotMain(s.Name_Chanel,pl, world, loc));
bot.start();
e.getPlayer().sendMessage(ChatColor.BLUE+"TwitchBot [ON]");
}
@EventHandler
public void OnQuit(PlayerQuitEvent e){
Player pl = e.getPlayer();
if(pl.getName().equals(s.Name)) {
bot.interrupt();
}
}
public void run(){
try {
if (!isInterrupted()) {
MyBot bot = new MyBot(pl,world,loc);
System.out.print("3");
bot.setVerbose(true);
bot.connect("irc.twitch.tv", 6667, "oauth:slg8egbcpg7lwlfobhvsxjp6c8nenm");
bot.joinChannel("#"+Chanel);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
2) Проблемы с кодировкой. Смысл скрипта просто в личку слать сообщения из твича, но у меня заглавные буквы не вывозяться
Java:
int hp_i = 20;
byte ptext_m[] = message.getBytes();
byte ptext_p[] = sender.getBytes();
try {
String U_m = new String(ptext_m, "UTF-8");
String U_p = new String(ptext_p, "UTF-8");
player.sendMessage("["+ChatColor.BLUE+U_p +ChatColor.WHITE+" ("+ChatColor.RED+Integer.toString(hp_i)+ChatColor.WHITE+"HP)" +ChatColor.WHITE+"] - "+U_m);
} catch (UnsupportedEncodingException e) {e.printStackTrace();}
3) У меня вопрос, как можно использовать конфиг не в главном файле ? У меня выдает ошибку.
Java:
protected FileConfiguration config;
public void onJoin(String channel, String sender, String login, String hostname) {
this.getConfig().set("your boolean property", true);//здесь показыват что нет getConfig
}
4)Выдает ошибку на призыве моба через команду.
Java:
@EventHandler
public void onJoin(PlayerJoinEvent e){
Player pl = e.getPlayer();
if(pl.getName().equals(s.Name)) {
World world = e.getPlayer().getLocation().getWorld();
Location loc = e.getPlayer().getLocation();
bot = new Thread(new BotMain(s.Name_Chanel,pl, world, loc));
bot.start();
e.getPlayer().sendMessage(ChatColor.BLUE+"TwitchBot [ON]");
}
String Chanel;
Player pl;
Location loc;
World world;
;
public BotMain(String chanel,Player pl,World world,Location loc){
this.Chanel = chanel;
this.pl = pl;
this.loc = loc;
this.world = world;
}
}
public void run(){
try {
if (!isInterrupted()) {
MyBot bot = new MyBot(pl,world,loc);
bot.setVerbose(true);
bot.connect("irc.twitch.tv", 6667, "oauth:slg8egbcpg7lwlfobhvsxjp6c8nenm");
bot.joinChannel("#"+Chanel);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Player player;
public World world;
public Location loc;
public MyBot(Player pl, World world,Location loc) {
System.out.print("4");
this.setName("minebot_l4");
this.player = pl;
this.world = world;
this.loc = loc;
}
public void mob(String sender){
Cow cow = (Cow) world.spawn(loc, Cow.class);
System.out.print("1");
cow.setCustomName(ChatColor.RED + "Mr Cow");
cow.setCustomNameVisible(true);
cow.setBaby();
cow.setAgeLock(true);
}