_7u
MVP+
Hey!
Mein Name ist Julian. Ich spiele schon seit einiger Zeit auf NeruxVace.Net und würde mir eine PServer API wünschen. Wie das ganze zum Beispiel ausschauen könnte, zeige ich in diesem Beitrag. Dieser Eintrag ist nicht für "normale" Spieler gedacht, und bezieht sich nur auf Spieler, die schon Erfahrung im Bereich JavaScript (NodeJS..), Python etc. haben. Ich bin mir sehr wohl bewusst, das ich durch gennante spezifikationen nicht viele Spieler anspreche, und dieser Beitrag somit entsprechend wenig Bedeutung hat.
NOTE:
Ich versuche alle Code Snippets in JavaScript & Python zu schreiben, aber mein Python ist bisschen eingerostet
Features die die API haben könnte
* Beispielsweise:
Beispiel aus NeruxVace Lobby entnommen
Installation
Owner von PServern können mit einem Command eine ähnliche Anzeige wie bei

Diese Anzeige soll einen API-Key anzeigen (wie im obrigen Bild).
Dieser Key kann dann wie z.B. im folgenden Code eingebunden werden:
Installation:
Installation:
Teilnahme
Sollte die API open-source sein, wäre es eine gute Möglichkeit, Spieler an der API teilhaben können zu lassen.
Benutzung
Um Einsteigern einen guten Anfang zu gewähren, wäre ein gute Dokumentation sehr wichtig. Bei gelegenheit könnte der NeruxVace Youtube Channel auch Tutorials (wie beim PServer System) hochladen.
Beispiele
Ingame Nachrichten in die Konsole ausgeben:
Mehr Beispiele
Module
Eine Liste von Modulen die unterstützt werden könnten:
Hier nochmal eine Liste von Möglichen Funktionen:
(In Englisch gehalten)
Sehr stark inspiert von Mineflayer (https://github.com/PrismarineJS/mineflayer/blob/master/docs/api.md)
Bei Fragen gerne an mich wenden:
Minecraft: _7u
Discord: Juuulian#6666
Liebe Grüße,
_7u | Julian <3
Mein Name ist Julian. Ich spiele schon seit einiger Zeit auf NeruxVace.Net und würde mir eine PServer API wünschen. Wie das ganze zum Beispiel ausschauen könnte, zeige ich in diesem Beitrag. Dieser Eintrag ist nicht für "normale" Spieler gedacht, und bezieht sich nur auf Spieler, die schon Erfahrung im Bereich JavaScript (NodeJS..), Python etc. haben. Ich bin mir sehr wohl bewusst, das ich durch gennante spezifikationen nicht viele Spieler anspreche, und dieser Beitrag somit entsprechend wenig Bedeutung hat.
NOTE:
Ich versuche alle Code Snippets in JavaScript & Python zu schreiben, aber mein Python ist bisschen eingerostet
Features die die API haben könnte
- Entity Informationen (Zugreifen auf Spieler Objekte*)
- Block Informationen (umsetzbar mit der "minecraft-data" JavaScript library)
- Chat
* Beispielsweise:
JSON:
{
_7u: {
username: '_7u',
ping: 17,
uuid: 'ffa76650-2df0-4665-bb7b-5d8dbfc4b50d',
displayName: ChatMessage {
json: [MessageBuilder],
text: 'MVP',
extra: [Array],
bold: undefined,
italic: undefined,
underlined: undefined,
strikethrough: undefined,
obfuscated: undefined,
color: 'dark_aqua'
},
entity: Entity {
_events: [Object: null prototype] {},
_eventsCount: 0,
_maxListeners: undefined,
id: 98376,
position: [Vec3],
velocity: [Vec3],
yaw: 4.067295664013512,
pitch: -0.3000000035018413,
onGround: true,
height: 1.62,
width: 0,
effects: {},
equipment: [Array],
heldItem: [Item],
isValid: true,
metadata: [Array],
username: '_7u',
type: 'player',
name: 'player',
timeSinceOnGround: 0,
attributes: [Object],
isInWater: false,
isInLava: false,
isInWeb: undefined,
isCollidedHorizontally: false,
isCollidedVertically: true,
[Symbol(kCapture)]: false
},
gamemode: 0
}
}
Installation
Owner von PServern können mit einem Command eine ähnliche Anzeige wie bei
/imgserver info
bekommen.
Diese Anzeige soll einen API-Key anzeigen (wie im obrigen Bild).
Dieser Key kann dann wie z.B. im folgenden Code eingebunden werden:
Installation:
npm install neruxvaceapi
JavaScript:
const neruxvace = require('neruxvaceapi')
const pserver = neruxvace.pserver({
auth: "key" // API-Key
})
Installation:
pip install javascript
pip install neruxvaceapi
Python:
from javascript import require
neruxvace = require('neruxvaceapi')
pserver = neruxvace.pserver({
"auth": "key" # API-Key
})
Teilnahme
Sollte die API open-source sein, wäre es eine gute Möglichkeit, Spieler an der API teilhaben können zu lassen.
Benutzung
Um Einsteigern einen guten Anfang zu gewähren, wäre ein gute Dokumentation sehr wichtig. Bei gelegenheit könnte der NeruxVace Youtube Channel auch Tutorials (wie beim PServer System) hochladen.
Beispiele
Ingame Nachrichten in die Konsole ausgeben:
JavaScript:
const neruxvace = require('neruxvaceapi')
const pserver = neruxvace.pserver({
auth: "key" // API-Key
})
pserver.on('chat', (username, message) {
console.log(`${username}: ${message}`)
})
Python:
neruxvace = require('neruxvaceapi')
pserver = neruxvace.pserver({
"auth": "key" # API-Key
})
@On(pserver, "chat")
def handle(this, username, message, *args):
print(f'{username}: {message}')
Mehr Beispiele
Beispiel | Beschreibung |
discord | Verbinde den PServer chat mit einem Discord Channel |
JavaScript:
const neruxvace = require('neruxvaceapi')
const pserver = neruxvace.pserver({
auth: "key" // API-Key
})
// Discord v13
const { Client, Collection, Intents } = require('discord.js');
const intents = new Intents([ 'GUILDS', 'GUILD_MESSAGES' ])
const client = new Client({ intents: intents })
let channel = 'CHANNEL_ID'
client.on('ready', () => {
console.log(`Discord Bot erfolgreich gestartet (${client.user.username})!`)
channel = client.channels.cache.get(channel)
if(!channel) {
return console.log(`Es wurde kein Channel gefunden.`)
}
})
// Ingame Nachrichten weiterleiten:
pserver.on('chat', (username, message) {
channel.send(`${username}: ${message}`)
})
client.login("TOKEN")
Module
Eine Liste von Modulen die unterstützt werden könnten:
Modul | Beischreibung |
minecraft-protocol | Einlesen von Minecraft Paketen + Authentifizierung und Verschlüsselung |
minecraft-data | Sprachneutrales Modul um Minecraft Daten für clients, server und librarys (in unserem Fall) zu verfügung zu stellen |
node-vec3 | 3d Vector Modul um sich im 3 Dimensionalen Raum zurechtzufinden. |
Hier nochmal eine Liste von Möglichen Funktionen:
(In Englisch gehalten)
- API
- Enums
- minecraft-data
- mcdata.blocks
- mcdata.items
- mcdata.materials
- mcdata.entities
- Classes
- vec3
- Entity
- Block
- Biome
- Item
- PServer
- neruxvace.pserver(options)
- pserver.ScoreBoard
- ScoreBoard.name (string)
- ScoreBoard.title (string)
- ScoreBoard.itemsMap (string)
- Scoreboard.items (Object / Array)
- pserver.Group // Bezieht sich auf die "Ränge"
- Group.name (string)
- Group.color (string)
- Group.prefix (string)
- Group.suffix (string)
- Group.members (Object / Array)
- pserver.entities (Object / Array)
- pserver.players (Object / Array)
- pserver.isRaining (bool)
- pserver.rainState (int)
- pserver.thunderState (int)
- pserver.chatPatterns (Regex)
- pserver.settings.chat (Choices: [ enabled (default), commandsOnly, disabled])
- pserver.settings.colorsEnabled (bool (default: true))
- pserver.time
- pserver.time.time (int (number of days since day 0))
- pserver.time.timeOfDay (int (ticks))
- pserver.time.day (int (day of the world))
- pserver.time.isDay (bool)
- pserver.time.moonPhase
- pserver.time.age
- Events
- "chat" (username, message, translate, jsonMsg, matches)
- "start" (reason)
- "stop" (reasion)
- Methods
- pserver.end
- pserver.start (OPTIONAL)
- Enums
Sehr stark inspiert von Mineflayer (https://github.com/PrismarineJS/mineflayer/blob/master/docs/api.md)
Bei Fragen gerne an mich wenden:
Minecraft: _7u
Discord: Juuulian#6666
Liebe Grüße,
_7u | Julian <3
Zuletzt bearbeitet: