<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Guide on icebear&#39;s blog</title>
    <link>https://sfclub.cc/~icybear/tags/guide/</link>
    <description>Recent content in Guide on icebear&#39;s blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 19 Dec 2022 21:20:35 +0000</lastBuildDate>
    <atom:link href="https://sfclub.cc/~icybear/tags/guide/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>上手 Minestom: 新时代 Minecraft 服务端实现</title>
      <link>https://sfclub.cc/~icybear/posts/getting-started-with-minestom/</link>
      <pubDate>Mon, 19 Dec 2022 21:20:35 +0000</pubDate>
      <guid>https://sfclub.cc/~icybear/posts/getting-started-with-minestom/</guid>
      <description>&lt;p&gt;笔者观望 &lt;a href=&#34;https://github.com/Minestom/Minestom&#34;&gt;Minestom&lt;/a&gt; 已经有一段时间了. 以前他的线程模型还不够成熟, 曾经联系 @TheMode 想帮他翻译那块的文档结果鸽了.
正好, 今天摸鱼的时候看了一眼 Minestom 官方, 发觉现在或许是时候上手尝试一下了.&lt;/p&gt;
&lt;p&gt;简中圈子里吹 Minestom 的很多, 然而真正上手 / 普及 Minestom 开发的很少. 官方文档已经足够详尽, 因此本篇博文只作引路贴, 希望对 Minestom 感兴趣的你自己上手尝试.&lt;/p&gt;
&lt;h1 id=&#34;配置环境&#34;&gt;配置环境&lt;/h1&gt;
&lt;p&gt;Minestom 主要托管在 &lt;a href=&#34;https://jitpack.io&#34;&gt;JitPack&lt;/a&gt; 上.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;build.gradle:&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-groovy&#34; data-lang=&#34;groovy&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e06c75&#34;&gt;repositories&lt;/span&gt; &lt;span style=&#34;color:#56b6c2&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e06c75&#34;&gt;maven&lt;/span&gt; &lt;span style=&#34;color:#56b6c2&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e06c75&#34;&gt;name&lt;/span&gt; &lt;span style=&#34;color:#98c379&#34;&gt;&amp;#39;JitPack&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e06c75&#34;&gt;url&lt;/span&gt; &lt;span style=&#34;color:#98c379&#34;&gt;&amp;#39;https://jitpack.io&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#56b6c2&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#56b6c2&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e06c75&#34;&gt;dependencies&lt;/span&gt; &lt;span style=&#34;color:#56b6c2&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e06c75&#34;&gt;implementation&lt;/span&gt; &lt;span style=&#34;color:#98c379&#34;&gt;&amp;#39;com.github.Minestom:Minestom:VERSION&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#7f848e&#34;&gt;// 版本号自己去 JitPack 上面找
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#56b6c2&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;静静等待依赖图下载完成, 下载的过程中, 我们不难发现一些老熟人.&lt;/p&gt;
&lt;h1 id=&#34;启动&#34;&gt;启动&lt;/h1&gt;
&lt;p&gt;Minestom 启动&lt;code&gt;实现&lt;/code&gt;很简单, 只需要两行就搞定了.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#c678dd&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#c678dd&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#e5c07b&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#61afef;font-weight:bold&#34;&gt;main&lt;/span&gt;(&lt;span style=&#34;color:#e06c75&#34;&gt;String&lt;/span&gt;&lt;span style=&#34;color:#56b6c2&#34;&gt;[]&lt;/span&gt; &lt;span style=&#34;color:#e06c75&#34;&gt;args&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#c678dd&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#e06c75&#34;&gt;mc&lt;/span&gt; &lt;span style=&#34;color:#56b6c2&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e06c75&#34;&gt;MinecraftServer&lt;/span&gt;.&lt;span style=&#34;color:#e06c75&#34;&gt;init&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e06c75&#34;&gt;mc&lt;/span&gt;.&lt;span style=&#34;color:#e06c75&#34;&gt;start&lt;/span&gt;(&lt;span style=&#34;color:#98c379&#34;&gt;&amp;#34;0.0.0.0&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e06c75&#34;&gt;25565&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;一个空的 Minestom &lt;code&gt;实现&lt;/code&gt;在一秒钟内就能初始化完毕.
打开 Minecraft, 添加一个 &lt;code&gt;localhost&lt;/code&gt; 到服务器列表中就能看到你的新 Minestom 服务器.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Minestom in ServerList&#34; loading=&#34;lazy&#34; src=&#34;https://i.ibb.co/m0j5BN8/image.png?80&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注意: Minestom 语境下的 &lt;code&gt;实例&lt;/code&gt; 和 &lt;code&gt;实现&lt;/code&gt; 可能和你想象中的不一样
例如: &lt;code&gt;实现/Implementation&lt;/code&gt; 是基于 Minestom 开发的服务端软件, 而 &lt;code&gt;实例/Instance&lt;/code&gt; 不只指对象.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
