Ecdcaeb / ResourceModLoader

a modloader which load resource pack as mod.
GNU General Public License v3.0
4 stars 1 forks source link

crt脚本无法读取 #3

Closed zfms4188 closed 7 months ago

zfms4188 commented 7 months ago

使用提供的例子文件 crt里提供的例子无法生效 在crt的log文件也并未获取到加载了test脚本 (但是ResourceModLoader提供的例如添加矿词是有效果的 仅试了一下合成语法 其他语法兼容性未知 mod版本 ResourceModLoader-1.0.8 实例文件 example-1.0.5 crt CraftTweaker2-1.12-4.1.20.687

Ecdcaeb commented 7 months ago

之前RML开发使用的CrT不是最新版本的,由于最新版CrT的改动,我们的注入失效了。

Ecdcaeb commented 7 months ago

目前RML正在升级Forge版本,升级Mod版本。我们会检查钩子的有效性。 这一部分的更新可能包含之前在做的一些新功能,但请不要使用它们。

Ecdcaeb commented 7 months ago

很抱歉这里出现了一些问题。难以进行修复性更新,请尝试CraftTweaker2-1.12-4.1.17.jar或者等待1.1.0的更新(这不会很快)。

zfms4188 commented 7 months ago

很抱歉这里出现了一些问题。难以进行修复性更新,请尝试CraftTweaker2-1.12-4.1.17.jar或者等待1.1.0的更新(这不会很快)。

大悲 部分附属需要使用最新版本 (

Ecdcaeb commented 7 months ago

https://github.com/Ecdcaeb/ResourceModLoader/releases/tag/1.0.9

Ecdcaeb commented 7 months ago

RML开发的CrT现已升级到4.1.20

zfms4188 commented 7 months ago

RML开发的CrT现已升级到4.1.20

测试使用正常!好!!! 不过看起来不支持子文件夹 以及需要提前注册的例如cot注册物品

Ecdcaeb commented 7 months ago

细说,我其实不会使用CrT

zfms4188 commented 7 months ago

细说,我其实不会使用CrT 子文件夹: crt读取scripts文件夹里的所有子文件夹内的脚本 (写大量脚本的时候可以很好的区分mod装不同文件夹里 效果大概就是crt/A/test1.zs和crt/B/test2.zs都可以加载才对 cot注册物品这个我也解释不清楚 我给你贴一下日志吧 https://pastebin.com/CY0Dipp1 cot:https://github.com/CraftTweaker/ContentTweaker

Ecdcaeb commented 7 months ago

进入子文件夹的问题来源于Forge。Forge加载配方不会进入子文件夹。我复用了这一部分的代码。 我重写了加载代码,现在它会进入子文件夹,且这一特性将适用于所有RML负责加载的内容。 至于cot我还会再看看。可能和第三方脚本加载器有关。(#loader)我解决一切后会发布1.0.10。

zfms4188 commented 7 months ago

进入子文件夹的问题来源于Forge。Forge加载配方不会进入子文件夹。我复用了这一部分的代码。 我重写了加载代码,现在它会进入子文件夹,且这一特性将适用于所有RML负责加载的内容。 至于cot我还会再看看。可能和第三方脚本加载器有关。(#loader)我解决一切后会发布1.0.10。

https://github.com/friendlyhj/ZenRecipeReloading 这个也使用它提供的加载器 我测试rml是可以正常载入的 可以看看

Ecdcaeb commented 7 months ago

CrT的脚本执行是分布多次进行的。 RML每次都为它注入了新的脚本,使得一个脚本在不同的加载时间运行多次。 较晚执行的那一次就触发了错误。

Ecdcaeb commented 7 months ago

等我做完最终测试,1.0.10就会发布。 同时,我注意到了cot的一个问题:cot注册的物品/方块,注册名的domain为contenttweaker。 我不知道是否有需要开放它使他适应于第三方domain,例如extra_recipe:zs_item 但是这么做破坏性和工作量极大,这么做是否有价值?或不更新?

zfms4188 commented 7 months ago

等我做完最终测试,1.0.10就会发布。 同时,我注意到了cot的一个问题:cot注册的物品/方块,注册名的domain为contenttweaker。 我不知道是否有需要开放它使他适应于第三方domain,例如extra_recipe:zs_item 但是这么做破坏性和工作量极大,这么做是否有价值?或不更新?

工作量太大 有点得不偿失 可以不进行兼容了感觉 标注一下不兼容cot吧

Ecdcaeb commented 7 months ago

这是另一个问题? 我解决了cot测试脚本,但是原来的合成表脚本报错了。

Ecdcaeb commented 7 months ago

等我做完最终测试,1.0.10就会发布。 同时,我注意到了cot的一个问题:cot注册的物品/方块,注册名的domain为contenttweaker。 我不知道是否有需要开放它使他适应于第三方domain,例如extra_recipe:zs_item 但是这么做破坏性和工作量极大,这么做是否有价值?或不更新?

工作量太大 有点得不偿失 可以不进行兼容了感觉 标注一下不兼容cot吧

这是另一个特性问题。可选的,我不做,它也可以像原来一样运行。

zfms4188 commented 7 months ago

等我做完最终测试,1.0.10就会发布。 同时,我注意到了cot的一个问题:cot注册的物品/方块,注册名的domain为contenttweaker。 我不知道是否有需要开放它使他适应于第三方domain,例如extra_recipe:zs_item 但是这么做破坏性和工作量极大,这么做是否有价值?或不更新?

工作量太大 有点得不偿失 可以不进行兼容了感觉 标注一下不兼容cot吧

这是另一个特性问题。可选的,我不做,它也可以像原来一样运行。

优先解决常规使用问题 cot兼容可以放放 太麻烦其实也不用特地兼容

Ecdcaeb commented 7 months ago

Hileb — 今天17:41 I am adding a recipe. But not successful. log here https://mclo.gs/dc73zbL mclo.gs Unknown Log [#dc73zbL] 82 lines script here https://mclo.gs/thATqJc mclo.gs Unknown Log [#thATqJc] 27 lines Jared (UTC-6) — 今天18:27 not sure where you get recipeevent for the loader from, I haven't seen that one before Witixin - Grab a #roles — 今天18:35 I think that's the "reloadable" loader added by some addon but I might be wrong kindlich — 今天18:38 You have a file called extra_recipe.zs that tries to register an item via ContentTweaker in line 15.

ContentTweaker stuff must happen in a dedicated file with #loader contenttweaker Hileb — 今天19:49 but, it was caused by the recipe register Hileb — 今天20:35 According to stack, it is invoked when RegisterEvent.Register be fired. It could not be late! Hileb — 今天20:35 It crt's own loader I get from log crafttweaker.mc1120.events.CommonEventHandler#registerRecipes 69 final ScriptLoader loader = CraftTweakerAPI.tweaker.getOrCreateLoader("crafttweaker", "recipeEvent");

kindlich — 今天20:40 Your log: [INITIALIZATION][CLIENT][ERROR] [crafttweaker]: Error executing {[0:recipeevent|crafttweaker]: extra_recipe}: ALL REGISTERING MUST HAPPEN BEFORE REGISTRY EVENT com.teamacronymcoders.base.exceptions.TooLateException: ALL REGISTERING MUST HAPPEN BEFORE REGISTRY EVENT at com.teamacronymcoders.base.registrysystem.Registry.register(Registry.java:45) at com.teamacronymcoders.base.registrysystem.ModularRegistry.register(ModularRegistry.java:73) at com.teamacronymcoders.base.registrysystem.ItemRegistry.register(ItemRegistry.java:32) at com.teamacronymcoders.contenttweaker.modules.vanilla.items.ItemRepresentation.register(ItemRepresentation.java:280) at Extra_recipe.script(extra_recipe:15) at ZenMain.run(Extra_recipe) at crafttweaker.runtime.CrTTweaker.loadScript(CrTTweaker.java:240) at crafttweaker.runtime.CrTTweaker.loadScript(CrTTweaker.java:105) at crafttweaker.mc1120.events.CommonEventHandler.registerRecipes(CommonEventHandler.java:71)

Let's go over that (since it's a stack-trace I'll start from the bottom). The CommonEventHandler's registerRecipes method was called since it tries to register recipes crafttweaker.mc1120.events.CommonEventHandler.registerRecipes(CommonEventHandler.java:71) That in turn loaded scripts up until the extra_recipe.zs file at Extra_recipe.script(extra_recipe:15) Inside that script you tried to register a contenttweaker ItemRepresentation (i.e. a new item via the VanillaFactory) at com.teamacronymcoders.contenttweaker.modules.vanilla.items.ItemRepresentation.register(ItemRepresentation.java:280) That in turn told you that the registerRecipes phase is too late to register new items. com.teamacronymcoders.base.exceptions.TooLateException: ALL REGISTERING MUST HAPPEN BEFORE REGISTRY EVENT

kindlich — 今天20:41 I don't know what your extra_recipes.zs file is, but it definitely contians more than what you sent there Hileb — 今天20:45 I might know what happened. two scripts, with same name, were loaded. The later one, what i show to you, was not loaded into ClassLoader since there was a exist class. So, the Item register was invoked when recipe event.

Ecdcaeb commented 7 months ago

RML不能把这些一起注入,而是需要一个一个地。 ScriptIteratorSingle

Ecdcaeb commented 7 months ago

Hileb — 今天21:03 It means only ScriptIteratorSingle could work normally.

好,问题真正的被解决了 在那之前,可以说,CrT并不被支持。

Ecdcaeb commented 7 months ago

我没有做任何的cot特殊支持,事实上。

Ecdcaeb commented 7 months ago

image

Ecdcaeb commented 7 months ago

Github releases : https://github.com/Ecdcaeb/ResourceModLoader/releases/tag/1.0.10 curseforge:

ResourceModLoader-1.0.10.jar | Release | Processing | just now -- | -- | -- | --
zfms4188 commented 7 months ago

Github releases : Github 发布 : https://github.com/Ecdcaeb/ResourceModLoader/releases/tag/1.0.10 curseforge: curseforge:

ResourceModLoader-1.0.10.jar | Release | Processing | just now -- | -- | -- | -- ResourceModLoader-1.0.10.jar | Release | Processing | just now -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | --

似乎在成就上出问题了? 加载世界时崩溃 https://pastebin.com/xSwd1J8c

Ecdcaeb commented 7 months ago

github下载文件更新 恕我只在开发环境测试,没有在实际环境。

Ecdcaeb commented 7 months ago

https://github.com/Ecdcaeb/ResourceModLoader/actions Github Action现在可用,在release前可以在这里获取快照。 如果问题解决,就Close这个issue。

zfms4188 commented 7 months ago

https://github.com/Ecdcaeb/ResourceModLoader/actions Github Action现在可用,在release前可以在这里获取快照。 如果问题解决,就Close这个issue。

漂亮 它现在可以正常进入游戏工作了 (不过似乎只能在启动前修改脚本了

https://github.com/friendlyhj/ZenRecipeReloading 此mod提供了一个在游戏内重载脚本的功能 更新rml0.10前 使用它的重载功能是可以生效的 现在无法生效了 `

reloadable

recipes.addShapeless( ,[,,]); ` 此时若我修改它 并于游戏内使用ct reload它应该应用我的修改才对

(可以稍微看一下 这个不是硬性要求 若太麻烦也可搁置

Ecdcaeb commented 7 months ago

https://github.com/Ecdcaeb/ResourceModLoader/actions Github Action现在可用,在release前可以在这里获取快照。 如果问题解决,就Close这个issue。

漂亮 它现在可以正常进入游戏工作了 (不过似乎只能在启动前修改脚本了

https://github.com/friendlyhj/ZenRecipeReloading 此mod提供了一个在游戏内重载脚本的功能 更新rml0.10前 使用它的重载功能是可以生效的 现在无法生效了 ` #reloadable

recipes.addShapeless(minecraft:diamond ,[minecraft:iron_block,minecraft:iron_block,minecraft:iron_block]); ` 此时若我修改它 并于游戏内使用ct reload它应该应用我的修改才对

(可以稍微看一下 这个不是硬性要求 若太麻烦也可搁置

你可以试一下action里的新快照。 image

如果可以,它将会是1.0.11

zfms4188 commented 7 months ago

https://github.com/Ecdcaeb/ResourceModLoader/actions Github Action现在可用,在release前可以在这里获取快照。 如果问题解决,就Close这个issue。

漂亮 它现在可以正常进入游戏工作了 (不过似乎只能在启动前修改脚本了 https://github.com/friendlyhj/ZenRecipeReloading 此mod提供了一个在游戏内重载脚本的功能 更新rml0.10前 使用它的重载功能是可以生效的 现在无法生效了 #reloadable recipes.addShapeless(minecraft:diamond ,[minecraft:iron_block,minecraft:iron_block,minecraft:iron_block]); 此时若我修改它 并于游戏内使用ct reload它应该应用我的修改才对 (可以稍微看一下 这个不是硬性要求 若太麻烦也可搁置

你可以试一下action里的新快照。 image

如果可以,它将会是1.0.11

我试了一下早上最新的 他一切正常 工作良好 棒!