Forge + Fabric

159
3
22
Еще один из плюсов этого проекта - свои, открытые маппинги. У них есть инструмент, называемый Enigma - это оконное приложение, в котором вы можете изменять имена классов/полей и т.д., и сохранять внесенные изменениения. Полученные маппинги можете например отправить на рассмотрение как PR

 
Ну к слову о работе модификации на Fabric и Forge, есть еще одна API'шка (все это напоминает шутку про множество стандартов, а хотят придумать еще один ЕДИНЫЙ стандарт) Architectury. Суть в том, чтобы изначально создавать мод на этом API, а его можно уже портировать спокойно на Fabric и Forge.
 
Принцип работы: берется джарник форжевского мода, патичтся специальным патчером, закидывается к модам. Также в папку с модами закидывается Patchwork API, что есть реализация апи форджа
А где патчер для форджа взять тогда? Он там же на гитхабе?
 
6,085
224
1,175
Лично мне больше нравится полное абстрагирование. Забыть про портировании модов на новые версии майна того стоит
 

tox1cozZ

aka Agravaine
Модератор
7,520
484
2,337
Да, было бы прикольно такое API. У WorldEdit так сделано. В итоге вместо добрых пары сотен классов нужно править всего штук 10-12, и то совсем базовые вещи.
 
@fewizz программе нужно дать установщик форджа или extract-версию?
ЮПД: я закидывал в созданную патчером папку input и универсальную версию с сайта, и extract-версию с установщика. При активации ничего не происходит
 
Последнее редактирование:
159
3
22
Туда нужно мод закидывать.
Он перепатчит его.
Кидаешь в папку с модами, + кидаешь patchwork api.
Запускаешь как обычно запускают с модами под fabric
profit
 
Туда нужно мод закидывать.
Он перепатчит его.
Кидаешь в папку с модами, + кидаешь patchwork api.
Запускаешь как обычно запускают с модами под fabric
profit
Я и мод для форджа закидывал туда. Патчер создаёт папку data, а в папке output ничего не появляется
Или пропатченный мод остаётся в папке input?
 
Походу, оно не все модификации поддерживает
Код:
---- Minecraft Crash Report ----
// Who set us up the TNT?

Time: 15.01.21 0:20
Description: Exception ticking world

java.lang.NoSuchMethodError: net.minecraft.world.server.ChunkManager$ProxyTicketManager.shouldForceTicks(J)Z
    at net.minecraft.world.server.ServerChunkProvider.lambda$tickChunks$5(ServerChunkProvider.java:356) ~[?:?] {re:classloading,pl:accesstransformer:B}
    at net.minecraft.world.server.ServerChunkProvider$$Lambda$5211/1510097946.accept(Unknown Source) ~[?:?] {}
    at java.util.ArrayList.forEach(ArrayList.java:1249) ~[?:1.8.0_51] {}
    at net.minecraft.world.server.ServerChunkProvider.func_217220_m(ServerChunkProvider.java:346) ~[?:?] {re:classloading,pl:accesstransformer:B}
    at net.minecraft.world.server.ServerChunkProvider.func_217207_a(ServerChunkProvider.java:321) ~[?:?] {re:classloading,pl:accesstransformer:B}
    at net.minecraft.world.server.ServerWorld.func_72835_b(ServerWorld.java:333) ~[?:?] {re:classloading}
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:850) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:786) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:118) ~[?:?] {re:mixin,re:classloading,xf:OptiFine:default,pl:mixin:APP:smoothboot.mixins.json:client.IntegratedServerMixin,pl:mixin:A}
    at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:641) [?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:232) [?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer$$Lambda$4829/843857621.run(Unknown Source) [?:?] {}
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] {}


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Server thread
Stacktrace:
    at net.minecraft.world.server.ServerChunkProvider.lambda$tickChunks$5(ServerChunkProvider.java:356) ~[?:?] {re:classloading,pl:accesstransformer:B}
    at net.minecraft.world.server.ServerChunkProvider$$Lambda$5211/1510097946.accept(Unknown Source) ~[?:?] {}
    at java.util.ArrayList.forEach(ArrayList.java:1249) ~[?:1.8.0_51] {}
    at net.minecraft.world.server.ServerChunkProvider.func_217220_m(ServerChunkProvider.java:346) ~[?:?] {re:classloading,pl:accesstransformer:B}
    at net.minecraft.world.server.ServerChunkProvider.func_217207_a(ServerChunkProvider.java:321) ~[?:?] {re:classloading,pl:accesstransformer:B}
    at net.minecraft.world.server.ServerWorld.func_72835_b(ServerWorld.java:333) ~[?:?] {re:classloading}
-- Affected level --
Details:
    All players: 0 total; []
    Chunk stats: ServerChunkCache: 2025
    Level dimension: minecraft:overworld
    Level spawn location: World: (-112,68,160), Chunk: (at 0,4,0 in -7,10; contains blocks -112,0,160 to -97,255,175), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
    Level time: 1 game time, 1 day time
    Level name: Новый мир
    Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
    Level weather: Rain time: 94967 (now: false), thunder time: 12858 (now: false)
    Known server brands: forge
    Level was modded: true
    Level storage version: 0x04ABD - Anvil
Stacktrace:
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:850) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:786) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:118) ~[?:?] {re:mixin,re:classloading,xf:OptiFine:default,pl:mixin:APP:smoothboot.mixins.json:client.IntegratedServerMixin,pl:mixin:A}
    at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:641) [?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:232) [?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer$$Lambda$4829/843857621.run(Unknown Source) [?:?] {}
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] {}


-- System Details --
Details:
    Minecraft Version: 1.16.4
    Minecraft Version ID: 1.16.4
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_51, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 403956720 bytes (385 MB) / 805306368 bytes (768 MB) up to 2147483648 bytes (2048 MB)
    CPUs: 4
    JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
    ModLauncher: 8.0.6+85+master.325de55
    ModLauncher launch target: fmlclient
    ModLauncher naming: srg
    ModLauncher services:
        /mixin-0.8.2.jar mixin PLUGINSERVICE
        /eventbus-3.0.5-service.jar eventbus PLUGINSERVICE
        /forge-1.16.4-35.1.36.jar object_holder_definalize PLUGINSERVICE
        /forge-1.16.4-35.1.36.jar runtime_enum_extender PLUGINSERVICE
        /accesstransformers-2.2.0-shadowed.jar accesstransformer PLUGINSERVICE
        /forge-1.16.4-35.1.36.jar capability_inject_definalize PLUGINSERVICE
        /forge-1.16.4-35.1.36.jar runtimedistcleaner PLUGINSERVICE
        /mixin-0.8.2.jar mixin TRANSFORMATIONSERVICE
        /OptiFine_1.16.4_HD_U_G5.jar OptiFine TRANSFORMATIONSERVICE
        /forge-1.16.4-35.1.36.jar fml TRANSFORMATIONSERVICE
    FML: 35.1
    Forge: net.minecraftforge:35.1.36
    FML Language Providers:
        javafml@35.1
        minecraft@1
    Mod List:
        forge-1.16.4-35.1.36-client.jar                   |Minecraft                     |minecraft                     |1.16.4              |DONE      |NOSIGNATURE
        smoothboot-forge-1.16.4-1.2.0.jar                 |Smooth Boot                   |smoothboot                    |1.16.4-1.2.0        |DONE      |NOSIGNATURE
        Ding-1.16.3-1.2.0.jar                             |Ding                          |ding                          |1.2.0               |DONE      |NOSIGNATURE
        BetterPvP_20.29.0_Forge_1.16.4.jar                |Better PVP Mod                |xaerobetterpvp                |20.29.0             |DONE      |NOSIGNATURE
        forge-1.16.4-35.1.36-universal.jar                |Forge                         |forge                         |35.1.36             |DONE      |22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90
        overloadedarmorbar-5.1.0.jar                      |Overloaded Armor Bar          |overloadedarmorbar            |5.1.0               |DONE      |NOSIGNATURE
        ferritecore-1.1.1.jar                             |Ferrite Core                  |ferritecore                   |1.1.1               |DONE      |41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a
        DynamicSurroundings-1.16.4-4.0.3.3.jar            |§3Dynamic Surroundings        |dsurround                     |1.16.4-4.0.3.3      |DONE      |b4:98:14:b9:76:55:25:4f:e5:5f:4d:71:90:87:43:5b:f9:d5:3a:02:60:42:5e:da:1f:15:9c:ff:be:a9:7c:77
        DataFixerSlayer+1.0-3.jar                         |DataFixerSlayer               |datafixerslayer               |1.0-3               |DONE      |NOSIGNATURE
        Clumps-6.0.0.13.jar                               |Clumps                        |clumps                        |6.0.0.13            |DONE      |NOSIGNATURE
    Crash Report UUID: ccc850a8-a17f-41cf-9eba-fe302d5b715d
    Player Count: 0 / 8; []
    Data Packs: vanilla, mod:smoothboot, mod:ding, mod:xaerobetterpvp, mod:forge, mod:overloadedarmorbar (incompatible), mod:ferritecore (incompatible), mod:dsurround (incompatible), mod:datafixerslayer (incompatible), mod:clumps
    Type: Integrated Server (map_client.txt)
    Is Modded: Definitely; Client brand changed to 'forge'
    OptiFine Version: OptiFine_1.16.4_HD_U_G5
    OptiFine Build: 20201106-171901
    Render Distance Chunks: 8
    Mipmaps: 4
    Anisotropic Filtering: 1
    Antialiasing: 0
    Multitexture: false
    Shaders: null
    OpenGlVersion: 4.6.0 NVIDIA 425.31
    OpenGlRenderer: GeForce GT 740M/PCIe/SSE2
    OpenGlVendor: NVIDIA Corporation
    CpuCount: 4
 
159
3
22
Конечно же не все, уже писал об этом. Там и половины не реализовано, так что проект сложно назвать играбельным.
По другому заставить работать фордж моды не получится. Теоретически возможно запустить фл над патченным форджем майном, но практически это сложно выполнимо.
 
Сверху