
Scopic
一款基于Pehkui源代码制作的模组,专注于尺寸互动功能
查看大图这个模组之所以能实现,完全离不开 Pehkui,因为它是基于该模组的源代码构建的。然而,本模组更侧重于不同体型大小下的互动,并致力于让无限大和无限小的体型在一定程度上可玩,或者至少在不卡顿、不崩溃的情况下可用。
此模组与 PEHKUI 不兼容
需要 Flan 模组!链接: https://www.curseforge.com/minecraft/mc-mods/flan
如需与 Pehkui、Immersive Portals、Origins 以及其他使用 Pehkui API 的体型改变模组兼容的版本,请查看我的新模组 Scopic-Addon!
链接: https://www.curseforge.com/minecraft/mc-mods/scopic-addon
本模组主要侧重于在私人服务器上与朋友一起游玩,或用于角色扮演类场景。当然,它也考虑到了服务器和单人生存模式。该模组提供了大量功能,其中大部分都可以(希望是)以简单易懂的方式进行完全自定义。为了支持某些功能,Pehkui 的部分代码被修改了,因此如果你只需要一个改变体型的 API,不建议将此模组作为 Pehkui 的替代品,因为本模组与任何其他使用 Pehkui API 的模组的兼容性尚未测试,使用风险自负。
如果你想和我讨论关于这个模组的任何问题,我也建议在 Discord 上进行,因为我在那边会比在 CurseForge 上更活跃。 你可以通过 Discord 快速私信我:Sizze#3834
此项目现在同时支持 1.18.1 和 1.18.2 版本,但我强烈推荐使用 1.18.1 版本,因为 1.18.2 版本存在一些我似乎无法修复的问题。
那么,关于功能,我将它们分为几类:"大型"、"小型" 和 "通用"。这些分类通常只是相对于你互动对象的体型大小,详细说明如下:
(新添加的功能)
通用功能:
-无限缩放 Pehkui 已经支持无限增大或缩小,但是,存在一些问题。在较大的比例下,游戏会卡顿,而且如果体型差异过大,较小比例的实体/玩家会自动取消渲染。本模组修复了这两个问题,使得在(几乎)任何比例下都能进行互动。在较大比例下,你的碰撞箱大小有上限。最大碰撞箱大小可在配置中调整,默认为 8。这允许你将比例一直更改为约 4,294,967,296(40亿),以及一直缩小到 0(可以变为负数,但这未作更改)。在较小比例下,碰撞箱没有改变,但它们不再因为太小而取消渲染(尽管它们仍然会"隐形",因为它们会小于一个像素,建议你使用一个可以缩放很远的缩放模组)。
-踩踏 比另一实体或玩家小 4倍 或以下的实体和玩家在被踩到时将受到伤害,伤害随体型差异缩放。
-携带/投掷 你可以拾起比你小 4倍 或以下的实体或玩家。有三种选择:如果你正常右键,他们会出现在你面前的手中;如果你抱着他们并按下 "J" 键,他们会移动到你的肩膀上。在肩膀上时,你不能放下或投掷他们,按住 Shift 并按下 "J" 键可以将他们放回手中。然后你可以通过右键点击方块将他们放下,他们会出现在你点击的位置;或者,你可以按住 Shift 并攻击来投掷他们。投掷的速度取决于体型差异。如果你将一个实体投掷到另一个实体上,两个实体都会根据速度受到伤害。你不能在主手持有物品的同时抱着实体/玩家。但是,如果你在肩膀上抱着一个实体,你可以持有物品。
-强大的缩放系统 由于这个模组涉及较大的体型差异,我决定在模组中实现一个可自定义的缩放功能。按住 C 键进行缩放,或按 Z 键切换缩放(这样你就不必在缩放时一直按住按钮)。上箭头 和 下箭头 可以放大或缩小,它会在你的快捷栏上方显示缩放倍数。左箭头 和 右箭头 会改变缩放时的灵敏度,它也会显示你的灵敏度。V 键切换平滑相机,如果你已经缩放,请取消缩放并重新缩放以应用效果。最后,句号 键将所有值重置为默认值。
-仙人掌 仙人掌对体型为 4 或以上的玩家不造成伤害,对体型为 0.125 或以下的玩家也不造成伤害。
-雪球 向比你(或雪球)小 8倍 的实体/玩家投掷雪球,会使其获得 10 秒的缓慢 III 效果。
-投掷苦力怕 投掷苦力怕会使其在撞击时爆炸。
-铁傀儡重新缩放 如果你用铁锭右键点击一只满血的铁傀儡,傀儡会消耗铁锭并增长 20%,没有上限。你也可以用任何镐右键点击傀儡使其缩小 20%,每次使用会返还你 1 个铁锭。这可以一直持续到傀儡体型为 0.01 或更低。
-按比例缩放脚步声 较大的玩家走路时会发出更响亮、更深沉的脚步声,而微小的玩家会发出更高音调、更安静的脚步声。
-屏幕震动 此功能默认关闭。某些事件会触发屏幕震动。当一个至少比你大 8倍 的玩家或实体走近你时,你的屏幕会剧烈震动一秒钟。使用跳跃破坏的玩家也会触发范围内所有人的屏幕震动,包括跳跃者本人。屏幕震动功能非常不稳定,我知道它有很多问题,所以不建议使用,但如果你想要,可以在配置中的 "enableShaking" 下启用它。
-吹气能力 适用于所有体型,可作用于任何比你小 4倍 的实体。如果你 8倍 或更大,你可以吹飞方块。方块越硬,越难被吹动。吹力随体型缩放。在看着一个方块时按下 G 键,可以吹走该方块周围区域内的所有实体。这适用于所有体型。吹气会消耗你的氧气值,当你气喘吁吁时将无法再吹气,需要等待其恢复一些。按住 Shift 吹气可以吹飞方块。方块会随机飞走。方块的硬度决定了它被吹走的难易程度(例如,树叶比石头容易吹走得的多)。这随你的体型缩放。
-按比例击退 较大的玩家受到较小来源的击退效果更小。
-钩住实体 如果你的体型小于另一实体,并且你用钓鱼竿钩住他们,如果他们走得太远,你就会被拖向他们,有点像缰绳。较小的玩家在收线时也会被拖向较大的实体。
-骑乘 你可以通过用线右键点击比你大的实体和玩家来骑乘他们。
-按比例战利品 较大的怪物会掉落更多战利品,而且时运附魔的效果在体型小时会增加,在体型大时会减少。
-攀爬实体 手持粘液球将允许你攀爬比你大的实体。此外,你可以站在它们上面。当它们移动时,你会保持相对位置,但如果它们掉落或跳跃,你会摔下来。
-自定义携带选项 手持实体时按下 "H" 键以启用此功能,潜行并按 "H" 键切换回手持。此选项允许你在自定义携带时完全自定义乘客的位置。所有这些都可以通过本页面命令部分的命令进行自定义。
大型功能:
(使用了 WildFire FemaleGenderMod 来让图片中的玩家模型看起来是这个样子,我并非有意这样做,但我忘了我们为截图用的服务器安装了它。)
-大型玩家有能力摧毁他们周围的土地。破坏会因受影响的方块飞散而变得格外混乱(见下方图片)。目前有 5 种 "破坏" 选项,所有选项均可切换,其中一些可以自定义:
成长破坏
当玩家在一个不适合其新体型大小的区域中成长时,会发生这种情况。自然上限为 32,因为更高的比例会导致更严重的延迟,但是,这可以在配置中更改。

跳跃破坏 当体型为 4 或以上的玩家按住 Shift 然后跳跃时发生。他们会在下方的地面上制造一个弹坑,碎片四溅,并将周围的实体震飞。破坏范围取决于玩家的体型,上限为 32。


奔跑和/或行走破坏 此功能默认禁用。你可以通过命令启用它,我将在页面下方进一步解释。启用奔跑破坏后,体型为 16 或以上的玩家可以跑着穿过方块,使其飞散,但必须疾跑;行走破坏效果类似,但只作用于腿部周围区域,且无需疾跑。你可以同时启用两者,然后你就能轻松地穿过任何可破坏的方块。

拳击破坏 此功能也默认禁用。启用此功能后,体型为 4 或以上的玩家可以按住 Shift 并点击方块来制造一些混乱。受影响区域的大小取决于你的爆炸大小/基础体型,但也可以通过命令自定义!

-箭矢破坏 体型大时射箭会摧毁箭矢落点的区域。
-拾取方块 大型玩家可以拾取并持有方块以及实体(在通用功能中进一步说明)。按住 Shift 并右键点击方块来拾取它,但要注意,拾取后你将无法将其放下。拾取方块后,你可以投掷它,它会对碰撞到的实体造成伤害,如果投掷力度足够大,撞击时会产生爆炸。
-物品拾取限制 体型大于 8 的大型玩家不能通过走过物品来拾取它们。要在此体型下拾取物品,你必须在物品范围内右键点击地面。这将一次性拾取该区域内的所有物品。或者,你可以在任一只手(主手或副手)中持有空桶,这样物品就会像平常一样被拾取。
-护甲限制 当你的体型达到 8 或以上时,你不能穿戴护甲。如果你在穿戴护甲时成长到 8 或以上,护甲会直接掉落。(目前还没有可切换的配置选项,但我很快就会添加。)
-压缩 一个小彩蛋:如果你在体型为 32 或以上时手持一组煤炭并右键,你会将煤炭压缩成 1 个钻石。
-范围攻击伤害 体型为 4倍 或以上的玩家在攻击实体时会对其造成范围伤害。伤害等于你的普通攻击伤害,范围伤害的半径随体型增大而增加。
-在较大体型下能够挖掘需要特定挖掘等级的方块
基本上,当你更大时,你的手就像一个镐子,镐子的等级如下:
体型 4 = 木镐,体型 9 = 石镐,体型 16 = 铁镐,体型 25 = 钻石镐
小型功能:
-滑翔 在体型为 0.25 或以下时,在空中任一只手(主手或副手)中持有纸或地图会让你下落得更慢,你可以按住 Shift 键加速下落。
-攀爬 体型为 0.25 或以下的微小玩家可以自然地攀爬任何用锹可采集的方块,如果手持粘液球,他们还可以攀爬游戏中的任何方块。
-抓钩 体型为 0.125 或以下的微小玩家可以用钓鱼竿进行抓钩。当鱼漂落定后,你可以收线将自己发射向它的方向。
-食用糖 在体型为 0.25 或以下时食用糖,将给予你 20 秒的急迫和迅捷效果,效果的强度取决于你的体型。
-骑乘实体 你可以通过用线点击至少比你大 4倍 的实体来骑乘它们。骑乘蝙蝠或鹦鹉可以控制它们。蝙蝠飞得比鹦鹉快。你也可以骑乘蜘蛛/洞穴蜘蛛以及驯服的狼。蜘蛛不能跳跃,但可以爬墙。狼的行为类似于普通的坐骑。
-红石 体型为 0.125 或以下的玩家不会触发绊线或压力板。他们也无法与拉杆、按钮或门互动。手持木棍可以让你与后者互动。
-雨水 如果你的体型为 0.125 或以下,雨水会淹死你,请确保站在方块下以防被淹。你也可以手持荷叶,或站在一个至少比你大 4倍 的实体正下方。
-虞美人 当你体型微小时,虞美人会伤害并减缓你的速度。
-荷叶船 手持荷叶并接触水时,可以像使用船一样使用它。
-热源和纸 手持纸飞近热源会给你向上的动量。越温暖的热源提供的动量越大。
-乘坐烟花 在体型微小时,在你的脚下生成一个烟花火箭,你会乘坐它飞上天空。
-火把、拉杆和告示牌碰撞 微小玩家可以站在这三类方块上,就像站在普通地面上一样。站在火把上会点燃你。此外,你可以像攀爬普通方块一样攀爬火把。
命令:
本模组添加了 3 条命令。
/ServerSize 是一条允许你在服务器上无需权限更改基础体型的命令。
下一条命令要复杂得多,所以我会尽力深入解释。
使用此命令所做的所有设置(食物部分除外)在重生和重新登录后都会保留!
/rp 是一条主要用于自定义和切换功能的命令。
/rp destruction - 允许你启用/禁用某些破坏类型。如果你输入 /rp destruction punch {enable/disable} / {(power) (chance)} ,你可以选择继续设置拳击的威力以及受影响方块转化为碎片的百分比。
示例: /rp destruction 5 50 将使你的拳击具有爆炸威力 5 的爆炸效果,并且被"爆炸"的方块中有一半会转化为飞散的方块。
/rp random (add/set/multiply) (min) (max) - 这将随机地将你的体型增加/设置为/乘以一个介于 min 和 max 之间的随机数。 示例:/rp random set 0.1 5 会将我的体型设置为 0.1 到 5 之间的一个随机数。
/rp type (Additive/Multiplicative) - 更改所有使用 rp 命令进行的缩放操作是加性还是乘性。默认设置为乘性。
/rp spurt {enable/disable} / {(min) (max) (chance) (interval)} - 这个命令的作用与 /rp random 类似。你的体型将(根据你设置的 type)随机乘以/加上一个介于 min 和 max 之间的随机数,并且每经过 interval 个游戏刻有 chance 百分比的概率成功。可以通过 /rp spurt (enable/disable) 禁用和重新启用。 示例:/rp spurt 1.1 2 50 200 这将尝试将我的体型乘以一个介于 1.1 和 2 之间的值,成功几率为 50%。并且每 200 个游戏刻(10 秒)尝试一次。
它也可以用来在一段时间内进行持续的体型变化。 示例:/rp spurt 0.9 0.9 100 1000 将每 1000 个游戏刻(50 秒)将你的体型乘以一个 0.9 到 0.9 之间的数(实际上总是 0.9),成功率为 100%。
/rp set (FoodItem) (Value) - 此命令使你在食用指定的食物物品时,将根据(取决于 rp type)设定值乘以/增加你的体型。每种食物物品都存储有自己的值,并且这些值会在你每次退出登录时重置。但只要你不退出登录,你就不需要在每次吃东西时都重新设置值。 示例:/rp set minecraft:bread 2 这会使我每次吃面包时体型加倍,如果我接着输入/rp set minecraft:apple 0.5 ,那么每次吃苹果我的体型就会减半,但吃面包仍然会让我的体型加倍。
/rp remove (FoodItem) - 移除选定食物物品的设定值,这是更改食物物品值所必需的。请注意,移除值后,该食物在下次食用时可能仍会改变你的体型。我正在努力修复这个问题。
/rp get (FoodItem) - 告诉你输入的食物物品所存储的值。
/rp CustomCarry setOffset {offsetDistance} {offsetRotation} {offsetHeight} {InvisiblePassenger} - 此命令允许你自定义使用自定义携带时乘客的位置。默认情况下,乘客会出现在你碰撞箱的中心附近。
offsetDistance 改变乘客离你身体的距离。
offsetRotation 改变他们围绕你的旋转方式。想象一下从上方看你抱着他们的视角。它会让他们围绕你旋转。所以 0 = 前方,180 = 后方,90 = 左侧,270/-90 = 右侧。
offsetHeight 简单地改变他们所处的高度。
InvisiblePassenger 切换他们在自定义携带模式下是否可见。
一些示例: /rp customCarry setOffset 0.35 -90 1.75 false - 把他们放在你的右肩上。 /rp customCarry setOffset 0 0 3 false - 把他们放在你的头顶。 /rp customCarry setOffset 0 0 1 true - 把他们隐形地安全放在你的身体内部。
/rpevents 这条新命令旨在涵盖游戏过程中可能发生的事件。主动事件是需要玩家采取行动的事件,被动事件则是在游戏过程中自然而然地发生。我的想法是随着进一步更新模组,不断填充更多事件,添加一些可能有用也可能没用的事件。这有点像特性集合文件夹。无论如何,目前只有 2 个事件:
/rpevents Active Siphon toggle - 启用/禁用虹吸事件。与 RP 命令不同,激活的事件即使在退出登录后也保持激活状态。激活后,你攻击任何目标时都会偷取其部分体型。偷取的体量取决于你对目标造成的伤害,以及你选择的倍率。
/rpevents Active Siphon set (multiplier) - 允许你为虹吸事件设置自定义倍率。比如你想让虹吸效果比正常情况强 100 倍?
那么你可以使用 /rpevents Active Siphon set 100。
/rpevents Active Kill {toggle / set} - 工作方式与 Siphon 完全相同,只是它在你每次击杀时触发。体型变化的量是可自定义的,甚至可以是负数来缩小你。
例: /rpevents Active Kill set 0.5 - 每次击杀时增长 0.5。
/rpevents Active BlockBreak (与食物命令相同) - 它与 Siphon 在同一个命令行中。"BlockBreak"。BlockBreak 下的子命令类似于食物重新缩放系统。"AllBlocks" 启用对所有方块的重新缩放并带有指定值,"clearblocks" 清除所有方块和值,"operation" 允许你在加性和乘性之间切换,"removeblock" 移除特定方块及其值,"addblock" 以指定的值添加特定方块。 例:/rpevents Active BlockBreak AllBlocks 0.1 - 每次破坏方块时增长 0.1。
最后是 /AdminRp - 允许管理员或命令方块代表其他玩家执行 /rp 和 /rpevents 命令。
物品:
空/填充注射器 用空注射器右键点击实体/玩家以窃取其一半的体型,被窃取的值将存储到填充的注射器中。如果你用填充的注射器右键点击,你会增长相当于存储值的体型。你也可以按住 Shift 并右键点击空注射器来窃取自己的体型,以及按住 Shift 并右键点击他人来使他们增长。
缩小药水 只是一个标准物品,饮用后会将你置于 0 到 1 之间的随机体型。
巨大药水 作用与缩小药水相反,使你变为 1 到 100 之间的随机体型。
空酒桶 仅用于合成绿色和红色酒桶。
绿色酒桶 作用与缩小药水完全相同,但体型更小,使你变为 0 到 0.01 之间的随机体型。
红色酒桶 类似于巨大药水,但体型范围是 1 到 1000。
美味三明治 食用时会消耗整组三明治,并使你的体型增长相当于三明治数量的量。
示例:如果你持有 8 个三明治并食用,你将增长 8;如果你持有 64 个,你将增长 64,以此类推。
**强力葡萄 **这个物品在生存模式中无法获得,主要是个玩笑物品。你必须确保自己能承受住这颗葡萄的力量后再食用。如果你在体型低于 256 时食用它,你会因它那原始的力量而立即死亡。但是,如果你大于 256,那么你将增长到可能的最大体型。(当你这么大时,不要改回 1,你必须慢慢缩小,比如先缩到 100,000,然后 1000,最后 1)。
**中和巧克力 - **此物品在食用时会将你的体型重置为 1。可以用 1 个可可豆 + 2 个糖或 1 个曲奇 + 2 个糖合成,两者均采用曲奇的合成形状。
**树叶护甲和树叶物品 - **当体型在 0.25 或以下的玩家破坏树叶(云杉树叶除外)时,每次掉落 1-3 个树叶物品。树叶护甲由树叶物品制成,如果在体型大于 0.25 时穿戴,其耐久度会迅速消耗。
悬挂式滑翔机 此物品仅在体型微小时可用。只需在空中握住它,你就会开始滑翔。它飞行速度快,但下降速度比握着纸要快。你将自动朝你面对的方向飞行。
**-睡袋 - **在体型微小时,右键点击此物品即可像在床上一样睡觉。
配置和服务器相关
配置包含了适用于 Minecraft 1.18.1 版本的 Pehkui 的所有选项,但添加了一些我想解释的额外选项。
RpCommandPermissionLevel 决定你需要什么权限等级才能使用 rp 命令,其中 0 表示任何人都可以使用,4 表示只有管理员可以使用。
maxExplosionSize 这决定了你可以为拳击破坏选择的最大值。
allow{DestructionType}Destruction 这些允许你在全局范围内启用或禁用特定的破坏类型。在单人游戏中,如果禁用则无法使用;在多人游戏中,如果服务器禁用,则任何人都无法使用。
enableDestruction 完全启用/禁用破坏功能,工作方式与上述选项类似。
max/min Scale 设置最小和最大体型,对服务器特别有用。即使使用物品,也不可能超过这些体型。除非你是被豁免的玩家。
playerMaxScaleException[] 写上你想豁免于最小/最大体型规则的玩家用户名。像这样写他们的用户名:"christiantiana",如果你想添加更多人,请确保在后面添加逗号。 示例:playerMaxScaleException["christiantiana", "Notch"] 这将使我和 Notch 豁免于最小和最大体型的配置选项。
maxGrowthDestructionScaleServer 这允许服务器所有者决定触发成长破坏的最大体型,如果有人增长超过此值,他们将不会破坏任何东西。
maximumHitboxSize 允许你选择最大玩家碰撞箱大小。较小的碰撞箱大小意味着更少的延迟,但玩起来不太直观。所有功能都独立于碰撞箱大小运作。
maxScaledExplosionSize 允许你选择拳击破坏造成的爆炸在所有计算完成后最大可以达到多大。
maxFlyingBlockSpawnChance 允许你选择被破坏的方块中转化为飞散方块的比例,较低的数字意味着更少的延迟,但也意味着更少的碎片。此配置选项对所有破坏类型统一生效,因此将其设为 0 意味着任何破坏类型都不会产生碎片。
scaledFlyingBlockSpawnChance 使被破坏时转化为飞散方块的数量与玩家的体型成反比,以减少延迟,适用于所有破坏类型。
balancedMotionAndReach 将体型超过 8 的大型玩家的移动速度减半,并增加小型玩家的移动速度。同时使小型玩家总能至少够到 1 个方块。
**limitArmor - **默认为 true,切换大型体型下对护甲的限制。
另外,为 ServerSize 命令和 RpEvents 命令添加了新的权限等级配置选项。
正在加载版本记录…



正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。