<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>酷学小栈</title>
  <icon>https://pangz.fun/icon.png</icon>
  <subtitle>还要再走500里</subtitle>
  <link href="https://pangz.fun/atom.xml" rel="self"/>
  
  <link href="https://pangz.fun/"/>
  <updated>2026-04-16T08:43:14.689Z</updated>
  <id>https://pangz.fun/</id>
  
  <author>
    <name>木辛念做梓</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>luanti Lua 编码规范</title>
    <link href="https://pangz.fun/luanti-lua-conventions.html"/>
    <id>https://pangz.fun/luanti-lua-conventions.html</id>
    <published>2026-04-16T08:41:47.000Z</published>
    <updated>2026-04-16T08:43:14.689Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;Lua-编码规范&quot;&gt;&lt;a href=&quot;#Lua-编码规范&quot; class=&quot;headerlink&quot; title=&quot;Lua 编码规范&quot;&gt;&lt;/a&gt;Lua 编码规范&lt;/h1&gt;&lt;p&gt;Lua 是一门简洁、极简、优雅、高效、可嵌入、表现力强的脚本语言。想要高效开发 Luanti 模组与游戏，必须熟练掌握 Lua。&lt;/p&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API 计时与事件循环</title>
    <link href="https://pangz.fun/luanti-API-timing-and-event-loop.html"/>
    <id>https://pangz.fun/luanti-API-timing-and-event-loop.html</id>
    <published>2026-04-16T08:39:52.000Z</published>
    <updated>2026-04-16T08:40:40.642Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;计时与事件循环&quot;&gt;&lt;a href=&quot;#计时与事件循环&quot; class=&quot;headerlink&quot; title=&quot;计时与事件循环&quot;&gt;&lt;/a&gt;计时与事件循环&lt;/h1&gt;&lt;p&gt;Luanti 的 Lua API 可用于获取时间、日期，或调度&lt;strong&gt;一次性/每帧执行&lt;/strong&gt;的事件。&lt;/p&gt;
&lt;h2 id=&quot;设置项&quot;&gt;&lt;a href=&quot;#设置项&quot; class=&quot;headerlink&quot; title=&quot;设置项&quot;&gt;&lt;/a&gt;设置项&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;服务器&lt;/strong&gt;：&lt;code&gt;dedicated_server_step&lt;/code&gt; 控制&lt;strong&gt;服务端帧间隔&lt;/strong&gt;，这是无忙等待时游戏循环的最大粒度。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;单人模式&lt;/strong&gt;：帧率决定服务端帧执行频率。&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API 纹理修饰器</title>
    <link href="https://pangz.fun/luanti-API-texture-modifiers.html"/>
    <id>https://pangz.fun/luanti-API-texture-modifiers.html</id>
    <published>2026-04-16T08:38:18.000Z</published>
    <updated>2026-04-16T08:39:14.502Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;纹理修饰器&quot;&gt;&lt;a href=&quot;#纹理修饰器&quot; class=&quot;headerlink&quot; title=&quot;纹理修饰器&quot;&gt;&lt;/a&gt;纹理修饰器&lt;/h1&gt;&lt;p&gt;纹理修饰器是一串告诉 Luanti 如何处理图片的字符串，除动态媒体外，它是&lt;strong&gt;运行时动态生成纹理&lt;/strong&gt;的唯一方式。&lt;br&gt;它也能用来简化模组，批量生成重复纹理，比如不同颜色的工具贴图。&lt;/p&gt;
&lt;p&gt;ℹ️ 说明&lt;br&gt;纹理修饰器和硬件着色功能部分重叠。&lt;strong&gt;优先使用硬件着色&lt;/strong&gt;，更灵活、产生的冗余纹理更少。&lt;/p&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API 数据持久化</title>
    <link href="https://pangz.fun/luanti-API-persistence.html"/>
    <id>https://pangz.fun/luanti-API-persistence.html</id>
    <published>2026-04-16T08:37:04.000Z</published>
    <updated>2026-04-16T08:37:52.814Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;数据持久化&quot;&gt;&lt;a href=&quot;#数据持久化&quot; class=&quot;headerlink&quot; title=&quot;数据持久化&quot;&gt;&lt;/a&gt;数据持久化&lt;/h1&gt;&lt;p&gt;本页概览 Luanti 提供的&lt;strong&gt;序列化与数据持久化方案&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;选择持久化方式主要看这些：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;数据结构与类型：数据长啥样？有哪些类型？&lt;/li&gt;
&lt;li&gt;数据大小与修改频率：能不能塞进内存？更新开销多大？&lt;/li&gt;
&lt;li&gt;所需粒度：数据需要多久存一次？&lt;/li&gt;
&lt;li&gt;查询需求：是否需要索引快速查找？&lt;/li&gt;
&lt;li&gt;数据绑定对象：物品？玩家？方块？&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API 对象属性</title>
    <link href="https://pangz.fun/luanti-API-object-properties.html"/>
    <id>https://pangz.fun/luanti-API-object-properties.html</id>
    <published>2026-04-16T08:35:46.000Z</published>
    <updated>2026-04-16T08:37:14.374Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;对象属性&quot;&gt;&lt;a href=&quot;#对象属性&quot; class=&quot;headerlink&quot; title=&quot;对象属性&quot;&gt;&lt;/a&gt;对象属性&lt;/h1&gt;&lt;p&gt;本页面列出对象可拥有的全部属性。&lt;/p&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API 模组通信频道</title>
    <link href="https://pangz.fun/luanti-API-modchannels.html"/>
    <id>https://pangz.fun/luanti-API-modchannels.html</id>
    <published>2026-04-16T08:34:32.000Z</published>
    <updated>2026-04-16T08:35:17.830Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;模组通信频道（Modchannels）&quot;&gt;&lt;a href=&quot;#模组通信频道（Modchannels）&quot; class=&quot;headerlink&quot; title=&quot;模组通信频道（Modchannels）&quot;&gt;&lt;/a&gt;模组通信频道（Modchannels）&lt;/h1&gt;&lt;p&gt;用于&lt;strong&gt;服务端模组（SSM）&lt;/strong&gt; 和&lt;strong&gt;客户端模组（CSM）&lt;/strong&gt; 互相发消息、双向通信。&lt;/p&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API LuaJIT</title>
    <link href="https://pangz.fun/luanti-API-luajit.html"/>
    <id>https://pangz.fun/luanti-API-luajit.html</id>
    <published>2026-04-16T08:33:11.000Z</published>
    <updated>2026-04-16T08:34:03.604Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;LuaJIT&quot;&gt;&lt;a href=&quot;#LuaJIT&quot; class=&quot;headerlink&quot; title=&quot;LuaJIT&quot;&gt;&lt;/a&gt;LuaJIT&lt;/h1&gt;&lt;p&gt;LuaJIT 是一款面向 Lua 的&lt;strong&gt;即时编译器（JIT）&lt;/strong&gt;，它完整实现了 &lt;strong&gt;Lua 5.1 标准&lt;/strong&gt;（为区分起见，官方标准 Lua 称为 PUC Lua），同时附带一些扩展与差异。&lt;br&gt;LuaJIT 运行速度通常远快于 PUC Lua，因此&lt;strong&gt;强烈推荐使用&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;除非你编译 Luanti 时&lt;strong&gt;手动禁用了 LuaJIT&lt;/strong&gt;，否则 Luanti 默认都会用 LuaJIT 作为 Lua 运行时。&lt;br&gt;官方 Windows、Android 以及大多数 Linux 发行版安装包，均已启用 LuaJIT。&lt;br&gt;你可以在终端执行这条命令确认：&lt;/p&gt;
&lt;figure class=&quot;highlight plaintext&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;1&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;line&quot;&gt;./luanti --version&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti 运行环境</title>
    <link href="https://pangz.fun/luanti-API-lua-environment.html"/>
    <id>https://pangz.fun/luanti-API-lua-environment.html</id>
    <published>2026-04-16T08:29:19.000Z</published>
    <updated>2026-04-16T08:30:16.709Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;Lua-运行环境&quot;&gt;&lt;a href=&quot;#Lua-运行环境&quot; class=&quot;headerlink&quot; title=&quot;Lua 运行环境&quot;&gt;&lt;/a&gt;Lua 运行环境&lt;/h1&gt;&lt;p&gt;Luanti 采用 &lt;strong&gt;Lua 5.1&lt;/strong&gt;。模组的实际运行环境取决于&lt;strong&gt;四大要素&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;操作系统&lt;/li&gt;
&lt;li&gt;Luanti 构建版本：LuaJIT（默认）或 PUC Lua 5.1&lt;/li&gt;
&lt;li&gt;模组类型：客户端侧（CSM）或服务端侧（SSM）&lt;/li&gt;
&lt;li&gt;模组环境：安全模式 或 不安全模式&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti HTTP API</title>
    <link href="https://pangz.fun/luanti-API-http-api.html"/>
    <id>https://pangz.fun/luanti-API-http-api.html</id>
    <published>2026-04-16T08:25:05.000Z</published>
    <updated>2026-04-16T08:26:35.659Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;HTTP-API&quot;&gt;&lt;a href=&quot;#HTTP-API&quot; class=&quot;headerlink&quot; title=&quot;HTTP API&quot;&gt;&lt;/a&gt;HTTP API&lt;/h1&gt;&lt;p&gt;HTTP API 允许模组发起网络请求（GET/POST 等）。&lt;/p&gt;
&lt;h2 id=&quot;设置（必须配置）&quot;&gt;&lt;a href=&quot;#设置（必须配置）&quot; class=&quot;headerlink&quot; title=&quot;设置（必须配置）&quot;&gt;&lt;/a&gt;设置（必须配置）&lt;/h2&gt;&lt;p&gt;要使用此 API，模组必须在以下&lt;strong&gt;任一配置项&lt;/strong&gt;中被列出（使用 CSV 格式，即逗号分隔）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;secure.trusted_mods&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;secure.http_mods&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API 文件系统</title>
    <link href="https://pangz.fun/luanti-API-filesystem.html"/>
    <id>https://pangz.fun/luanti-API-filesystem.html</id>
    <published>2026-04-11T04:17:04.000Z</published>
    <updated>2026-04-11T04:19:29.822Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;文件系统（Filesystem）&quot;&gt;&lt;a href=&quot;#文件系统（Filesystem）&quot; class=&quot;headerlink&quot; title=&quot;文件系统（Filesystem）&quot;&gt;&lt;/a&gt;文件系统（Filesystem）&lt;/h1&gt;&lt;p&gt;Luanti 提供大量工具函数，用于管理&lt;strong&gt;路径、文件、文件夹&lt;/strong&gt;。&lt;/p&gt;
&lt;h1 id=&quot;重要说明&quot;&gt;&lt;a href=&quot;#重要说明&quot; class=&quot;headerlink&quot; title=&quot;重要说明&quot;&gt;&lt;/a&gt;重要说明&lt;/h1&gt;&lt;p&gt;模组安全系统会&lt;strong&gt;限制文件访问路径&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;加载时：只能访问&lt;strong&gt;当前模组目录（mod path）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;运行时：只能访问&lt;strong&gt;世界存档目录（world path）&lt;/strong&gt;&lt;br&gt;详见：Lua 环境（Lua Environment）&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API-Classes voxelarea</title>
    <link href="https://pangz.fun/luanti-API-Classes-voxelarea.html"/>
    <id>https://pangz.fun/luanti-API-Classes-voxelarea.html</id>
    <published>2026-04-11T04:15:31.000Z</published>
    <updated>2026-04-11T04:16:27.805Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;VoxelArea&quot;&gt;&lt;a href=&quot;#VoxelArea&quot; class=&quot;headerlink&quot; title=&quot;VoxelArea&quot;&gt;&lt;/a&gt;VoxelArea&lt;/h1&gt;&lt;p&gt;VoxelArea 是用于&lt;strong&gt;VoxelManip（地图区块操作）&lt;strong&gt;的面向对象工具类，专门用来&lt;/strong&gt;计算坐标索引&lt;/strong&gt;，避免手写复杂的三维下标公式。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;VoxelArea-new-self-o&quot;&gt;&lt;a href=&quot;#VoxelArea-new-self-o&quot; class=&quot;headerlink&quot; title=&quot;VoxelArea.new(self, o)&quot;&gt;&lt;/a&gt;VoxelArea.new(self, o)&lt;/h2&gt;&lt;p&gt;创建一个 VoxelArea 实例。&lt;br&gt;会自动设置 &lt;code&gt;self.__index = self&lt;/code&gt;，并将 &lt;code&gt;self&lt;/code&gt; 设为 &lt;code&gt;o&lt;/code&gt; 的元表。&lt;/p&gt;
&lt;h3 id=&quot;必须字段&quot;&gt;&lt;a href=&quot;#必须字段&quot; class=&quot;headerlink&quot; title=&quot;必须字段&quot;&gt;&lt;/a&gt;必须字段&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MinEdge&lt;/strong&gt;：区域最小坐标（包含）&lt;br&gt;为整数向量，默认 &lt;code&gt;vector.new(1, 1, 1)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MaxEdge&lt;/strong&gt;：区域最大坐标（包含）&lt;br&gt;为整数向量，默认 &lt;code&gt;vector.new(0, 0, 0)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API-Classes 向量 API</title>
    <link href="https://pangz.fun/luanti-API-Classes-vector.html"/>
    <id>https://pangz.fun/luanti-API-Classes-vector.html</id>
    <published>2026-04-11T03:51:26.000Z</published>
    <updated>2026-04-11T04:15:04.388Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;向量-API&quot;&gt;&lt;a href=&quot;#向量-API&quot; class=&quot;headerlink&quot; title=&quot;向量 API&quot;&gt;&lt;/a&gt;向量 API&lt;/h1&gt;&lt;p&gt;Vector（向量）过去只是带 &lt;code&gt;x&lt;/code&gt;/&lt;code&gt;y&lt;/code&gt;/&lt;code&gt;z&lt;/code&gt; 的普通表，现在已升级为带元表的增强类型。&lt;br&gt;除非特别说明，本文提到的 &lt;code&gt;vector&lt;/code&gt; 均指&lt;strong&gt;带元表的向量&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;vector-命名空间函数&quot;&gt;&lt;a href=&quot;#vector-命名空间函数&quot; class=&quot;headerlink&quot; title=&quot;vector 命名空间函数&quot;&gt;&lt;/a&gt;vector 命名空间函数&lt;/h2&gt;&lt;h3 id=&quot;vector-new-a-b-c&quot;&gt;&lt;a href=&quot;#vector-new-a-b-c&quot; class=&quot;headerlink&quot; title=&quot;vector.new(a, b, c)&quot;&gt;&lt;/a&gt;&lt;code&gt;vector.new(a, b, c)&lt;/code&gt;&lt;/h3&gt;&lt;p&gt;创建新向量。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;a&lt;/code&gt;、&lt;code&gt;b&lt;/code&gt;、&lt;code&gt;c&lt;/code&gt; 为数字 → 返回 &lt;code&gt;{x=a, y=b, z=c}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;a&lt;/code&gt; 是向量 → 等价 &lt;code&gt;vector.copy(a)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;全空 → 等价 &lt;code&gt;vector.zero()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API-Classes 射线检测（Raycast）</title>
    <link href="https://pangz.fun/luanti-API-Classes-raycast.html"/>
    <id>https://pangz.fun/luanti-API-Classes-raycast.html</id>
    <published>2026-04-11T03:50:17.000Z</published>
    <updated>2026-04-11T03:51:04.157Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;射线检测（Raycast）&quot;&gt;&lt;a href=&quot;#射线检测（Raycast）&quot; class=&quot;headerlink&quot; title=&quot;射线检测（Raycast）&quot;&gt;&lt;/a&gt;射线检测（Raycast）&lt;/h1&gt;&lt;p&gt;射线用于模拟一条“线”，检测它碰到了哪些&lt;strong&gt;选择箱&lt;/strong&gt;（selection box）。&lt;br&gt;效果和玩家准星指向几乎完全一样（有少量限制）。&lt;/p&gt;
&lt;h2 id=&quot;指向结果（pointed-thing）格式&quot;&gt;&lt;a href=&quot;#指向结果（pointed-thing）格式&quot; class=&quot;headerlink&quot; title=&quot;指向结果（pointed_thing）格式&quot;&gt;&lt;/a&gt;指向结果（pointed_thing）格式&lt;/h2&gt;&lt;p&gt;射线碰到的东西只有 3 种：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;nothing&lt;/strong&gt;：没碰到任何东西&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;object&lt;/strong&gt;：实体、生物、玩家&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;node&lt;/strong&gt;：方块（固体/液体）&lt;/li&gt;
&lt;/ol&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API-Classes 随机数（Random）</title>
    <link href="https://pangz.fun/luanti-API-Classes-random.html"/>
    <id>https://pangz.fun/luanti-API-Classes-random.html</id>
    <published>2026-04-11T03:48:32.000Z</published>
    <updated>2026-04-11T03:49:43.617Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;随机数（Random）&quot;&gt;&lt;a href=&quot;#随机数（Random）&quot; class=&quot;headerlink&quot; title=&quot;随机数（Random）&quot;&gt;&lt;/a&gt;随机数（Random）&lt;/h1&gt;&lt;p&gt;Luanti 提供&lt;strong&gt;四种随机数生成器&lt;/strong&gt;，各有优缺点，模组开发者需要根据场景选择。&lt;/p&gt;
&lt;h2 id=&quot;Lua-内置随机（全局）&quot;&gt;&lt;a href=&quot;#Lua-内置随机（全局）&quot; class=&quot;headerlink&quot; title=&quot;Lua 内置随机（全局）&quot;&gt;&lt;/a&gt;Lua 内置随机（全局）&lt;/h2&gt;&lt;p&gt;不受模组安全限制，服务端和客户端模组都能用。&lt;/p&gt;
&lt;h3 id=&quot;math-randomseed-seed&quot;&gt;&lt;a href=&quot;#math-randomseed-seed&quot; class=&quot;headerlink&quot; title=&quot;math.randomseed(seed)&quot;&gt;&lt;/a&gt;&lt;code&gt;math.randomseed(seed)&lt;/code&gt;&lt;/h3&gt;&lt;p&gt;设置全局随机种子。&lt;br&gt;引擎&lt;strong&gt;已经用系统时间自动帮你设置过&lt;/strong&gt;。&lt;/p&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API-Classes PlayerMetaData</title>
    <link href="https://pangz.fun/luanti-API-Classes-playermetadata.html"/>
    <id>https://pangz.fun/luanti-API-Classes-playermetadata.html</id>
    <published>2026-04-11T03:47:27.000Z</published>
    <updated>2026-04-11T03:48:07.646Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;PlayerMetaData&quot;&gt;&lt;a href=&quot;#PlayerMetaData&quot; class=&quot;headerlink&quot; title=&quot;PlayerMetaData&quot;&gt;&lt;/a&gt;PlayerMetaData&lt;/h1&gt;&lt;p&gt;PlayerMetaData 是&lt;strong&gt;每个世界、每个玩家独立&lt;/strong&gt;的持久化字符串键值存储，&lt;strong&gt;完全继承 MetaData 所有方法&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;保存频率&quot;&gt;&lt;a href=&quot;#保存频率&quot; class=&quot;headerlink&quot; title=&quot;保存频率&quot;&gt;&lt;/a&gt;保存频率&lt;/h2&gt;&lt;p&gt;数据保存间隔由服务器配置 &lt;code&gt;map_save_interval&lt;/code&gt; 控制。&lt;/p&gt;
&lt;h2 id=&quot;重要规范（必看）&quot;&gt;&lt;a href=&quot;#重要规范（必看）&quot; class=&quot;headerlink&quot; title=&quot;重要规范（必看）&quot;&gt;&lt;/a&gt;重要规范（必看）&lt;/h2&gt;&lt;p&gt;PlayerMetaData 是&lt;strong&gt;所有模组共用&lt;/strong&gt;的，为了避免键名冲突，&lt;strong&gt;必须给你的 key 加模组名前缀&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;例子：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;任务模组的分数 → &lt;code&gt;fancy_quests:score&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;生物模组的分数 → &lt;code&gt;fancy_mobs:score&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API-Classes NodeMetaData</title>
    <link href="https://pangz.fun/luanti-API-Classes-nodemetadata.html"/>
    <id>https://pangz.fun/luanti-API-Classes-nodemetadata.html</id>
    <published>2026-04-11T03:46:11.000Z</published>
    <updated>2026-04-11T03:46:57.146Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;NodeMetaData&quot;&gt;&lt;a href=&quot;#NodeMetaData&quot; class=&quot;headerlink&quot; title=&quot;NodeMetaData&quot;&gt;&lt;/a&gt;NodeMetaData&lt;/h1&gt;&lt;p&gt;NodeMetaData 让你可以给&lt;strong&gt;世界里的每一个方块&lt;/strong&gt;绑定独立的持久化键值数据，完全继承 MetaData 所有方法。&lt;br&gt;它最常用的功能是给箱子、熔炉等方块&lt;strong&gt;存储背包与界面&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;传统方块只能存这些（非常少）&quot;&gt;&lt;a href=&quot;#传统方块只能存这些（非常少）&quot; class=&quot;headerlink&quot; title=&quot;传统方块只能存这些（非常少）&quot;&gt;&lt;/a&gt;传统方块只能存这些（非常少）&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;方块ID（名称）&lt;/li&gt;
&lt;li&gt;param1：通常用于光照（0–255）&lt;/li&gt;
&lt;li&gt;param2：旋转、颜色、形状等（0–255）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;有了 NodeMetaData，你想存多少就存多少。&lt;/p&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API-Classes ModStorage</title>
    <link href="https://pangz.fun/luanti-modstorage.html"/>
    <id>https://pangz.fun/luanti-modstorage.html</id>
    <published>2026-04-11T03:43:13.000Z</published>
    <updated>2026-04-11T03:44:30.940Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;ModStorage&quot;&gt;&lt;a href=&quot;#ModStorage&quot; class=&quot;headerlink&quot; title=&quot;ModStorage&quot;&gt;&lt;/a&gt;ModStorage&lt;/h1&gt;&lt;p&gt;ModStorage 是&lt;strong&gt;每个世界、每个模组独立&lt;/strong&gt;的持久化字符串键值存储，&lt;strong&gt;完全继承 MetaData 的所有方法&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&quot;保存机制&quot;&gt;&lt;a href=&quot;#保存机制&quot; class=&quot;headerlink&quot; title=&quot;保存机制&quot;&gt;&lt;/a&gt;保存机制&lt;/h2&gt;&lt;p&gt;数据的保存频率由服务器配置 &lt;code&gt;map_save_interval&lt;/code&gt; 决定。&lt;/p&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API-Classes metadata</title>
    <link href="https://pangz.fun/luanti-metadata.html"/>
    <id>https://pangz.fun/luanti-metadata.html</id>
    <published>2026-04-11T03:41:31.000Z</published>
    <updated>2026-04-11T03:42:51.917Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;MetaData&quot;&gt;&lt;a href=&quot;#MetaData&quot; class=&quot;headerlink&quot; title=&quot;MetaData&quot;&gt;&lt;/a&gt;MetaData&lt;/h1&gt;&lt;p&gt;MetaData 是一个&lt;strong&gt;通用键值存储接口&lt;/strong&gt;，用于给对象持久化保存字符串数据。&lt;br&gt;下面所有方法，在它的&lt;strong&gt;所有子类&lt;/strong&gt;里都可以用。&lt;/p&gt;
&lt;h2 id=&quot;子类（它管哪些东西）&quot;&gt;&lt;a href=&quot;#子类（它管哪些东西）&quot; class=&quot;headerlink&quot; title=&quot;子类（它管哪些东西）&quot;&gt;&lt;/a&gt;子类（它管哪些东西）&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ModStorage&lt;/strong&gt;：模组全局存储（整个模组共用）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NodeMetaData&lt;/strong&gt;：地图上的单个方块存储&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ItemStackMetaData&lt;/strong&gt;：物品堆存储&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PlayerMetaData&lt;/strong&gt;：玩家存储&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti API-Classes ItemStackMetaData</title>
    <link href="https://pangz.fun/luanti-itemstackmetadata.html"/>
    <id>https://pangz.fun/luanti-itemstackmetadata.html</id>
    <published>2026-04-11T03:39:16.000Z</published>
    <updated>2026-04-11T03:41:09.796Z</updated>
    
    
    <summary type="html">&lt;h1 id=&quot;ItemStackMetaData&quot;&gt;&lt;a href=&quot;#ItemStackMetaData&quot; class=&quot;headerlink&quot; title=&quot;ItemStackMetaData&quot;&gt;&lt;/a&gt;ItemStackMetaData&lt;/h1&gt;&lt;p&gt;ItemStackMetaData 是 &lt;strong&gt;MetaData 的子类&lt;/strong&gt;，通过 &lt;code&gt;stack:get_meta()&lt;/code&gt; 获取，用于&lt;strong&gt;给物品堆绑定持久化的键值对数据&lt;/strong&gt;。&lt;/p&gt;</summary>
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="API" scheme="https://pangz.fun/tags/API/"/>
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
  <entry>
    <title>luanti 硬编码功能列表</title>
    <link href="https://pangz.fun/luanti-list-of-hardcoded-features.html"/>
    <id>https://pangz.fun/luanti-list-of-hardcoded-features.html</id>
    <published>2026-04-09T12:26:51.000Z</published>
    <updated>2026-04-09T12:27:22.914Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h1 id=&quot;硬编码功能列表&quot;&gt;&lt;a href=&quot;#硬编码功能列表&quot; class=&quot;headerlink&quot; title=&quot;硬编码功能列表&quot;&gt;&lt;/a&gt;硬编码功能列表&lt;/h1&gt;&lt;p&gt;这里列出 Luanti</summary>
        
      
    
    
    
    <category term="luanti" scheme="https://pangz.fun/categories/luanti/"/>
    
    
    <category term="luanti" scheme="https://pangz.fun/tags/luanti/"/>
    
    <category term="games" scheme="https://pangz.fun/tags/games/"/>
    
    <category term="mods" scheme="https://pangz.fun/tags/mods/"/>
    
  </entry>
  
</feed>
