世界边境
本帖最后由 世界边境 于 2021-9-23 15:18 编辑
这是一个专为整合包作者设计的自定义mod,它已经在相当多的FTB整合包中发挥了它的强大威力。

这个mod添加了一种Minecraft中原本不存在的概念——游戏阶段
拥有不同的游戏阶段,玩家将会解锁不同的游戏内容

利用游戏阶段,整合包作者/地图作者/腐竹可以实现但不限于如防止跳科技/职业系统/科技树/任务解锁道具使用权/类似帝国时代的科技系统等功能。
在各种附属mod的支持下,游戏阶段可以用来限制玩家可以交互的道具/方块/机器/实体等内容。

打个比方,如果一开始玩家默认拥有"石器时代"阶段,此时玩家可以制作石制工具,获取羊毛、皮革、腐肉、生肉,
但mod会限制玩家制作、使用、获得非石器时代的物品及相应掉落,
也就是说,只处于石器时代的玩家不能获得铁、煤矿、钻石,那就更别提使用相应的工具了。
(这里只是个示例,仅安装此mod并不具有以上所述的功能,需要安装其他附属)


这个mod并不适合普通玩家,而是面向整合包作者、RPG作者或者腐竹。
mod本身并没有太多的功能,但它非常灵活,而且已经有了多个附属mod,允许作者对游戏的各个方面进行魔改。
而且游戏阶段是非线性的,玩家可以同时获得多个阶段,并且随时获得或失去某个阶段。
比如玩家可以在拥有“石器时代”阶段的同时拥有“钻石时代”。如果拥有“钻石时代”后失去“石器时代”,将导致玩家不能使用石制工具等内容。

mod可以根据这些阶段限制玩家对某些事物的使用或获得。比如:
不具有下界阶段阶段的玩家不能进入下界,直到玩家解锁了下界阶段,才允许玩家进入下界。(此功能需要安装其他附属)

这些限制是与各个阶段相绑定的。这有些类似于服务器的“权限”系统。


基本使用方法
游戏阶段有一些基本的行为和机制。
首先,所有的阶段名称必须全部小写,不能有中文、空格,如果遇到需要空格的情况,建议使用下划线来代替。
其次,在1.13以下版本中,游戏阶段不需要事先注册,你可以在任何时候检查或给予任何的阶段名称。
而在1.13及以上版本中,你需要事先在/config/gamestages/known_stages.json文件中注册你创建的阶段。以下是配置文件的写法示例:
  1. ["stone_stage", "iron_stage", "gold_stage", "diamond_stage"]
复制代码

最后,这个mod默认情况下认定玩家不具有任何阶段,比如你限制了玩家获得钻石,那么在玩家拥有钻石阶段之前,玩家无法获得钻石,无论是通过挖矿还是苦力怕爆炸掉落。

假人功能
这个mod允许使用者创建拥有某些阶段的假人,用来实现自动化等功能。
这个功能通过编辑config / gameStagesFakePlayerData.json文件来实现,
以下是相关配置示例;
  1. [
  2.   {
  3.     "fakePlayerName": "test123",
  4.     "stages": [
  5.       "stage1",
  6.       "stage2",
  7.       "stage3"
  8.     ]
  9.   },
  10.   {
  11.     "fakePlayerName": "fake456",
  12.     "stages": [
  13.       "fish",
  14.       "pepper",
  15.       "cheese"
  16.     ]
  17.   }
  18. ]</font>
复制代码

CraftTweaker支持
这个mod为CraftTweaker脚本提供了一些功能,比如检查玩家所拥有的阶段以及为玩家添加/删除阶段。
使得允许像是CraftTweaker事件和函数这样的玩意利用这个mod。
检查玩家是否拥有了阶段:
  1. player.hasGameStage(String stage);
复制代码

检查玩家是否拥有了其中任意一个阶段:
  1. player.hasAnyGameStages(String... stages);
复制代码
String... stages是一组字符串,比如如下用法:
  1. player.hasAnyGameStages("wood_stage","stone_stage");
复制代码

检查玩家是否拥有了其中所有阶段:
  1. player.hasAllGameStages (String... stages);
复制代码

给玩家添加一个阶段:
  1. addGameStage(String stage);
复制代码
其中,String stage为阶段名。
阶段名称有一定的限制和要求,
必须全部是英文小写,并且不能有空格,如果需要空格,请用下划线“_”代替。
请尽量不要使用颜表情等奇葩命名。

删除一个玩家拥有的阶段:
  1. removeGameStage(String stage);
复制代码

您可以在这里找到有关此功能的更多信息。

命令列表
/gamestage add (silent) <player> <stage>给玩家添加一个阶段,如果带有“silent”字段,则静默执行,不通知玩家
/gamestage remove  (silent) <player> <stage> 从玩家移除一个阶段,如果带有“silent”字段,则静默执行,不通知玩家
/gamestage info (player) 列出玩家所拥有的所有阶段。如果未指定玩家,将检索命令使用者
/gamestage check (player) <stage> 检查玩家是否拥某个阶段。如果未指定玩家,将检查命令使用者
/gamestage clear (player) 清除玩家拥有的所有阶段。如果未指定玩家,将清除命令使用者
/gamestage all (player) 给与玩家所有已知阶段。如果未指定玩家,将给与命令使用者
/gamestage reloadfakes 重载GS数据

推荐附属
阶段性维度(MCBBS) - 提供基于GS的维度访问限制
阶段性物品(MCBBS) - 提供基于GS的物品访问与显示限制
阶段性怪物(MCBBS) - 提供基于GS的怪物生成限制
阶段性匠魂(MCBBS) - 提供基于GS的匠魂材料与部件相关功能限制
阶段性提示(MCBBS) - 提供基于GS的Waila信息显示限制
阶段性旅行地图(MCBBS) - 提供基于GS的旅行地图功能限制
阶段性矿石(MCBBS) - 提供基于GS的方块显示相关功能限制
阶段性合成(Curse) - 提供基于GS的合成表修改
阶段表单(Curse) - 建立存有多个阶段的表,并提供通基于权重给予玩家随机阶段的功能
时间阶段(Curse) - 提供基于游戏时间解锁游戏阶段的功能


PS:如果您愿意帮助推广这个mod,欢迎使用以下签名档代码:
  1. [url=https://www.mcbbs.net/thread-854578-1-1.html][img]http://somethingothers.oss-cn-beijing.aliyuncs.com/Gamestages%E5%AE%A3%E4%BC%A0.png[/img][/url]
复制代码
效果:

世界边境
@森林蝙蝠 大佬,帮我校对一下有没有错误或者遗漏,能否顺便给我一些建议?
我打算把接下来的几个重要的附属也搬过来。

烟雨郎君
好像很好,但是有点看不懂,能具体描述一下吗?

世界边境
本帖最后由 世界边境 于 2019-4-2 11:49 编辑
烟雨郎君 发表于 2019-4-2 11:30
好像很好,但是有点看不懂,能具体描述一下吗?

比如说,一开始玩家默认拥有"石器时代"的阶段,此时玩家可以制作石制工具,获取羊毛、皮革、腐肉、生肉,但mod会限制玩家制作、使用、获得非石器时代的物品及相应掉落,也就是说,只处于石器时代的玩家不能获得铁、煤矿、钻石,那就更别提使用相应的工具了。
但玩家可以解锁其他的游戏阶段来解锁其他的游戏功能。

而且玩家可以在拥有石器时代阶段的同时拥有其他阶段,比如钻石时代阶段。而且如果在拥有钻石时代后失去石器时代,将会导致玩家不能使用石制工具等内容。(这里只是个示例,仅安装此mod并不具有以上所述的功能,需要安装其他附属)

你可以把这个mod认为是mod版的权限系统,决定玩家是否具有使用物品或获取掉落的权限,没有这个阶段就是没有这些权限。








MissingBreeze
很有意思,我想请问下如果不进行任何配置,直接以默认配置进行游戏能否完整游玩这个mod

世界边境
MissingBreeze 发表于 2019-4-3 09:41
很有意思,我想请问下如果不进行任何配置,直接以默认配置进行游戏能否完整游玩这个mod ...

这个mod默认没有任何配置,必须由使用者手动配置好一切内容。
所以如果你没有配置这个mod,是没有任何意义的。

二哈大魔王
希望可以有整合包 真正体验到此mod的内容

森林蝙蝠
二哈大魔王 发表于 2019-4-5 18:52
希望可以有整合包 真正体验到此mod的内容

听过sevtech吗?

146780128
那么如何进行详细的配置呢?又比较清楚点的教程吗。。。

146780128
# Configuration file

general {

    debug {
        # Debug logging for any kind of syncing or changes to a players stage.
        B:"Log Debug Data"=true
    }

}

addGameStage(beginning);
addGameStage(live);
addGameStage(a_little_try);
addGameStage(exploration);
addGameStage(make_life_better);
addGameStage(world_change);
addGameStage(panic_and_confusion);
addGameStage(stable);
addGameStage(reforming_the_world);
addGameStage(final);
是这样的格式吗

世界边境
146780128 发表于 2019-4-7 21:40
# Configuration file

general {

不是,具体请去参考一下CT的用法。最上面的部分是写在配置文件里的,而后面的部分是写在CT的脚本里的

ASHT.
本帖最后由 ASHT. 于 2019-4-30 23:16 编辑

问一下,如果玩家A有了第三或者第四阶段的机器或带有GUI界面的方块并放在地上,那么玩家B能不能打开?

清秋
似乎可以通过检查阶段,条件语句,事件系统三者来达到几乎所有事件的开启关闭

世界边境
清秋 发表于 2019-5-1 22:37
似乎可以通过检查阶段,条件语句,事件系统三者来达到几乎所有事件的开启关闭 ...

是这样的,所以这个游戏阶段mod其实可以做到很多东西,包括职业划分、时代划分、科技树路线等等内容

世界边境
ASHT. 发表于 2019-4-30 23:14
问一下,如果玩家A有了第三或者第四阶段的机器或带有GUI界面的方块并放在地上,那么玩家B能不能打开? ...

不能,原文说的是访问,也就是说没有相应阶段的玩家没有任何方法可以与该物品交互,如果装了阶段性矿石mod的话,可能没有相应阶段的玩家连看都看不到那个机器

LamentoLee
那么这个模组可不可以自动地在玩家达成某个条件以后自动解锁某个阶段呢?还是说只能通过指令的方式进行人为地修改玩家阶段?

76767453
感谢大佬分享

76767453
感谢大佬分享

Hestia2333
好东西,收下了~

Luvnstriow_
超喜欢!!!

世界边境
LamentoLee 发表于 2019-5-4 12:20
那么这个模组可不可以自动地在玩家达成某个条件以后自动解锁某个阶段呢?还是说只能通过指令的方式进行人为 ...

这个mod似乎没有这样的功能,不过任何可以执行命令的东西,比如NPC或者命令方块都可以通过命令给予玩家阶段。我觉得这虽然是一个缺点,但也让这个mod有了更高的灵活性,不会让玩家因为这个自动给于的功能而限定了mod的使用方法。

栗子.
可以直接通过指令给予玩家任意名称的阶段?是这个意思吗233
如果加了附属,并且添加了条件,比如“ 233 ”阶段看得到钻石矿
那么用指令给予玩家233阶段就可以了吗?

世界边境
本帖最后由 世界边境 于 2019-7-4 22:36 编辑
LamentoLee 发表于 2019-5-4 12:20
那么这个模组可不可以自动地在玩家达成某个条件以后自动解锁某个阶段呢?还是说只能通过指令的方式进行人为 ...

目前似乎只能通过指令或者CT来自动给予,不过从头开始mod已经可以支持GSmod了,可以通过从头开始mod来实现当玩家解锁某项科技之后获得某个阶段。
我已经把从头开始mod的配置Wiki翻译过了,详情请看:http://www.mcbbs.net/thread-853524-1-1.html


也有一个时间性阶段的附属,可以在玩家进行了一定时间的游戏后给予玩家阶段。

世界边境
cyciling 发表于 2019-6-29 12:28
可以直接通过指令给予玩家任意名称的阶段?是这个意思吗233
如果加了附属,并且添加了条件,比如“ 233 ” ...

是的,这个有点类似于服务器的权限系统。

Crystal0428
让游戏更有目标的mod,对于一些整合包挺有用的呀

1492956011
醉了,楼主,都不介绍清楚,搞半天,还是不会,你说的跟官网一样,我们还是看不懂,有木有教程啊

1492956011
mod的意思是听懂了,但是游戏阶段mod还是用不出来啊,,教程没有,外网的根本看不懂

1492956011
还有说句实在话,这个mod不错是不错,楼主,它的附属看到懂怎么操作,但是这个主体能不能自己做个教程来给我们看看,官网的实在看不懂

473937269
谢谢分享 看介绍还可以 但是不知道有没有BUG的问题

鸦梦

阶段性合成后,AE就不能自动合成被游戏阶段限制的物品了..


假人是为了解决这个的?那是以什么形式实现?



世界边境
忆梦cat 发表于 2019-9-20 21:11
阶段性合成后,AE就不能自动合成被游戏阶段限制的物品了..

假人是为了解决这个的?那是以什么形式实现?

其实我也没有找到方法,作者也没详细说明假人的使用方法,你有相应阶段的时候EA的自动合成可以成功吗?

鸦梦
本帖最后由 忆梦cat 于 2019-9-21 02:53 编辑
世界边境 发表于 2019-9-20 22:54
其实我也没有找到方法,作者也没详细说明假人的使用方法,你有相应阶段的时候EA的自动合成可以成功吗? ...

并不能,而且也不能在合成终端里手动合成...甚至编写成样板,AE也不能识别这个合成样板。(能编写成样板,但放入me接口后,AE并不能识别...)



烟雨郎君
我想问一句,限制了阶段合成,比如我设置了铁器时代,没到铁器时代的玩家,不能合成铁装备和铁盔甲。

那么AE能否合成呢?AE的自动合成能否合成呢?

如果到达了铁器时代,AE能否合成呢?AE的自动合成能否合成呢?

张帅哥丶
好棒...........

Salty_EyEs
感觉做一些剧情图之类的时候似乎能用得上

-木羽-
烟雨郎君 发表于 2019-11-2 23:58
我想问一句,限制了阶段合成,比如我设置了铁器时代,没到铁器时代的玩家,不能合成铁装备和铁盔甲。

那么 ...

可以使用zs设置AE2的包的阶段可见度

布绘丸子
就是慢慢解锁更高级的工具和物品吧 防止金手指和人品爆棚什么的

kuaile412
阶段性合成支持机器合成吗?
比如热力膨胀和应用能源2

spyder
创新了一种玩法吧,谢谢分享

阿良123
给力奥..............................................

guoshi-xiao-zhu
一个很有意思的模组!

565585
很好的模组,就是有点看不懂而已

世界边境
565585 发表于 2019-12-30 13:56
很好的模组,就是有点看不懂而已

GS模组的确是比较概念性的模组。
我刚开始也没搞明白这个模组是咋回事。。

Rn_心颜
求视频教程

世界边境

这个mod没法做视频教程,只能做一些文档教程。
毕竟本身就是面向开发者的

啦la啦
多谢分享

秋天的云
在mc里玩文明吗

资深咸鱼
还是有点茫然,是一个个的在ct里配置吗?
addGameStage(stone_Age);
addGameStage(immersion);
addGameStage(ic);
addGameStage(interstellar);
addGameStage(wood_age);
        "conditions": [{
                "condition": "wood age","stone_Age"
                "stage_name": "one"
        }]
那么,stage_name又是什么呢?

20001124
楼主 这个mod的指令 权限节点是什么 服务器玩家用不了 gamestage add  

世界边境
20001124 发表于 2020-2-17 11:27
楼主 这个mod的指令 权限节点是什么 服务器玩家用不了 gamestage add

这个命令应该是用命令方块执行的,或者使用命令的语法有错

下一页 最后一页