mirror of
https://github.com/Threnklyn/MinecraftChat.git
synced 2026-06-07 13:43:31 +02:00
add multi version support and support show kicked reason
This commit is contained in:
+1
-1
@@ -45,7 +45,7 @@ module.exports = function(grunt) {
|
||||
|
||||
nodemon: {
|
||||
dev: {
|
||||
script: ['bin/start'],
|
||||
script: 'bin/start',
|
||||
options: {
|
||||
watch: ['app/server']
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ module.exports = function($scope, socket, buffer) {
|
||||
buffer.append('Welcome to AlexKvazos\'s Minecraft Chat App');
|
||||
buffer.append('> Press connect to connect to a Minecraft server and start chatting!');
|
||||
buffer.append('<br>');
|
||||
buffer.append('<i>Note: This application only works with 1.8 Minecraft servers.</i>');
|
||||
buffer.append('<i>Note: This application only works with 1.8,1.9,1.10,1.11 Minecraft servers.</i>');
|
||||
buffer.append('---');
|
||||
buffer.append('<br>');
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@
|
||||
module.exports = function($scope, socket, servers) {
|
||||
|
||||
$scope.servers = servers.get();
|
||||
$scope.version = "1.10"
|
||||
|
||||
$scope.select = function(id) {
|
||||
$scope.ip = servers.select(id).ip;
|
||||
$scope.port = servers.select(id).port;
|
||||
$scope.version = servers.select(id).version;
|
||||
|
||||
if ($scope.username.length > 0 && $scope.password.length > 0) {
|
||||
$scope.connect();
|
||||
@@ -26,7 +28,8 @@ module.exports = function($scope, socket, servers) {
|
||||
username: $scope.username,
|
||||
password: $scope.password,
|
||||
hostname: $scope.ip,
|
||||
port: $scope.port || 25565
|
||||
port: $scope.port || 25565,
|
||||
version: $scope.version || "1.10"
|
||||
});
|
||||
|
||||
} else {
|
||||
@@ -34,4 +37,8 @@ module.exports = function($scope, socket, servers) {
|
||||
}
|
||||
};
|
||||
|
||||
$scope.selectversion = function(version){
|
||||
$scope.version=version;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
@@ -11,6 +11,7 @@ module.exports = function($scope, socket) {
|
||||
$scope.host = data.host;
|
||||
$scope.port = data.port;
|
||||
$scope.username = data.username;
|
||||
$scope.version = data.version;
|
||||
$scope.connected = true;
|
||||
});
|
||||
});
|
||||
|
||||
@@ -4,6 +4,7 @@ module.exports = function($scope, servers) {
|
||||
$scope.name = '';
|
||||
$scope.ip = '';
|
||||
$scope.port = '';
|
||||
$scope.version = "1.10";
|
||||
}
|
||||
|
||||
$scope.servers = servers.get();
|
||||
@@ -12,7 +13,8 @@ module.exports = function($scope, servers) {
|
||||
var server = {
|
||||
name: $scope.name,
|
||||
ip: $scope.ip,
|
||||
port: $scope.port || 25565
|
||||
port: $scope.port || 25565,
|
||||
version: $scope.version || "1.10",
|
||||
};
|
||||
servers.add(server);
|
||||
$scope.servers = servers.get();
|
||||
@@ -25,4 +27,8 @@ module.exports = function($scope, servers) {
|
||||
$scope.servers = servers.get();
|
||||
};
|
||||
|
||||
$scope.selectversion = function(version){
|
||||
$scope.version=version;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
import moment from 'moment';
|
||||
|
||||
export default (socket) => {
|
||||
|
||||
let onkicked = (reason, loggedIn) => {
|
||||
let timestamp = moment().format('MMM D h:mm:ss a');
|
||||
socket.emit('buffer:info',JSON.stringify(reason));
|
||||
|
||||
console.log(`${timestamp}: Kicked > ${socket.connectionParams.hostname}:${socket.connectionParams.port} `);
|
||||
};
|
||||
|
||||
socket.mcbot.on('kicked', onkicked);
|
||||
|
||||
};
|
||||
@@ -9,7 +9,8 @@ export default (socket) => {
|
||||
socket.emit('bot:connect', {
|
||||
host: socket.connectionParams.hostname,
|
||||
port: socket.connectionParams.port,
|
||||
username: socket.mcbot.username
|
||||
username: socket.mcbot.username,
|
||||
version: socket.connectionParams.version
|
||||
});
|
||||
console.log(`${timestamp}: logged in > ${socket.connectionParams.hostname}:${socket.connectionParams.port} - Username: ${socket.mcbot.username}`);
|
||||
};
|
||||
|
||||
@@ -7,6 +7,7 @@ import death from './events/death';
|
||||
import rain from './events/rain';
|
||||
import health from './events/health';
|
||||
import move from './events/move';
|
||||
import kicked from './events/kicked';
|
||||
|
||||
// bind all listeners to the bot
|
||||
export default (socket) => {
|
||||
@@ -20,5 +21,6 @@ export default (socket) => {
|
||||
rain(socket);
|
||||
move(socket);
|
||||
health(socket);
|
||||
kicked(socket);
|
||||
|
||||
};
|
||||
|
||||
@@ -9,11 +9,11 @@ export default (socket) => {
|
||||
let timestamp = moment().format('MMM D h:mm:ss a');
|
||||
|
||||
// log activity to console
|
||||
console.log(`${timestamp}: connecting > ${data.hostname}:${data.port} - ${data.username}`);
|
||||
console.log(`${timestamp}: connecting > ${data.hostname}:${data.port} - ${data.version} - ${data.username}`);
|
||||
|
||||
|
||||
// inform user that connection is being made
|
||||
socket.emit('buffer:info', `Connecting to server ${data.hostname}:${data.port}`);
|
||||
socket.emit('buffer:info', `Connecting to ${data.version} server ${data.hostname}:${data.port}`);
|
||||
|
||||
|
||||
// if a bot already exists, ask user to disconnect
|
||||
@@ -28,7 +28,8 @@ export default (socket) => {
|
||||
host: data.hostname,
|
||||
port: data.port,
|
||||
username: data.username,
|
||||
password: data.password
|
||||
password: data.password,
|
||||
version: data.version || "1.10"
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title" id="myModalLabel">Connect to Minecraft server</h4>
|
||||
<p>This application only works with 1.8 Minecraft servers.</p>
|
||||
<p>This application only works with 1.8,1.9,1.10,1.11.2 Minecraft servers.</p>
|
||||
</div>
|
||||
<form ng-submit="connect()">
|
||||
<div class="modal-body">
|
||||
@@ -29,6 +29,7 @@
|
||||
<table class="table table-bordered" ng-show="servers.length">
|
||||
<tr ng-repeat="server in servers track by $index">
|
||||
<td>{{server.name}}</td>
|
||||
<td>{{server.version}}</td>
|
||||
<td>{{server.ip}}:{{server.port}}</td>
|
||||
<td><span class="label label-info" ng-click="select($index)" style="cursor:pointer">Select</span></td>
|
||||
</tr>
|
||||
@@ -38,10 +39,21 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label>Server IP</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span>{{version}} </span><span class="caret"></span></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="#" ng-click="selectversion('1.7')">1.7</a></li>
|
||||
<li><a href="#" ng-click="selectversion('1.8')">1.8</a></li>
|
||||
<li><a href="#" ng-click="selectversion('1.9')">1.9</a></li>
|
||||
<li><a href="#" ng-click="selectversion('1.10')">1.10</a></li>
|
||||
<li><a href="#" ng-click="selectversion('1.11.2')">1.11.2</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<input type="text" ng-model="ip" class="form-control" placeholder="mc.server.com" required>
|
||||
</div>
|
||||
<input type="text" class="form-control" style="display: none;" ng-model="version">
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
<table class="table table-bordered" ng-show="servers.length">
|
||||
<tr ng-repeat="server in servers track by $index">
|
||||
<td>{{server.name}}</td>
|
||||
<td>{{server.version}}</td>
|
||||
<td>{{server.ip}}:{{server.port}}</td>
|
||||
<td><span class="label label-danger" ng-click="delete($index)" style="cursor:pointer">Delete</span></td>
|
||||
</tr>
|
||||
@@ -27,17 +28,29 @@
|
||||
<input type="text" class="form-control" ng-model="name" placeholder="Minecraft Server" required>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<div class="col-sm-8">
|
||||
<label>Server IP</label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span>{{version}}</span><span class="caret"></span></button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="#" ng-click="selectversion('1.7')">1.7</a></li>
|
||||
<li><a href="#" ng-click="selectversion('1.8')">1.8</a></li>
|
||||
<li><a href="#" ng-click="selectversion('1.9')">1.9</a></li>
|
||||
<li><a href="#" ng-click="selectversion('1.10')">1.10</a></li>
|
||||
<li><a href="#" ng-click="selectversion('1.11.2')">1.11.2</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<input type="text" class="form-control" ng-model="ip" placeholder="mc.server.com" required>
|
||||
</div>
|
||||
<input type="text" class="form-control" style="display: none;" ng-model="version">
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="col-sm-4">
|
||||
<div class="form-group">
|
||||
<label>Server Port (Leave empty if unknown)</label>
|
||||
<input type="number" class="form-control" ng-model="port" placeholder="25565">
|
||||
</div>
|
||||
<input type="text" class="form-control" style="display: none;" ng-model="version">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
Reference in New Issue
Block a user