<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gaming on Ishan Puri | Minecraft &amp; Gaming Realm</title><link>https://www.ishanpuri.com/tags/gaming/</link><description>Recent content in Gaming on Ishan Puri | Minecraft &amp; Gaming Realm</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 05 Apr 2024 16:00:00 +0800</lastBuildDate><atom:link href="https://www.ishanpuri.com/tags/gaming/index.xml" rel="self" type="application/rss+xml"/><item><title>Building an Autonomous .NET Bot for Minecraft</title><link>https://www.ishanpuri.com/posts/minecraft-custom-dotnet-bot/</link><pubDate>Fri, 05 Apr 2024 16:00:00 +0800</pubDate><guid>https://www.ishanpuri.com/posts/minecraft-custom-dotnet-bot/</guid><description>&lt;h2 id="-meet-the-net-companion-bot"&gt;🤖 Meet the .NET Companion Bot&lt;/h2&gt;&#10;&lt;p&gt;Building intelligent NPC companions and assistant bots brings an entirely new dimension to Minecraft survival realms!&lt;/p&gt;&#10;&lt;h3 id="-architecture--tech-stack"&gt;🔧 Architecture &amp;amp; Tech Stack&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Runtime&lt;/strong&gt;: .NET 8 C# Core&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Packet Protocol&lt;/strong&gt;: Minecraft Client/Server Protocol (Bedrock &amp;amp; Java Bridge)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Pathfinding&lt;/strong&gt;: A* 3D Grid Search algorithm taking gravity, jumps, and hazard blocks (lava, cactus) into account.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="-bot-capabilities"&gt;🌟 Bot Capabilities&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Auto-Mining Mode&lt;/strong&gt;: Safely traces ores and mines designated cube areas while reporting chest fullness.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Bodyguard Protocol&lt;/strong&gt;: Detects Creepers and hostile mobs within a 16-block radius, providing knockback support.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Chat Commands&lt;/strong&gt;: Responds to in-game chat instructions like &lt;code&gt;!come&lt;/code&gt;, &lt;code&gt;!mine iron&lt;/code&gt;, &lt;code&gt;!guard base&lt;/code&gt;, and &lt;code&gt;!deposit&lt;/code&gt;.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&#10;&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;&#10;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 1&#10;&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 2&#10;&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 3&#10;&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 4&#10;&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 5&#10;&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 6&#10;&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 7&#10;&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 8&#10;&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 9&#10;&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;10&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;&#10;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;// Example: Companion Bot Pathfinding Event&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;public&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;async&lt;/span&gt; Task OnHostileDetected(Entity mob)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; (mob.Type == EntityType.Creeper &amp;amp;&amp;amp; DistanceTo(mob) &amp;lt; &lt;span style="color:#bd93f9"&gt;10&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;await&lt;/span&gt; EquipItem(ItemType.DiamondSword);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;await&lt;/span&gt; PlaySound(&lt;span style="color:#f1fa8c"&gt;&amp;#34;entity.player.attack.strong&amp;#34;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;await&lt;/span&gt; MoveToTarget(mob.Position);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;p&gt;Stay tuned for source code snippets and further development logs!&lt;/p&gt;</description></item><item><title>Zero-Lag Multi-Item Redstone Sorter &amp; Storage Vault</title><link>https://www.ishanpuri.com/posts/redstone-automatic-sorter/</link><pubDate>Sun, 10 Mar 2024 14:30:00 +0800</pubDate><guid>https://www.ishanpuri.com/posts/redstone-automatic-sorter/</guid><description>&lt;h2 id="-engineering-clean-redstone-systems"&gt;⚡ Engineering Clean Redstone Systems&lt;/h2&gt;&#10;&lt;p&gt;Managing thousands of blocks in Minecraft can quickly become messy. This guide breaks down the engineering behind our Citadel&amp;rsquo;s 64-item multi-category sorting system.&lt;/p&gt;&#10;&lt;h3 id="-core-logic-diagram"&gt;⚙️ Core Logic Diagram&lt;/h3&gt;&#10;&lt;p&gt;Each hopper filter utilizes the classic ImpulseSV 41-item comparator lockout circuit:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Top Hopper&lt;/strong&gt;: Holds 41 target filter items + 4 named placeholder items (e.g. named sticks).&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Comparator&lt;/strong&gt;: Detects signal strength when a 46th item enters (raising output from 2 to 3).&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Repeater &amp;amp; Redstone Torch&lt;/strong&gt;: Momentarily unlocks the lower hopper, depositing exactly 1 item into the storage chest.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;Redstone Pro Tip&lt;/strong&gt;: Always use droppers and water streams instead of long horizontal hopper lines to reduce server tick lag by up to 80%!&lt;/p&gt;</description></item></channel></rss>