eeuniverse
v1.1.9
Published
JS based module for bot programming in EEU.
Downloads
35
Readme
Overview
This module is created for users to easily make bots in node.js for the game 'Everybody Edits Universe.' (ee-universe.com)
const EEUniverse = require("eeuniverse");
async function connect() {
const con = await EEUniverse.connect("auth");
}Under EEUniverse:
EEUniverse.MessageType: Object of all message types.
EEUniverse.ConnectionScope: Object of all connection scopes.
EEUniverse.Message: The 'Message' class.
EEUniverse.connect(auth): A function to connect to EEU.
EEUniverse.getFgId(id): Returns the FG block Id from a combined id.
EEUniverse.getBgId(id): Returns the BG block Id from a combined id.Under con:
con.send(MessageType, params...): A function to send a message to a world.
con.sendLobby(MessageType, params...): A function to send a message to the lobby.
con.joinRoom(RoomId): A function to join a room.
con.disconnect(): A function to disconnect from EEU.
con.onMessage(function(message) => {}): A function to handle all messages that the bot receives.Examples
const EEUniverse = require("eeuniverse");
EEUniverse.getFgId(3932162); //Will return 2
EEUniverse.getBgId(3932162); //Will return 60Here's an example for a simple snake bot:
const EEUniverse = require("eeuniverse");
async function connect() {
const con = await EEUniverse.connect("auth");
con.joinRoom("worldId");
con.send(EEUniverse.MessageType.Init, 0);
con.onMessage(msg => {
if(msg.scope === EEUniverse.ConnectionScope.World) {
switch(msg.type) {
case EEUniverse.MessageType.Init:
con.send(EEUniverse.MessageType.Chat, "Successfuly Connected!");
break;
case EEUniverse.MessageType.PlaceBlock:
const uId = msg.get(0); // The player ID
const l = msg.get(1); // The layer. 0 = bg, 1 = fg
const x = msg.get(2); // The X position
const y = msg.get(3); // The Y position
const bId = msg.get(4); // The block ID
if(bId === 7) {
setTimeout(() => {
con.send(EEUniverse.MessageType.PlaceBlock, 1, x, y, 4);
}, 50);
} else if(bId === 4) {
setTimeout(() => {
con.send(EEUniverse.MessageType.PlaceBlock, 1, x, y, 0);
}, 50);
}
break;
}
}
});
}
connect();Scope Types:
ConnectionScope.None - 0
ConnectionScope.Lobby - 1
ConnectionScope.World - 2Message Types:
ConnectionScope.None:
MessageType.SelfInfo - 23ConnectionScope.Lobby:
MessageType.RoomConnect - 0
MessageType.RoomDisconnect - 1
MessageType.LoadRooms - 2
MessageType.LoadStats - 3ConnectionScope.World:
MessageType.Init - 0
MessageType.Ping - 1
MessageType.Pong - 2
MessageType.Chat - 3
MessageType.ChatOld - 4
MessageType.PlaceBlock - 5
MessageType.PlayerJoin - 6
MessageType.PlayerExit - 7
MessageType.PlayerMove - 8
MessageType.PlayerSmiley - 9
MessageType.PlayerGod - 10
MessageType.CanEdit - 11
MessageType.Meta - 12
MessageType.ChatInfo - 13
MessageType.PlayerAdd - 14
MessageType.ZoneCreate - 15
MessageType.ZoneDelete - 16
MessageType.ZoneEdit - 17
MessageType.ZoneEnter - 18
MessageType.ZoneExit - 19
MessageType.LimitedEdit - 20
MessageType.ChatPMTo - 21
MessageType.ChatPMFrom - 22
MessageType.Clear - 24
MessageType.CanGod - 25
MessageType.BgColor - 26
MessageType.Won - 27
MessageType.Reset - 28
MessageType.Notify: 29
MessageType.Teleport: 30
MessageType.Effect: 31
MessageType.SwitchLocal: 32
MessageType.SwitchGlobal: 33
MessageType.CoinGold: 34
MessageType.CoinBlue: 35
MessageType.Dialog: 36