Compare commits
3 Commits
72c4622091
...
aded1e4193
Author | SHA1 | Date | |
---|---|---|---|
|
aded1e4193 | ||
|
60394e38eb | ||
|
22490f7ec1 |
16
.gitattributes
vendored
Normal file
16
.gitattributes
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# See this article for reference: https://help.github.com/articles/dealing-with-line-endings/
|
||||||
|
# Refreshing repo after line ending change:
|
||||||
|
# https://help.github.com/articles/dealing-with-line-endings/#refreshing-a-repository-after-changing-line-endings
|
||||||
|
|
||||||
|
# Handle line endings automatically for files detected as text
|
||||||
|
# and leave all files detected as binary untouched.
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
#
|
||||||
|
# The above will handle all files NOT found below
|
||||||
|
#
|
||||||
|
# These files are text and should be normalized (Convert crlf => lf)
|
||||||
|
# Use lf as eol for these files
|
||||||
|
*.js text eol=lf
|
||||||
|
*.ts text eol=lf
|
||||||
|
*.json text eol=lf
|
|
@ -88,7 +88,6 @@ fs.watch('./lib/plugins', reloadplugin)
|
||||||
cfg.bot = bot
|
cfg.bot = bot
|
||||||
// TODO better name, or switch to array
|
// TODO better name, or switch to array
|
||||||
cfg.botAddressPrefix = '!'
|
cfg.botAddressPrefix = '!'
|
||||||
cfg.botAddressRegex = new RegExp(`^${bot.username} (${cfg.botAddressPrefix}.+)`)
|
|
||||||
cfg.quiet = true
|
cfg.quiet = true
|
||||||
|
|
||||||
|
|
||||||
|
@ -110,6 +109,7 @@ bot.once("spawn", () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg.plugins = plugins
|
cfg.plugins = plugins
|
||||||
|
cfg.botAddressRegex = new RegExp(`^${bot.username} (${cfg.botAddressPrefix}.+)`)
|
||||||
|
|
||||||
for (const plugin of Object.values(plugins)) {
|
for (const plugin of Object.values(plugins)) {
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -30,11 +30,10 @@ const events = {
|
||||||
whisper: function command_whisper(username, message) {
|
whisper: function command_whisper(username, message) {
|
||||||
if ([bot.username, "me"].includes(username)) return
|
if ([bot.username, "me"].includes(username)) return
|
||||||
if (/^gossip/.test(message)) return
|
if (/^gossip/.test(message)) return
|
||||||
// if (/^!/.test(message) && username === cfg.admin){
|
|
||||||
if (username === cfg.admin) {
|
if (username === cfg.admin) {
|
||||||
message = message.replace("\\", "@")
|
message = message.replace("\\", "@")
|
||||||
console.info("whispered command", message)
|
console.info("whispered command", message)
|
||||||
if (/^!/.test(message)) {
|
if (message.startsWith(cfg.botAddressPrefix)) {
|
||||||
command(username, message)
|
command(username, message)
|
||||||
} else {
|
} else {
|
||||||
bot.chat(message)
|
bot.chat(message)
|
||||||
|
@ -297,7 +296,7 @@ function command(username, message) {
|
||||||
switch (message_parts[1]) {
|
switch (message_parts[1]) {
|
||||||
case "me":
|
case "me":
|
||||||
if (player) {
|
if (player) {
|
||||||
bot.lookAt((new v.Vec3(0, 1, 0)).add(player.position))
|
bot.lookAt(player.position.offset(0, 1, 0))
|
||||||
} else {
|
} else {
|
||||||
cfg.quiet || bot.chat("can't see you")
|
cfg.quiet || bot.chat("can't see you")
|
||||||
}
|
}
|
||||||
|
@ -314,7 +313,7 @@ function command(username, message) {
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
const aPlayer = bot.players[message_parts[2]] ? bot.players[message_parts[2]].entity : null
|
const aPlayer = bot.players[message_parts[2]] ? bot.players[message_parts[2]].entity : null
|
||||||
if (aPlayer) bot.lookAt((new v.Vec3(0, 1, 0)).add(aPlayer.position))
|
if (aPlayer) bot.lookAt(aPlayer.position.offset(0, 1, 0))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
|
@ -475,7 +474,7 @@ function command(username, message) {
|
||||||
case "howdy":
|
case "howdy":
|
||||||
case "heyo":
|
case "heyo":
|
||||||
case "yo":
|
case "yo":
|
||||||
if (player) bot.lookAt((new v.Vec3(0, 1, 0)).add(player.position))
|
if (player) bot.lookAt(player.position.offset(0, 1, 0))
|
||||||
|
|
||||||
// TODO sneak
|
// TODO sneak
|
||||||
// function swingArm() {
|
// function swingArm() {
|
||||||
|
|
|
@ -71,9 +71,7 @@ function lookForMobs() {
|
||||||
bot.pvp.attack(entityEnemy)
|
bot.pvp.attack(entityEnemy)
|
||||||
} else if (entityEnemy) {
|
} else if (entityEnemy) {
|
||||||
bot.lookAt(
|
bot.lookAt(
|
||||||
// (new v.Vec3(0, 1, 0)).add(
|
|
||||||
entityEnemy.position
|
entityEnemy.position
|
||||||
// )
|
|
||||||
)
|
)
|
||||||
cfg.quiet || bot.chat("AH! A creeper! They creep me out!")
|
cfg.quiet || bot.chat("AH! A creeper! They creep me out!")
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
const { createMachine, interpret, InterpreterStatus } = require('xstate');
|
const { createMachine, interpret, InterpreterStatus } = require('xstate');
|
||||||
// import { access, mkdir, writeFile, readFile } from "fs";
|
// import { access, mkdir, writeFile, readFile } from "fs";
|
||||||
const { access, mkdir, writeFile, readFile } = require('fs');
|
const { access, mkdir, writeFile, readFile } = require('fs');
|
||||||
const v = require('vec3'); // for look dummy action, maybe not needed in future
|
|
||||||
// ANGRAM_PREFIX='MINECRAFT'
|
// ANGRAM_PREFIX='MINECRAFT'
|
||||||
const { MINECRAFT_DATA_FOLDER } = process.env || require("dotenv-packed").parseEnv().parsed;
|
const { MINECRAFT_DATA_FOLDER } = process.env || require("dotenv-packed").parseEnv().parsed;
|
||||||
const storage_dir = MINECRAFT_DATA_FOLDER || './data/' + "/sm/";
|
const storage_dir = MINECRAFT_DATA_FOLDER || './data/' + "/sm/";
|
||||||
|
@ -82,7 +81,7 @@ function init(smName = "dummy", webserver) {
|
||||||
const player = context?.player || bot.nearestEntity(entity => entity.type === 'player');
|
const player = context?.player || bot.nearestEntity(entity => entity.type === 'player');
|
||||||
if (player.position || player.entity) {
|
if (player.position || player.entity) {
|
||||||
context.player = player;
|
context.player = player;
|
||||||
bot.lookAt((new v.Vec3(0, 1, 0)).add((player.entity || player).position));
|
bot.lookAt((player.entity || player).position.offset(0, 1, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -93,7 +92,7 @@ function init(smName = "dummy", webserver) {
|
||||||
if (player.position || player.entity) {
|
if (player.position || player.entity) {
|
||||||
context.player = player;
|
context.player = player;
|
||||||
function looks() {
|
function looks() {
|
||||||
bot.lookAt((new v.Vec3(0, 1, 0)).add((player.entity || player).position));
|
bot.lookAt((player.entity || player).position.offset(0, 1, 0));
|
||||||
}
|
}
|
||||||
bot.on("time", looks);
|
bot.on("time", looks);
|
||||||
return () => bot.off("time", looks);
|
return () => bot.off("time", looks);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user