Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[SOLVED][1.15] What replaces IModel.retexture ?


ShetiPhian
 Share

Recommended Posts

I'm updating a few multipart blocks that use the texture of the blocks they where crafted with, but have gotten stuck on how to retexture the models.

 

While the sub models are combining and rendering correctly (minus textures) I figure listing what I've done may help.

 

Switched from IModelLoader to IModelLoader, and redirected the json files.

Had to switch to IModelGeometry from IUnbakedModel, and with the loss of getDependencies the extra models are now loaded via ModelLoader.addSpecialModel during FMLClientSetupEvent.

 

I'm still using a IBakedModel just called from IModelGeometry.bake now. 

In the getQuads method I'm pulling the a list of submodels and textures from the IModelData (which is set in the tileentity)

The needed submodels are looped over getting each IUnbakedModel via ModelLoader.instance().getModelOrMissing   (was using ModelLoaderRegistry.getModel before)

At this point I retextured the model via IModel.retexture then baked the submodel, but currently am only baking the model.

Finally adding all the quads and returning the list

 

The only thing I haven't found the replacement for is retexture.

I have the model's resource location, and a Map of keys(string) and textures(resource location in string form)

 

 

Edit:

I have a working solution, don't believe its the best one, but its something for now.

Just created a wrapper around BlockModel that overrides resolveTextureName.

Edited by ShetiPhian
Added info
Link to comment
Share on other sites

  • 1 month later...

Ran into this issue again, 

The wrapper works perfectly with json models, but it doesn't work on obj models.

 

Is there a way to retexture an obj model that I'm just not seeing?

 

Ignore;

for anyone wondering, I forgot to add the # in front of the texture name in the mtl file.

Edited by ShetiPhian
Link to comment
Share on other sites

  • ShetiPhian changed the title to [SOLVED][1.15] What replaces IModel.retexture ?

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

    • As title says. Already had to get some work arounds to get java working, and I don't have the ability to upgrade to windows 10.
    • I am having an issue running a server with my mod. I know that I am reaching across sides somewhere in my Mod, but could not find where this error is occurring in my mod. The crash report that I have attached below mentioned that it involved the LocalPlayer. However, when I searched my mod for LocalPlayer, I only found one case in the event that I have attached below. Can you find where I errored?   Crash Report: ---- Minecraft Crash Report ---- // I bet Cylons wouldn't have this problem. Time: 1/17/22, 8:10 PM Description: Mod loading error has occurred java.lang.Exception: Mod Loading has failed at net.minecraftforge.logging.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:69) ~[forge-1.18-38.0.17_mapped_official_1.18-recomp.jar%2376%2382!:?] {re:classloading} at net.minecraftforge.server.loading.ServerModLoader.load(ServerModLoader.java:53) ~[forge-1.18-38.0.17_mapped_official_1.18-recomp.jar%2376%2382!:?] {re:classloading} at net.minecraft.server.Main.main(Main.java:104) ~[forge-1.18-38.0.17_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {} at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {} at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {} at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {} at net.minecraftforge.fml.loading.targets.ForgeServerUserdevLaunchHandler.lambda$launchService$0(ForgeServerUserdevLaunchHandler.java:16) ~[fmlloader-1.18-38.0.17.jar%230!:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.0.24.jar%2310!:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.0.24.jar%2310!:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.0.24.jar%2310!:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.0.24.jar%2310!:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.0.24.jar%2310!:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.0.24.jar%2310!:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.0.24.jar%2310!:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:90) [bootstraplauncher-0.1.17.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: main Stacktrace: at net.minecraftforge.fml.loading.RuntimeDistCleaner.processClassWithFlags(RuntimeDistCleaner.java:71) ~[fmlloader-1.18-38.0.17.jar%230!:1.0] {} -- MOD examplemod -- Details: Mod File: main Failure message: Example Mod (examplemod) has failed to load correctly java.lang.RuntimeException: Attempted to load class net/minecraft/client/player/LocalPlayer for invalid dist DEDICATED_SERVER Mod Version: 3.0 Mod Issue URL: NOT PROVIDED Exception message: java.lang.RuntimeException: Attempted to load class net/minecraft/client/player/LocalPlayer for invalid dist DEDICATED_SERVER Stacktrace: at net.minecraftforge.fml.loading.RuntimeDistCleaner.processClassWithFlags(RuntimeDistCleaner.java:71) ~[fmlloader-1.18-38.0.17.jar:1.0] {} at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-9.0.7.jar:?] {} at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-9.0.7.jar:?] {} at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-9.0.7.jar:?] {} at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:110) ~[securejarhandler-0.9.54.jar:?] {} at cpw.mods.cl.ModuleClassLoader.lambda$findClass$16(ModuleClassLoader.java:213) ~[securejarhandler-0.9.54.jar:?] {} at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:223) ~[securejarhandler-0.9.54.jar:?] {} at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:213) ~[securejarhandler-0.9.54.jar:?] {} at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:130) ~[securejarhandler-0.9.54.jar:?] {} at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] {} at java.lang.Class.forName0(Native Method) ~[?:?] {} at java.lang.Class.forName(Class.java:467) ~[?:?] {} at net.minecraftforge.fml.javafmlmod.AutomaticEventSubscriber.lambda$inject$6(AutomaticEventSubscriber.java:75) ~[javafmllanguage-1.18-38.0.17.jar%2378!:?] {} at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?] {} at net.minecraftforge.fml.javafmlmod.AutomaticEventSubscriber.inject(AutomaticEventSubscriber.java:62) ~[javafmllanguage-1.18-38.0.17.jar%2378!:?] {} at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:91) ~[javafmllanguage-1.18-38.0.17.jar%2378!:?] {} at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[fmlcore-1.18-38.0.17.jar%2380!:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {} at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {} at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {} at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {} -- System Details -- Details: Minecraft Version: 1.18 Minecraft Version ID: 1.18 Operating System: Windows 10 (amd64) version 10.0 Java Version: 17.0.1, Eclipse Adoptium Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium Memory: 320780752 bytes (305 MiB) / 1127219200 bytes (1075 MiB) up to 2122317824 bytes (2024 MiB) CPUs: 4 Processor Vendor: GenuineIntel Processor Name: Intel(R) Core(TM) i3-7020U CPU @ 2.30GHz Identifier: Intel64 Family 6 Model 142 Stepping 9 Microarchitecture: Amber Lake Frequency (GHz): 2.30 Number of physical packages: 1 Number of physical CPUs: 2 Number of logical CPUs: 4 Graphics card #0 name: Intel(R) HD Graphics 620 Graphics card #0 vendor: Intel Corporation (0x8086) Graphics card #0 VRAM (MB): 1024.00 Graphics card #0 deviceId: 0x5921 Graphics card #0 versionInfo: DriverVersion=27.20.100.9664 Memory slot #0 capacity (MB): 8192.00 Memory slot #0 clockSpeed (GHz): 2.67 Memory slot #0 type: DDR4 Virtual memory max (MB): 16427.04 Virtual memory used (MB): 10800.33 Swap memory total (MB): 8334.11 Swap memory used (MB): 434.15 JVM Flags: 1 total; -XX:+ShowCodeDetailsInExceptionMessages ModLauncher: 9.0.24+9.0.24+main.7be9f01d ModLauncher launch target: forgeserveruserdev ModLauncher naming: mcp ModLauncher services: mixin PLUGINSERVICE eventbus PLUGINSERVICE object_holder_definalize PLUGINSERVICE runtime_enum_extender PLUGINSERVICE capability_token_subclass PLUGINSERVICE accesstransformer PLUGINSERVICE runtimedistcleaner PLUGINSERVICE mixin TRANSFORMATIONSERVICE fml TRANSFORMATIONSERVICE FML Language Providers: minecraft@1.0 javafml@null Mod List: forge-1.18-38.0.17_mapped_official_1.18-recomp.jar|Minecraft |minecraft |1.18 |COMMON_SET|Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f main |Example Mod |examplemod |3.0 |ERROR |Manifest: NOSIGNATURE |Forge |forge |38.0.17 |COMMON_SET|Manifest: NOSIGNATURE Crash Report UUID: a2d945ef-ef76-4bb1-ac09-f2b263e52519 FML: 38.0 Forge: net.minecraftforge:38.0.17 Mod Event with LocalPlayer: @SubscribeEvent public static void renderGameOverlay(RenderGameOverlayEvent.Post event) { if(!(Thread.currentThread().getThreadGroup() == SidedThreadGroups.SERVER)) { Minecraft mc = Minecraft.getInstance(); LocalPlayer player = mc.player; if (mc.gameMode.canHurtPlayer() && event.getType() == RenderGameOverlayEvent.ElementType.ALL) { ModRender renderer = new ModRender(Minecraft.getInstance()); renderer.renderToolbars(Minecraft.getInstance(), player); } } }  
    • That's because redstone doesn't use tile entities. It's all handled by blockstates. There's no way to achieve what you want as far as I know.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.