{"id":2019,"date":"2026-07-18T06:43:15","date_gmt":"2026-07-18T13:43:15","guid":{"rendered":"http:\/\/macdaddy4sure.ai\/?p=2019"},"modified":"2026-07-18T06:43:15","modified_gmt":"2026-07-18T13:43:15","slug":"essentialsx-implemented-factions-massivecraft-brainstorm","status":"publish","type":"post","link":"http:\/\/macdaddy4sure.ai\/index.php\/2026\/07\/18\/essentialsx-implemented-factions-massivecraft-brainstorm\/","title":{"rendered":"EssentialsX (implemented) + Factions MassiveCraft (brainstorm)"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">EssentialsX \u2014 implemented<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Plugin EssentialsService.java<\/h3>\n\n\n\n<p>Reflection soft-hook to Essentials \/ EssentialsX:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Observe:<\/strong> jailed, afk, god, fly, nickname, homes, muted, last location\u00a0<\/li>\n\n\n\n<li><strong>List:<\/strong> homes, warps\u00a0<\/li>\n\n\n\n<li><strong>Recovery (permission-gated, dry-run default):<\/strong> spawn, home, warp, back, kit, heal\u00a0<\/li>\n\n\n\n<li><strong>Moderation:<\/strong> suggest_mute \/ suggest_jail text only (never auto)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Bridge<\/h3>\n\n\n\n<p>type=essentials \u2192 essentials_result<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Observations<\/h3>\n\n\n\n<p>ess_jailed, ess_afk, ess_god, ess_fly, ess_home_count, ess_homes, ess_nickname, \u2026<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">_AI commands<\/h3>\n\n\n\n<p><em>[text]<br><\/em>minecraft ess status<br>minecraft ess user<br>minecraft ess homes<br>minecraft ess warps<br>minecraft ess spawn dry-run|apply<br>minecraft ess home &lt;name&gt; apply<br>minecraft ess warp &lt;name&gt; apply<br>minecraft ess back apply<br>minecraft ess kit tools dry-run|apply<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">In-game<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai ess status|user|homes|warps|spawn|home|warp|back|kit &#8230;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DQN stuck recovery<\/h3>\n\n\n\n<p>When movement stuck_ticks hits threshold (default 8):<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Check Essentials user \u2014 if <strong>jailed<\/strong>, switch to observe \/ stop auto-train\u00a0<\/li>\n\n\n\n<li>Else <strong>apply spawn<\/strong> recovery once and reset stuck counter\u00a0<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">App Support playbooks<\/h3>\n\n\n\n<p>ess_status, ess_bot_stuck, ess_kit_reset, ess_jail_check, ess_warp_overlay<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Safety<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Teleports\/kits require Bukkit permission (essentials.spawn etc.) or augmentedintelligence.admin<\/li>\n\n\n\n<li>Jailed players: recovery blocked\u00a0<\/li>\n\n\n\n<li>Live actions need <strong>`apply`<\/strong> (dry-run default)\u00a0<\/li>\n\n\n\n<li>No auto mute\/ban\/jail\u00a0<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Deploy<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Rebuild Spigot bridge jar with EssentialsX on server\u00a0<\/li>\n\n\n\n<li>Rebuild _AI EXE\u00a0<\/li>\n\n\n\n<li>minecraft ess status \u2192 minecraft ess user\u00a0<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Factions (MassiveCraft \/ FactionsUUID) \u2014 implemented<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Plugin FactionsService.java<\/h3>\n\n\n\n<p>Reflection soft-hook (MassiveCraft packages + UUID forks):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Observe:<\/strong> claim at feet, player faction\/role\/power, relation, can_build\/can_mine\u00a0<\/li>\n\n\n\n<li><strong>Ops:<\/strong> status, at\/where, player\/info, can_build, home (Dynmap mark), overlay\u00a0<\/li>\n\n\n\n<li><strong>Blocked:<\/strong> claim \/ unclaim \/ raid (never automated)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Bridge<\/h3>\n\n\n\n<p>type=factions \u2192 factions_result<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Observations<\/h3>\n\n\n\n<p>fac_at_name, fac_name, fac_role, fac_power, fac_rel_here, fac_can_build, fac_can_mine, fac_in_own, safe\/war\/wilderness flags, home coords<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hard gate (DQN)<\/h3>\n\n\n\n<p>If fac_can_build \/ fac_can_mine is false \u2192 <strong>mine\/place actions skipped<\/strong> (SelectAction \u2192 observe; ApplyDecision hard deny).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Commands (_AI)<\/h3>\n\n\n\n<p><em>[text]<br><\/em>minecraft fac status<br>minecraft fac at<br>minecraft fac player<br>minecraft fac can_build<br>minecraft fac home<br>minecraft fac overlay<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">In-game<\/h3>\n\n\n\n<p><em>[text]<br><\/em>\/ai fac status|at|player|can_build|home|overlay|reload<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">App Support playbooks<\/h3>\n\n\n\n<p>fac_where, fac_safe_mine, fac_lockdown, fac_overlay<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">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 claims land<\/td><td>claim\/unclaim ops return error<\/td><\/tr><tr><td>Bot raids<\/td><td>enemy\/foreign claims: can_build=false<\/td><\/tr><tr><td>Warzone\/Safezone<\/td><td>can_build=false<\/td><\/tr><tr><td>Leadership transfer<\/td><td>not implemented<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Thesis<\/h3>\n\n\n\n<p><em>**Factions is territory law; LuckPerms is server law; CoreProtect is history; Essentials is logistics; Dynmap is the map; Vault is money; `_AI` must obey territory before it optimizes reward.**<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quick smoke<\/h2>\n\n\n\n<p><em>[text]<br><\/em>minecraft bridge status<br>minecraft ess status<br>minecraft fac status<br>minecraft fac can_build<br>minecraft fac overlay<br>app support playbook fac_where dry-run<br>app support playbook ess_bot_stuck dry-run<\/p>\n","protected":false},"excerpt":{"rendered":"<p>EssentialsX \u2014 implemented Plugin EssentialsService.java Reflection soft-hook to Essentials \/ EssentialsX: Bridge type=essentials \u2192 essentials_result Observations ess_jailed, ess_afk, ess_god, ess_fly, ess_home_count, ess_homes, ess_nickname, \u2026 _AI commands [text]minecraft ess statusminecraft ess userminecraft ess homesminecraft ess warpsminecraft ess spawn dry-run|applyminecraft ess home &lt;name&gt; applyminecraft ess warp &lt;name&gt; applyminecraft ess back applyminecraft ess kit tools dry-run|apply In-game [text]\/ai [&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-2019","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2019","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=2019"}],"version-history":[{"count":1,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2019\/revisions"}],"predecessor-version":[{"id":2020,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/posts\/2019\/revisions\/2020"}],"wp:attachment":[{"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/media?parent=2019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/categories?post=2019"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/macdaddy4sure.ai\/index.php\/wp-json\/wp\/v2\/tags?post=2019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}