{"id":2017,"date":"2026-07-18T06:42:54","date_gmt":"2026-07-18T13:42:54","guid":{"rendered":"http:\/\/macdaddy4sure.ai\/?p=2017"},"modified":"2026-07-18T06:42:54","modified_gmt":"2026-07-18T13:42:54","slug":"dynmap-implemented-essentialsx-brainstorm","status":"publish","type":"post","link":"http:\/\/macdaddy4sure.ai\/index.php\/2026\/07\/18\/dynmap-implemented-essentialsx-brainstorm\/","title":{"rendered":"Dynmap (implemented) + EssentialsX (brainstorm)"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Dynmap \u2014 what was implemented<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Plugin (DynmapService.java)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Soft reflection hook to Dynmap <strong>MarkerAPI<\/strong><\/li>\n\n\n\n<li>Marker sets: ai_goals, ai_bot, ai_paths, ai_arenas, ai_incidents, ai_cleanup<\/li>\n\n\n\n<li>Ops: status, url, mark\/bot\/goal\/incident, area\/cleanup_zone, line\/path, clear, lockdown<\/li>\n\n\n\n<li>Auto bot marker on observation ticks (dynmap.auto-bot-marker)<\/li>\n\n\n\n<li>Observation fields: dynmap_available, dynmap_url, dynmap_marker_sets<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Bridge<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>_AI sends type=dynmap \u2026 plugin replies type=dynmap_result<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">_AI commands<\/h3>\n\n\n\n<p><em>[text]<br><\/em>minecraft dynmap status|url<br>minecraft dynmap bot<br>minecraft dynmap goal<br>minecraft dynmap grief<br>minecraft dynmap cleanup<br>minecraft dynmap mark set:ai_goals id:x label:y x:1 y:64 z:2<br>minecraft dynmap area set:ai_arenas radius:40<br>minecraft dynmap line points:x1,y1,z1;x2,y2,z2<br>minecraft dynmap clear ai_goals<br>minecraft dynmap lockdown<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Automatic overlays<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Event<\/strong><\/td><td><strong>Dynmap<\/strong><\/td><\/tr><tr><td>dqn goal set<\/td><td>Goal marker (+ reach area)<\/td><\/tr><tr><td>dqn goal clear<\/td><td>Clear ai_goals<\/td><\/tr><tr><td>dqn train<\/td><td>Bot label train<\/td><\/tr><tr><td>dqn off<\/td><td><strong>lockdown<\/strong> (clear all AI sets)<\/td><\/tr><tr><td>Auto CO cleanup<\/td><td>Cleanup zone area + grief incident<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">In-game<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai dynmap status|url|bot|mark|clear|lockdown<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">App Support playbooks<\/h3>\n\n\n\n<p>dynmap_health, dynmap_show_bot, dynmap_goal_overlay, dynmap_grief_layer, dynmap_cleanup_zone, dynmap_lockdown<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Config (config.yml)<\/h3>\n\n\n\n<p><em>[yaml]<br><\/em>dynmap:<br>&nbsp; url: &#8220;&#8221;<br>&nbsp; host: &#8220;&#8221;<br>&nbsp; port: 8123<br>&nbsp; auto-bot-marker: true<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Deploy<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Rebuild Spigot bridge jar with Dynmap on server\u00a0<\/li>\n\n\n\n<li>Rebuild _AI EXE\u00a0<\/li>\n\n\n\n<li>minecraft dynmap status \u2192 open printed URL\u00a0<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">EssentialsX \u2014 integration brainstorm<\/h2>\n\n\n\n<p>EssentialsX is the <strong>player convenience suite<\/strong>: homes, warps, TPA, kits, economy (often via Vault), jail, mute, god, fly, nick, mail, worth, signs, etc. It pairs naturally with Vault and LuckPerms.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Observation \/ context<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Field<\/strong><\/td><td><strong>Use<\/strong><\/td><\/tr><tr><td>ess_home_count<\/td><td>Navigation curriculum<\/td><\/tr><tr><td>ess_is_jailed \/ muted \/ afk<\/td><td>Terminal or pause training<\/td><\/tr><tr><td>ess_nickname<\/td><td>Marker labels on Dynmap<\/td><\/tr><tr><td>ess_god \/ fly<\/td><td>Safety advisor risk<\/td><\/tr><tr><td>ess_last_location<\/td><td>Return-to-base goals<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2. Safe actions for bots (gated)<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Action<\/strong><\/td><td><strong>Node idea<\/strong><\/td><td><strong>DQN use<\/strong><\/td><\/tr><tr><td>\/home \/spawn \/warp<\/td><td>essentials.home etc.<\/td><td>Recovery when stuck<\/td><\/tr><tr><td>\/tpa accept<\/td><td>coach workflow<\/td><td>Human-in-loop<\/td><\/tr><tr><td>\/kit tools<\/td><td>train setup<\/td><td>Curriculum start<\/td><\/tr><tr><td>\/back after death<\/td><td>death recovery<\/td><td>Episode reset<\/td><\/tr><tr><td><strong>Never<\/strong> free \/tp to players without approval<\/td><td>grief risk<\/td><td>Staff only<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Bridge op sketch:<\/p>\n\n\n\n<p><em>[json]<br><\/em>{&#8220;type&#8221;:&#8221;essentials&#8221;,&#8221;op&#8221;:&#8221;home|spawn|warp|kit|back|status&#8221;,&#8221;player&#8221;:&#8221;Bot&#8221;,&#8221;name&#8221;:&#8221;mine&#8221;}<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Economy (with Vault)<\/h3>\n\n\n\n<p>EssentialsX Economy is usually the Vault provider you already hook.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Worth signs \/ sell \u2192 \u0394balance for goal earn<\/li>\n\n\n\n<li>\/bal parity with minecraft vault balance<\/li>\n\n\n\n<li>Kit costs \u2192 curriculum economy stages<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4. CoreProtect + Essentials<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Jail after high grief_score + LP mod approval\u00a0<\/li>\n\n\n\n<li>\/tempban <strong>never<\/strong> automated without dual control\u00a0<\/li>\n\n\n\n<li>Lookup + Dynmap incident + optional Essentials mute suggestion\u00a0<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5. Dynmap + Essentials<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Warp points as ai_goals markers (\/warp shop \u2192 map pin)\u00a0<\/li>\n\n\n\n<li>Homes hidden from public map; staff set only\u00a0<\/li>\n\n\n\n<li>Jail location as permanent incident-style area\u00a0<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6. LuckPerms + Essentials<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Group ai-bot: warp\/home\/spawn only in arena worlds\u00a0<\/li>\n\n\n\n<li>Deny essentials.fly \/ god for bot accounts\u00a0<\/li>\n\n\n\n<li>Temp essentials.kit.tools for train sessions\u00a0<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">7. Training curriculum ideas<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Stage<\/strong><\/td><td><strong>Essentials assist<\/strong><\/td><\/tr><tr><td>Survive<\/td><td>\/heal denied; natural regen only<\/td><\/tr><tr><td>Gather<\/td><td>\/kit starter once per episode<\/td><\/tr><tr><td>Return base<\/td><td>\/home base as privileged recovery action<\/td><\/tr><tr><td>Eval<\/td><td>No kits; pure policy<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">8. App Support playbooks (future)<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Playbook<\/strong><\/td><td><strong>Action<\/strong><\/td><\/tr><tr><td>ess_bot_stuck<\/td><td>Suggest spawn\/home if stuck_ticks high<\/td><\/tr><tr><td>ess_kit_reset<\/td><td>Kit tools at arena start<\/td><\/tr><tr><td>ess_jail_check<\/td><td>If jailed, pause DQN<\/td><\/tr><tr><td>ess_warp_overlay<\/td><td>Dynmap mark all warps<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">9. Safety<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Risk<\/strong><\/td><td><strong>Mitigation<\/strong><\/td><\/tr><tr><td>Bot \/tp harassment<\/td><td>Deny teleport-to-player for bot UUID<\/td><\/tr><tr><td>Kit dupes<\/td><td>Rate-limit kits per arena session<\/td><\/tr><tr><td>Economy drain<\/td><td>Vault mutate already apply-gated<\/td><\/tr><tr><td>Public home coords<\/td><td>Staff-only Dynmap set<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">10. Implementation phases (EssentialsX)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Observe<\/strong> jail\/afk\/god\/fly + kit list via API\/reflection\u00a0<\/li>\n\n\n\n<li><strong>Recovery actions<\/strong> spawn\/home\/warp (permission gated)\u00a0<\/li>\n\n\n\n<li><strong>Curriculum hooks<\/strong> kit + warp at phase start\u00a0<\/li>\n\n\n\n<li><strong>Moderation<\/strong> suggest mute\/jail from grief_score (human apply)\u00a0<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Thesis<\/h3>\n\n\n\n<p><em>**EssentialsX is player logistics; Dynmap is the map; LuckPerms is policy; CoreProtect is history; Vault is money; `_AI` chooses when logistics are allowed.**<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Highest ROI next build (EssentialsX)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>EssentialsService reflection + observation fields\u00a0<\/li>\n\n\n\n<li>minecraft ess status|home|spawn|warp|kit with dry-run\u00a0<\/li>\n\n\n\n<li>Stuck recovery playbook\u00a0<\/li>\n\n\n\n<li>Deny dangerous nodes for bot group template doc\u00a0<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Dynmap \u2014 what was implemented Plugin (DynmapService.java) Bridge _AI commands [text]minecraft dynmap status|urlminecraft dynmap botminecraft dynmap goalminecraft dynmap griefminecraft dynmap cleanupminecraft dynmap mark set:ai_goals id:x label:y x:1 y:64 z:2minecraft dynmap area set:ai_arenas radius:40minecraft dynmap line points:x1,y1,z1;x2,y2,z2minecraft dynmap clear ai_goalsminecraft dynmap lockdown Automatic overlays Event Dynmap dqn goal set Goal marker (+ reach area) dqn goal [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2017","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2017","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/comments?post=2017"}],"version-history":[{"count":1,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2017\/revisions"}],"predecessor-version":[{"id":2018,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2017\/revisions\/2018"}],"wp:attachment":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/media?parent=2017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/categories?post=2017"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/tags?post=2017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}