Jump to content

Vanilla base mod -> forge conversion


Kilkio
 Share

Recommended Posts

I have written a simple mod for my server but it requires base classes to be replaced and as such is not compatible with Forge.

 

I have had a quick look into converting it to be Forge compatible using ASM, but it is far too advanced for me.

 

The mod is extremely simple but does require patching or overriding of two vanilla methods.

 

If anyone is willing to convert what I have to Forge, it would be greatly appreciated and you will be compensated financially.

 

Sending me a PM is probably best and then we can get in contact.

 

I didn't find this to be against any of the Forge forum rules, but apologies if it is.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • yo.  i wanted to make a server with mods and now idk what to do. I think better weather is to blame but IDK. PLS HELP crash:  java.lang.NoSuchMethodError: 'void corgitaco.betterweather.api.weather.WeatherEvent.setClient(corgitaco.betterweather.api.client.WeatherEventClient)'     at corgitaco.betterweather.weather.BWWeatherEventContext.lambda$new$6(BWWeatherEventContext.java:108) ~[betterweather-1.2.jar%23207!/:1.0.0] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}     at java.util.HashMap.forEach(HashMap.java:1421) ~[?:?] {re:mixin}     at corgitaco.betterweather.weather.BWWeatherEventContext.<init>(BWWeatherEventContext.java:107) ~[betterweather-1.2.jar%23207!/:1.0.0] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.server.players.PlayerList.handler$zdd000$sendContext(PlayerList.java:950) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,re:classloading,pl:mixin:APP:betterweather.mixins.json:network.MixinPlayerList,pl:mixin:APP:enhancedcelestials.mixins.json:MixinPlayerList,pl:mixin:APP:assets/better_respawn/better_respawn.mixins.json:PlayerListMixin,pl:mixin:A}     at net.minecraft.server.players.PlayerList.m_11229_(PlayerList.java) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,re:classloading,pl:mixin:APP:betterweather.mixins.json:network.MixinPlayerList,pl:mixin:APP:enhancedcelestials.mixins.json:MixinPlayerList,pl:mixin:APP:assets/better_respawn/better_respawn.mixins.json:PlayerListMixin,pl:mixin:A}     at net.minecraft.server.players.PlayerList.m_11261_(PlayerList.java:200) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,re:classloading,pl:mixin:APP:betterweather.mixins.json:network.MixinPlayerList,pl:mixin:APP:enhancedcelestials.mixins.json:MixinPlayerList,pl:mixin:APP:assets/better_respawn/better_respawn.mixins.json:PlayerListMixin,pl:mixin:A}     at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_143699_(ServerLoginPacketListenerImpl.java:156) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_10055_(ServerLoginPacketListenerImpl.java:143) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_9933_(ServerLoginPacketListenerImpl.java:75) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.network.Connection.m_129483_(Connection.java:248) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:classloading}     at net.minecraft.server.network.ServerConnectionListener.m_9721_(ServerConnectionListener.java:143) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:classloading}     at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:880) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at net.minecraft.server.dedicated.DedicatedServer.m_5703_(DedicatedServer.java:292) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:806) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:654) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:244) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at java.lang.Thread.run(Thread.java:833) [?:?] {}
    • yo.  i wanted to make a server with mods and now idk what to do. I think better weather is to blame but IDK. PLS HELP crash:  java.lang.NoSuchMethodError: 'void corgitaco.betterweather.api.weather.WeatherEvent.setClient(corgitaco.betterweather.api.client.WeatherEventClient)'     at corgitaco.betterweather.weather.BWWeatherEventContext.lambda$new$6(BWWeatherEventContext.java:108) ~[betterweather-1.2.jar%23207!/:1.0.0] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}     at java.util.HashMap.forEach(HashMap.java:1421) ~[?:?] {re:mixin}     at corgitaco.betterweather.weather.BWWeatherEventContext.<init>(BWWeatherEventContext.java:107) ~[betterweather-1.2.jar%23207!/:1.0.0] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.server.players.PlayerList.handler$zdd000$sendContext(PlayerList.java:950) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,re:classloading,pl:mixin:APP:betterweather.mixins.json:network.MixinPlayerList,pl:mixin:APP:enhancedcelestials.mixins.json:MixinPlayerList,pl:mixin:APP:assets/better_respawn/better_respawn.mixins.json:PlayerListMixin,pl:mixin:A}     at net.minecraft.server.players.PlayerList.m_11229_(PlayerList.java) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,re:classloading,pl:mixin:APP:betterweather.mixins.json:network.MixinPlayerList,pl:mixin:APP:enhancedcelestials.mixins.json:MixinPlayerList,pl:mixin:APP:assets/better_respawn/better_respawn.mixins.json:PlayerListMixin,pl:mixin:A}     at net.minecraft.server.players.PlayerList.m_11261_(PlayerList.java:200) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,re:classloading,pl:mixin:APP:betterweather.mixins.json:network.MixinPlayerList,pl:mixin:APP:enhancedcelestials.mixins.json:MixinPlayerList,pl:mixin:APP:assets/better_respawn/better_respawn.mixins.json:PlayerListMixin,pl:mixin:A}     at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_143699_(ServerLoginPacketListenerImpl.java:156) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_10055_(ServerLoginPacketListenerImpl.java:143) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_9933_(ServerLoginPacketListenerImpl.java:75) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:classloading,pl:accesstransformer:B}     at net.minecraft.network.Connection.m_129483_(Connection.java:248) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:classloading}     at net.minecraft.server.network.ServerConnectionListener.m_9721_(ServerConnectionListener.java:143) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:classloading}     at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:880) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at net.minecraft.server.dedicated.DedicatedServer.m_5703_(DedicatedServer.java:292) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:806) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:654) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:244) ~[server-1.19.2-20220805.130853-srg.jar%23291!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:A}     at java.lang.Thread.run(Thread.java:833) [?:?] {}
    • I've got no solution for this particular way. But may I suggest? You can create one singular item and store the entity's data using NBT or Capability. It will make things easier and cleaner.
    • REM Forge requires a configured set of both JVM and program arguments. REM Add custom JVM arguments to the user_jvm_args.txt REM Add custom program arguments {such as nogui} to this file in the next line before the %* or REM  pass them to this script directly "C:\Program Files\Java\jdk-17\bin\Java.exe" @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.18.2-40.1.80/win_args.txt -Xmx8G -Xms8G %* pause     so I used it.
    • I created an SOUL_JAR Item that has been registered for each mob like - mod:soul_jar_minecraft_cow etc.. but it all has different registry names, i have a model file name soul_jar.json and i want to know how to bind each of those items to this class (When mod iterates through all of vanilla mobs and registering items for them).   I didn't found any info about it because all of info is outdated, and forge docs is complicated asf (i wish there would be more examples) i also used AI but it showing me only outdated info, but theres some code where i registering my item and trying to bind it to model ->   public static void register(IEventBus eventBus){ ITEMS.register(eventBus); Set<ResourceLocation> entityKeyList = ForgeRegistries.ENTITY_TYPES.getKeys(); for (ResourceLocation k : entityKeyList) { EntityType<?> entityType = ForgeRegistries.ENTITY_TYPES.getValue(k); if (!entityType.getCategory().equals(MobCategory.MISC)) { RegistryObject<Item> SOUL_JAR = ITEMS.register("soul_jar" + '_' + k.toString().replace(':', '_').replace('.', '_'), () -> new JarItem(new Item.Properties().rarity(Rarity.RARE).tab(ModTabs.MAGICAL_OBSESSION_JARS), entityType)); if (Thread.currentThread().getThreadGroup() == SidedThreadGroups.CLIENT) { ItemModelShaper itemModelShaper = Minecraft.getInstance().getItemRenderer().getItemModelShaper(); itemModelShaper.register(SOUL_JAR.get().asItem(), new ModelResourceLocation("item.soul_jar", "inventory")); } } } } I also have more questions like how to iterate through all other mods mobs also, or render mob inside of a jar in inventory, but i will try to figure it out.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.