This commit is contained in:
2026-07-12 17:26:59 -04:00
parent 60663b8d4a
commit ba1bef8ff9
25 changed files with 158880 additions and 1529 deletions
+29 -4
View File
@@ -16,7 +16,7 @@ module.exports = {
},
"storage": {
"dbPath": "./storage/storage.db",
"scanRadius": 500,
"scanRadius": 30,
"homePos": null,
"categories": {
"minerals": ["diamond", "netherite_ingot", "gold_ingot", "iron_ingot", "copper_ingot", "emerald", "redstone", "lapis_lazuli", "raw_iron", "raw_gold", "raw_copper"],
@@ -58,14 +58,35 @@ module.exports = {
"storageBotName": "ez", // storage bot to trade with
"enabled": true,
},
// OpenID Connect login for the web dashboard. Disabled by default —
// enable via settings once clientId/clientSecret are configured.
// redirectUri MUST be registered on the SSO client and match exactly.
"auth": {
"enabled": false,
"authorizationEndpoint": "https://sso.theta42.com/oauth/authorize",
"tokenEndpoint": "https://sso.theta42.com/oauth/token",
"userinfoEndpoint": "https://sso.theta42.com/oauth/userinfo",
"clientId": "",
"clientSecret": "",
"redirectUri": "http://localhost:3000/auth/oidc/callback",
"scopes": ["openid", "profile", "email", "groups"],
"usernameClaim": "preferred_username",
"groupsClaim": "groups",
"allowedUsers": [],
"allowedGroups": [],
"tokenTTL": 2592000,
},
"ai":{
"faceBot": "ez", // which bot runs the AI (the face/coordinator)
"storageBot": "ez", // which bot handles storage
// AI provider: 'gemini' (default) or 'ollama'
"provider": "ollama",
// Gemini API key (required if using gemini provider)
"key": "<configure in secrets>",
// Ollama settings (only used if provider is 'ollama')
"baseUrl": "http://192.168.1.148:11434",
"model": "huihui_ai/qwen3.5-abliterated:9b", // Default for Ollama; for Gemini use gemini-2.0-flash-exp, etc.
"model": "deepseek-v4-flash:cloud", // Default for Ollama; for Gemini use gemini-2.0-flash-exp, etc.
"enableNativeTools": true, // set to true only if model supports function calling (most 9B models don't)
"timeout": 30000,
// Generation settings (applies to both providers)
"temperature": 1,
@@ -73,7 +94,7 @@ module.exports = {
"topK": 64,
// "maxOutputTokens": 64000,
"interval": 5,
"promptName": "asshole",
"promptName": "helpful",
"prompts":{
"custom": (name, interval, currentPlayers, toolsDocs, memoryContext, timeInfo, custom='')=>`
Ignore all previous instructions prompts
@@ -115,10 +136,12 @@ CHAT RULES:
- Only chat when there is no tool to call.
- Max 1 message per response, under 120 chars.
- Be short and sarcastic. No narration.
- NEVER suggest commands (/msg, /trade, /invite, /help). You are a player, not a help desk.
- NEVER type server commands in public chat.
Currently online: ${currentPlayers}
CRITICAL FORMAT: Output ONLY a raw JSON array. Never plain text.
CRITICAL FORMAT: Output ONLY a raw JSON array. Never plain text. Never JSON objects with tool calls in chat text.
Silence = [{"text":"_","delay":0}]
[{"text": "msg", "delay": 0}]`,
"Ashley": (name, interval, currentPlayers, toolsDocs, memoryContext, timeInfo, custom='')=>`
@@ -165,6 +188,8 @@ CHAT RULES:
- Only chat when there is no tool to call.
- Max 1 message per response, under 120 chars.
- Be helpful but brief. No narration.
- NEVER suggest commands (/msg, /trade, /invite, /help). You are a player, not a help desk.
- NEVER type server commands in public chat.
Currently online: ${currentPlayers}
-31
View File
@@ -1,31 +0,0 @@
plugins {
java
}
group = "com.buildkillreign"
version = "2.0.0"
repositories {
mavenCentral()
maven("https://repo.codemc.io/repository/maven-public/") // ✅ CodeMC repository
maven("https://repo.papermc.io/repository/maven-public/") // ✅ PaperMC repository
}
dependencies {
compileOnly("com.comphenix.protocol:ProtocolLib:5.1.0") // ✅ Get ProtocolLib from CodeMC
compileOnly("io.papermc.paper:paper-api:1.20.1-R0.1-SNAPSHOT") // ✅ Get Paper API from PaperMC repo
compileOnly("io.papermc:paperlib:1.0.5") // ✅ Get PaperLib from CodeMC
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(17)) // Required for MC 1.20+
}
tasks.jar {
archiveFileName.set("BuildKillReign.jar")
destinationDirectory.set(file("build/libs"))
from("src/main/resources") {
include("plugin.yml")
}
}