GlymeraMath

GlymeraMath

使用77种数学结构创建房屋、楼梯和装饰——立方体、穹顶、分形、开普勒-庞索星体、极小曲面。一条命令,可调大小,空心切换,任意Hytale方块作为材料。

预制件

GlymeraMath – Hytale 的 77 种数学结构

使用一条命令即可在你的世界中生成 77 种手工制作的数学或有机结构。立方体、球体、金字塔、圆顶、柏拉图立体和开普勒-庞索星形多面体、分形、极小曲面、纽结、心形——所有这些都通过一条简洁的命令和合理的参数呈现。

当前版本仅适用于 Hytale 稳定版 5! 不要错过我的其他精彩项目——请查看 GlymeraCraft 的主页 Discord: https://discord.gg/s5NRFWfxgy


什么是 GlymeraMath?

GlymeraMath 添加了一条命令 /gmath,可让你直接在脚下生成数学结构。每个形状都是用纯 Java 编写,随插件一起提供,并使用现有的 Hytale 方块作为材料——无需资源包、无需客户端模组、磁盘上也无需预制文件。

每个形状都提供简单的参数(size(大小)、height(高度)、hollow(空心)、material(材料),以及特定于形状的调整参数),以便你可以快速迭代。生成、查看、/gmath undo(撤销)、更改数值、再次生成。

  • 77 种形状,分为 13 个类别
  • 参数化 – 调整大小、密度、厚度、边数等。
  • 空心切换 – 适用于所有实心形状——非常适合将圆顶变成屋顶、将立方体变成房间
  • 每位玩家可撤销 – 每位玩家拥有一个生成历史记录,任何 /gmath undo(撤销)均可恢复被覆盖的地形
  • 大型生成的流式放置 – 超过可配置阈值的生成将按批次在服务器 tick 间进行放置,即使对于数百万方块的结构,服务器也能保持响应。使用 /gmath cancel(取消)可中止任何正在进行的生成(并回滚所有已放置的方块)。
  • 仅服务端 – 玩家使用其普通的 Hytale 客户端
  • 可配置权限 – 仅限 OP,或对所有玩家开放
  • 软性和硬性方块限制 – 警告步骤可防止意外的巨型生成

快速开始

/gmath list                    - 浏览所有形状,按类别分组
/gmath info <name>             - 显示形状的参数和默认值
/gmath spawn <name> [k=v ...]  - 在你当前的位置放置该形状
/gmath cancel                  - 中止正在进行的流式生成(并回滚)
/gmath undo                    - 移除上一次生成

示例:

/gmath spawn sphere size=30 hollow=true material=Rock_Marble
/gmath spawn mandelbulb size=45 material=Rock_Slate
/gmath spawn torus majorRadius=20 minorRadius=6 material=Rock_Basalt

命令

命令 使用权限 描述
/gmath list [filter] 允许的玩家 列出所有 77 种形状,可选择按类别或名称子字符串过滤
/gmath categories 允许的玩家 列出 13 个类别及每个类别包含的形状数量
/gmath info &amp;lt;name&amp;gt; 允许的玩家 显示形状的参数、默认值和默认材料
/gmath spawn &amp;lt;name&amp;gt; [k=v …] 允许的玩家 在你所在的位置居中放置该形状
/gmath confirm 允许的玩家 确认触发警告阈值的大型生成
/gmath cancel 允许的玩家 中止正在进行的流式生成并回滚所有已放置的方块
/gmath undo 允许的玩家 恢复你上次生成时的地形
/gmath reload 仅限 OP 编辑后重新读取 config.json(无需重启服务器)

“允许的玩家” = 默认情况下为 OP,或者如果配置中的 allowNonOps 设置为 true,则为所有玩家。

安装

  1. GlymeraMath-3.0.0.jar 放入服务器的 mods/ 文件夹中。
  2. 启动(或重启)服务器。
  3. 完成。无需资源包,也无需其他文件。

首次启动时,插件会使用合理的默认配置写入 plugins/GlymeraMath/config.json

配置

所有设置都位于 plugins/GlymeraMath/config.json 中:

{
  "allowNonOps": false,
  "warnAtBlocks": 100000,
  "maxBlocks": 300000,
  "confirmTimeoutSeconds": 30,
  "batchThreshold": 10000,
  "batchSize": 2500,
  "batchIntervalMs": 50
}
字段 作用
allowNonOps false(默认):只有 OP 可以使用 /gmathtrue:每位玩家都可以生成形状。
warnAtBlocks 超过此方块数量的生成需要 /gmath confirm 确认。
maxBlocks 硬性限制。超过此数量的生成将被拒绝,并显示指向此配置的消息。
confirmTimeoutSeconds 待处理的确认在过期前会被记住的时长。
batchThreshold 超过此方块数量的生成将按批次在 tick 间流式传输,而不是一次性全部放置。低于此阈值的生成将像以前一样同步应用。
batchSize 每个批次放置的方块数量(每个 tick 一个批次)。默认值 2500 – 这是在 20 TPS 下吞吐量和服务器平滑度之间的良好折衷。较低 = 更平滑但更慢;较高 = 更快但微卡顿更多。
batchIntervalMs 批次之间的毫秒数。 50 = 每个服务器 tick 一个批次。提高到 100(每 2 个 tick)可让其他工作在批次之间赶上。最小值为 10。

在服务器运行时编辑文件,然后运行 /gmath reload

安全限制

三个层级可防止意外的百万方块灾难:

  1. ≤ warnAtBlocks(默认 100 000) – 立即生成,无需交互。
  2. warnAtBlocks < blocks ≤ maxBlocks – 插件会打印 "此形状将放置 X 个方块。请在 30 秒内输入 /gmath confirm 以生成它。" 生成将按玩家保留;任何其他命令或超时都会取消它。
  3. > maxBlocks(默认 300 000) – 生成被拒绝,并显示一条消息,指明管理员可以调高的配置键。

放置本身还受 batchThreshold(默认 10 000)门控:

  • 低于阈值 – 方块在单次操作中同步放置,与早期版本相同。
  • 高于阈值 – 生成按批次在服务器 tick 间流式传输。玩家会在 25%、50%、75% 时收到进度消息,并在 100% 时收到“完成”行。每位玩家同时只能进行一次流式生成 – 第二个 /gmath spawn 会被拒绝,并提示先调用 /gmath cancel

/gmath cancel 会中止正在进行的流式生成并回滚所有已放置的方块,使地形恢复到生成从未发生过的状态。


复制 & 粘贴示例 – 只需更改值

下面的每个示例都会生成一个合理的默认形状。复制该行,粘贴,调整任何参数,然后再次生成。所有示例都使用 Rock_Marble 作为材料 – 可以将其替换为任何你喜欢的 Hytale 方块(Rock_BasaltRock_SandstonePlant_Coral_Block_PinkMetal_GoldSoil_Grass 等)。

任何形状都支持以下通用参数:

  • material=<Block_Name> – 形状的构成材料
  • hollow=true|false – 仅保留外部外壳(仅限实心形状)

I. 简单固体

cube(立方体)

轴对齐的实心立方体。

/gmath spawn cube size=20 hollow=false material=Rock_Marble

按需更改 sizehollow=true 可生成一个空心房间。

sphere(球体)

实心球体。 hollow=true 可生成完美的 1 方块厚外壳。

/gmath spawn sphere size=30 hollow=true material=Rock_Marble

cylinder(圆柱体)

垂直的实心圆柱体。

/gmath spawn cylinder size=20 height=30 hollow=true material=Rock_Marble

独立更改 size(直径)和 height(高度)。

cone(圆锥体)

直立的圆锥体,顶点位于顶部。

/gmath spawn cone size=25 height=35 hollow=false material=Rock_Marble

pyramid(金字塔)

方形底面的金字塔。 height=0 可获得埃及比例(约 0.63 × size)。

/gmath spawn pyramid size=40 height=0 hollow=false material=Rock_Sandstone

steppyramid(阶梯金字塔)

阶梯式(中美洲/ 吉古拉特风格)金字塔。

/gmath spawn steppyramid size=32 steps=6 stepHeight=3 material=Rock_Sandstone

更改 steps 可使其更高并拥有更多层级,更改 stepHeight 可获得更深的台阶。

dome(圆顶)

半球体(球体的上半部分)。

/gmath spawn dome size=30 hollow=true material=Rock_Marble

torus(圆环)

甜甜圈环,平放在地面上。

/gmath spawn torus majorRadius=20 minorRadius=6 material=Rock_Marble

majorRadius = 环的大小,minorRadius = 管的粗细。

arch(拱门)

直立的半圆环 – 一扇大门。

/gmath spawn arch majorRadius=15 minorRadius=3 depth=3 material=Rock_Marble

oniondome(洋葱圆顶)

球根状圆顶(俄罗斯/ 拜占庭风格)。

/gmath spawn oniondome size=22 height=32 material=Metal_Gold

prism(棱柱)

N 边形拉伸棱柱。三角形、五边形、六边形、八边形 – 都可以。

/gmath spawn prism sides=6 size=20 height=30 hollow=true material=Rock_Marble

sides=3 为三角形,sides=8 为八角柱,等等。

antiprism(反棱柱)

N 边形反棱柱 – 顶部多边形相对于底部旋转 180/N°。

/gmath spawn antiprism sides=6 size=20 height=25 hollow=true material=Rock_Marble

wedge(楔形)

斜坡/ 楔形。矩形底座沿 Z 轴线性上升。

/gmath spawn wedge size=30 length=30 height=20 material=Rock_Marble

frustum(截锥体)

截锥。 sides=0 → 圆形,sides≥3 → N 边形棱锥台。

/gmath spawn frustum size=30 topSize=12 height=25 sides=0 hollow=true material=Rock_Marble

obelisk(方尖碑)

埃及方尖碑:锥形方形柱身 + 小金字塔顶。

/gmath spawn obelisk size=8 topSize=4 height=40 pyramidion=6 material=Rock_Sandstone

capsule(胶囊体)

垂直药丸形:带半球形端盖的圆柱体。

/gmath spawn capsule size=16 height=40 hollow=true material=Rock_Marble

column(柱式)

古典希腊柱 – 方形底座 + 圆形柱身 + 方形柱头。

/gmath spawn column size=8 height=40 endHeight=3 material=Rock_Marble

tube(管状)

具有可配置壁厚的空心垂直圆柱体。

/gmath spawn tube size=20 height=30 wallThickness=2 material=Rock_Marble

bell(钟形)

钟形 – 底部向外张开,顶部收窄成圆形。

/gmath spawn bell size=20 height=24 material=Metal_Bronze

lens(透镜体)

扁椭球体 – 在 X / Z 轴上扁平,在 Y 轴上压扁。

/gmath spawn lens size=30 thickness=6 material=Rock_Marble

spire(尖塔)

带有尖顶的细长塔楼(哥特式尖塔)。

/gmath spawn spire size=8 height=60 shaftRatio=0.3 material=Rock_Marble

shaftRatio=0.0 → 完全尖顶,0.8 → 大部分为圆柱形,带有短尖顶。

II. 柏拉图立体

所有四种都接受单个 size 参数(外接球直径)。

tetrahedron(正四面体)

/gmath spawn tetrahedron size=30 hollow=true material=Rock_Basalt

octahedron(正八面体)

/gmath spawn octahedron size=30 hollow=true material=Rock_Marble

dodecahedron(正十二面体)

/gmath spawn dodecahedron size=30 hollow=true material=Rock_Marble

icosahedron(正二十面体)

/gmath spawn icosahedron size=25 hollow=true material=Rock_Marble

II.b 开普勒-庞索星形多面体

四个经典的非凸星形多面体。每个都渲染为多面体核心,并在每个面上带有棱锥形尖刺。

smallstellateddodecahedron(小星形十二面体)

/gmath spawn smallstellateddodecahedron size=30 spikeLength=14 material=Rock_Marble

greatdodecahedron(大十二面体)

/gmath spawn greatdodecahedron size=28 spikeLength=8 material=Rock_Marble

greatstellateddodecahedron(大星形十二面体)

/gmath spawn greatstellateddodecahedron size=28 spikeLength=18 material=Rock_Marble

greaticosahedron(大二十面体)

/gmath spawn greaticosahedron size=26 spikeLength=22 material=Rock_Marble

III. 阿基米德立体

边均匀的凸多面体。所有都接受 size = 外接球直径。

cuboctahedron(立方八面体)

/gmath spawn cuboctahedron size=25 hollow=true material=Rock_Marble

truncatedoctahedron(截角八面体)

可填充空间 – 此形状的副本可以无间隙地填充 3D 空间。

/gmath spawn truncatedoctahedron size=30 hollow=true material=Rock_Marble

icosidodecahedron(二十-十二面体)

/gmath spawn icosidodecahedron size=30 hollow=true material=Rock_Marble

rhombicdodecahedron(菱形十二面体)

/gmath spawn rhombicdodecahedron size=25 hollow=true material=Rock_Marble

III.b 复合多面体

多个多面体相互穿插,共享一个共同的对称轴。非常壮观。

compound2cubes(双立方体复合)

两个立方体,其中一个绕体对角线旋转 60°。

/gmath spawn compound2cubes size=24 material=Rock_Marble

compound5cubes(五立方体复合)

五个立方体共享一组十二面体顶点。

/gmath spawn compound5cubes size=26 material=Rock_Marble

compound5tetrahedra(五四面体复合)

五个四面体呈手性排列。

/gmath spawn compound5tetrahedra size=26 material=Rock_Marble

compound10tetrahedra(十四面体复合)

两个手性相反的 5-四面体复合体重叠在一起。

/gmath spawn compound10tetrahedra size=26 material=Rock_Marble

compound5octahedra(五八面体复合)

五个八面体共享 30 个二十面体边中点。

/gmath spawn compound5octahedra size=26 material=Rock_Marble

III.c 刻面 / 卡塔兰混合多面体

tetrakis(四角化六面体)

四角化六面体 – 立方体每个面上都有一个棱锥。

/gmath spawn tetrakis size=20 spikeLength=6 material=Rock_Marble

pentakis(五角化十二面体)

五角化十二面体 – 十二面体每个五边形面上都有一个棱锥。类似足球。

/gmath spawn pentakis size=28 spikeLength=5 material=Rock_Marble

excavateddodecahedron(内陷十二面体)

十二面体,每个面向内挖出一个棱锥形空腔。

/gmath spawn excavateddodecahedron size=32 depth=7 material=Rock_Marble

IV. 分形

自相似结构。请谨慎设置 level / size – 分形的方块数量会迅速爆炸。

menger(门格尔海绵)

经典的门格尔海绵。边 = 3^level 方块,填充的立方体 = 20^level。

/gmath spawn menger level=3 material=Rock_Marble

level=3 → 27³ 边 / 8 000 方块。 level=4 → 81³ / 160 000。 level=5 → 243³ / 3 200 000(需要提高 maxBlocks 并使用流式放置 – 大约需要一分钟)。

sierpinskitetra(谢尔宾斯基四面体)

谢尔宾斯基四面体。

/gmath spawn sierpinskitetra size=40 level=3 material=Rock_Basalt

sierpinskicarpet(谢尔宾斯基地毯)

将 2D 谢尔宾斯基地毯拉伸成板状。

/gmath spawn sierpinskicarpet level=3 depth=5 material=Rock_Marble

romanesco(罗马花椰菜)

分形花椰菜。由递归圆锥体构成的斐波那契螺旋。

/gmath spawn romanesco size=30 height=42 level=3 hollow=true material=Plant_Coral_Block_Lime

使用 level=4 可获得更多细节 – 请注意方块数量。

apollonian(阿波罗垫片)

阿波罗垫片:嵌套的空心球体填充在外部外壳内。

/gmath spawn apollonian size=32 seed=1337 material=Rock_Marble

更改 seed 可生成不同的排列布局。

mandelbulb(曼德尔球)

8 次方的 3D 曼德博集合。外形奇特的三维分形。

/gmath spawn mandelbulb size=45 material=Rock_Slate

增加 size 可获得更多细节(以及更多方块)。

mandelbox(曼德尔盒)

盒折曼德博集合。非常奇特。 scale 是折叠因子(有趣的取值范围为 2–3)。

/gmath spawn mandelbox size=40 scale=2.0 material=Rock_Slate

julia3d(三维朱利亚集)

四元数 3D 朱利亚集。更改常数 (cx, cy, cz, cw) 可获得截然不同的形状。

/gmath spawn julia3d size=40 cx=-0.4 cy=0.6 cz=0.0 cw=0.0 material=Rock_Slate

V. 三周期极小曲面(TPMS)

可无限平铺 3D 空间的隐式曲面。美丽的泡沫/ 海绵结构。

gyroid(螺旋面)

sin(x)cos(y) + sin(y)cos(z) + sin(z)cos(x) = 0

/gmath spawn gyroid size=32 wavelength=16 thickness=0.33 material=Plant_Coral_Block_Cyan

schwarzp(施瓦茨P面)

施瓦茨基本曲面:cos(x)+cos(y)+cos(z)=0

/gmath spawn schwarzp size=32 wavelength=20 thickness=0.4 material=Plant_Coral_Block_SkyBlue

schwarzd(施瓦茨D面)

施瓦茨金刚石曲面(四面体对称)。

/gmath spawn schwarzd size=32 wavelength=16 thickness=0.35 material=Plant_Coral_Block_Cyan

neovius(尼奥维乌斯曲面)

3(cx+cy+cz) + 4(cx·cy·cz) = 0

/gmath spawn neovius size=32 wavelength=18 thickness=0.7 material=Plant_Coral_Block_Pink

lidinoid(利迪诺伊曲面)

螺旋面的旋转相关曲面。精细的极小泡沫。

/gmath spawn lidinoid size=32 wavelength=18 thickness=0.25 material=Plant_Coral_Block_Purple

VI. 螺旋与纽结

nautilus(鹦鹉螺)

具有指数增长管的对数螺旋。

/gmath spawn nautilus size=25 windings=1.75 growth=0.18 material=Rock_Marble

更多 windings = 更长的螺旋。更高的 growth = 每圈增长更大。

doublehelix(双螺旋)

带有横档的 DNA 式螺旋。

/gmath spawn doublehelix size=10 height=40 turns=5 tube=1.5 rungStep=4 material=Rock_Marble

rungStep=0 → 无横档。

torusknot(环面纽结)

(p, q) 环面纽结:绕主轴 p 圈,绕副轴 q 圈。

/gmath spawn torusknot majorRadius=14 minorRadius=5 tube=1.6 p=2 q=3 material=Metal_Copper

尝试 (p,q) = (3,2), (2,5), (3,5) 可获得不同的纽结。

trefoil(三叶纽结)

最简单的非平凡纽结。

/gmath spawn trefoil size=25 tube=2.2 material=Metal_Gold

conicalspiral(锥形螺旋)

向上延伸的蜗牛壳状螺旋。

/gmath spawn conicalspiral size=30 windings=4 growth=0.15 tube=2.0 pitch=6 material=Rock_Marble

solenoid(螺线管)

紧密的螺旋线圈/ 弹簧。

/gmath spawn solenoid size=14 height=40 turns=12 tube=1.2 material=Metal_Copper

VII. 参数化奇珍异宝

kleinbottle(克莱因瓶)

不可定向的自交曲面。

/gmath spawn kleinbottle size=30 tube=1.5 material=Plant_Coral_Block_Purple

moebius(莫比乌斯带)

加厚的莫比乌斯带:带有一个扭曲的单面曲面。

/gmath spawn moebius size=20 width=6 thick=2 material=Rock_Marble

supershape(超形状)

3D 吉耶斯超公式。花朵、星星、水果 – 只需几个数字即可生成。

/gmath spawn supershape size=25 m1=7 m2=6 n1=0.2 n2=1.7 n3=1.7 material=Plant_Coral_Block_Orange

更改 m1 / m2 可获得不同的对称性。较小的 n1 → 类似星星。

superellipsoid(超椭球体)

|x/a|^r + |y/b|^r + |z/c|^r ≤ 1。从立方体(r→∞)到八面体(r=1)。

/gmath spawn superellipsoid size=28 rx=4 ry=4 rz=4 hollow=true material=Rock_Marble

supertoroid(超环面)

具有超椭球体横截面的圆环。

/gmath spawn supertoroid majorRadius=18 minorRadius=6 e1=2.0 e2=2.0 material=Rock_Marble

stellaoctangula(星形八面体)

两个相互穿插的正四面体的复合体(“星形四面体”)。

/gmath spawn stellaoctangula size=25 material=Rock_Marble

VIII. 波形

sinwave(正弦波)

2D 正弦波地形。

/gmath spawn sinwave size=40 amplitude=6 wavelength=16 thickness=2 material=Plant_Coral_Block_SkyBlue

waveinterference(波干涉)

双源圆形波干涉图样 – 水波纹。

/gmath spawn waveinterference size=60 amplitude=5 wavelength=10 spacing=20 thickness=2 material=Plant_Coral_Block_Blue

chladni(克拉尼图形)

3D 克拉尼图形 – 盒子中驻波的节面。

/gmath spawn chladni size=32 nx=3 ny=3 nz=3 thickness=0.2 material=Plant_Coral_Block_Yellow

尝试不同的 (nx, ny, nz) 模式三元组可获得截然不同的图案。

IX. 极小曲面

catenoid(悬链面)

旋转极小曲面(cosh 型)。

/gmath spawn catenoid size=20 height=30 thickness=0.7 material=Plant_Coral_Block_White

helicoid(螺旋面)

无限螺旋坡道。一种“直纹”极小曲面。

/gmath spawn helicoid size=20 height=30 turns=2 thickness=1 material=Rock_Marble

enneper(恩珀曲面)

自交的极小曲面。

/gmath spawn enneper size=6 scale=5 tube=1.2 material=Rock_Marble

scherk(谢尔克曲面)

谢尔克第一曲面。周期性,基于 exp(z)·cos(y) = cos(x)

/gmath spawn scherk size=30 period=12 thickness=0.6 material=Rock_Marble

X. 有机及其他

heart(心形)

3D 心形(陶宾方程)。

/gmath spawn heart size=20 material=Plant_Coral_Block_Red

egg(蛋形)

不对称的锥形椭球体。

/gmath spawn egg size=20 height=28 taper=0.6 material=Rock_Marble

较小的 taper → 顶部更窄。