Jump to content

MWR

Members
  • Posts

    44
  • Joined

  • Last visited

Everything posted by MWR

  1. Yes, that was the issue. There are multiple mavens to get the JEI. If the first one fails, then it falls back to the next. For whatever reason, it didn't fall back, so I cut out this chunk in the build.gradle repositories for JEI: maven { // location of the maven that hosts JEI files before January 2023 name = "Progwml6's maven" url = "https://dvs1.progwml6.com/files/maven/" } Thank you so much!
  2. First, I'd run the .msi again and then click Change. Make sure the JDK is added to the PATH as set as the JAVA_HOME variable. You set both by checking that each "Will be installed on local hard drive". Additionally, I'm not sure if it matters, but 1.16.5 uses Java 8, so if you installed the JDK for Java 17, maybe you have to install the JDK for Java 8 instead.
  3. I got a new PC and am in the process of transferring my mod's code to it. I pulled my files from Github and ran genEclipseRuns --refresh-dependencies, but I get the error "Could not resolve all files for configuration ':runtimeClasspathCopy'." Below is the stacktrace. If it is helpful to know, my mod has a required dependency of the Create Mod, and this project also has JEI for testing purposes. https://gist.github.com/MWR27/e906b5016bb263b843015ee01c573562 Thank you in advance.
  4. I solved the problem! I found online I needed to add this code under both client and server blocks in the runs block and then run genEclipseRuns: property 'mixin.env.remapRefMap', 'true' property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
  5. I'm developing an add-on to the Create mod, but the game keeps crashing on startup. I followed the mod's wiki to add the dependency, but I get this error log: [05Jun2023 16:15:57.159] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeclientuserdev, --version, MOD_DEV, --assetIndex, 1.19, --assetsDir, C:\Users\MWR\.gradle\caches\forge_gradle\assets, --gameDir, ., --fml.forgeVersion, 43.2.13, --fml.mcVersion, 1.19.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220805.130853] [05Jun2023 16:15:57.163] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.8+10.0.8+main.0ef7e830 starting: java version 17.0.3 by Eclipse Adoptium; OS Windows 10 arch amd64 version 10.0 [05Jun2023 16:15:57.317] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/MWR/.gradle/caches/modules-2/files-2.1/org.spongepowered/mixin/0.8.5/9d1c0c3a304ae6697ecd477218fa61b850bf57fc/mixin-0.8.5.jar%23126!/ Service=ModLauncher Env=CLIENT [05Jun2023 16:15:57.677] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\MWR\.gradle\caches\modules-2\files-2.1\net.minecraftforge\javafmllanguage\1.19.2-43.2.13\4c4eb96019f86eb5e13b07d7883e42a65fa115f8\javafmllanguage-1.19.2-43.2.13.jar is missing mods.toml file [05Jun2023 16:15:57.681] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\MWR\.gradle\caches\modules-2\files-2.1\net.minecraftforge\lowcodelanguage\1.19.2-43.2.13\25c6cd925345caa29e6eb180fe94efb6c639d9b2\lowcodelanguage-1.19.2-43.2.13.jar is missing mods.toml file [05Jun2023 16:15:57.685] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\MWR\.gradle\caches\modules-2\files-2.1\net.minecraftforge\mclanguage\1.19.2-43.2.13\3b55e4c2f4e379205750def16e02cc90f7ef066b\mclanguage-1.19.2-43.2.13.jar is missing mods.toml file [05Jun2023 16:15:57.689] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\MWR\.gradle\caches\modules-2\files-2.1\net.minecraftforge\fmlcore\1.19.2-43.2.13\dfb834c64df3ba0ffcc1d0596b9629fab99efc5c\fmlcore-1.19.2-43.2.13.jar is missing mods.toml file [05Jun2023 16:15:57.837] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: No dependencies to load found. Skipping! [05Jun2023 16:15:59.506] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [05Jun2023 16:15:59.511] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeclientuserdev' with arguments [--version, MOD_DEV, --gameDir, ., --assetsDir, C:\Users\MWR\.gradle\caches\forge_gradle\assets, --assetIndex, 1.19] [05Jun2023 16:15:59.720] [main/WARN] [mixin/]: Error loading class: me/jellysquid/mods/sodium/client/render/chunk/data/ChunkRenderData$Builder (java.lang.ClassNotFoundException: me.jellysquid.mods.sodium.client.render.chunk.data.ChunkRenderData$Builder) [05Jun2023 16:15:59.720] [main/WARN] [mixin/]: @Mixin target me.jellysquid.mods.sodium.client.render.chunk.data.ChunkRenderData$Builder was not found flywheel.mixins.json:instancemanage.SodiumChunkRenderDataMixin [05Jun2023 16:16:00.667] [pool-3-thread-1/FATAL] [mixin/]: Mixin apply failed create.mixins.json:EntityMixin -> net.minecraft.world.entity.Entity: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Critical injection failure: @Inject annotation on create$onFireImmune could not find any targets matching 'Lnet/minecraft/world/entity/Entity;m_5825_()Z' in net.minecraft.world.entity.Entity. Using refmap create.refmap.json [PREINJECT Applicator Phase -> create.mixins.json:EntityMixin -> Prepare Injections -> -> handler$zbb000$create$onFireImmune(Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V -> Parse] org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @Inject annotation on create$onFireImmune could not find any targets matching 'Lnet/minecraft/world/entity/Entity;m_5825_()Z' in net.minecraft.world.entity.Entity. Using refmap create.refmap.json [PREINJECT Applicator Phase -> create.mixins.json:EntityMixin -> Prepare Injections -> -> handler$zbb000$create$onFireImmune(Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V -> Parse] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.validateTargets(InjectionInfo.java:656) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findTargets(InjectionInfo.java:587) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.readAnnotation(InjectionInfo.java:330) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:316) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:308) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.CallbackInjectionInfo.<init>(CallbackInjectionInfo.java:46) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo$InjectorEntry.create(InjectionInfo.java:149) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.parse(InjectionInfo.java:708) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1311) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1042) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:393) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:383) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:365) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.8.jar:10.0.8+10.0.8+main.0ef7e830] at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.8.jar:?] at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.8.jar:?] at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.4.jar:?] at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.4.jar:?] at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.4.jar:?] at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.4.jar:?] at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.4.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] at net.minecraftforge.registries.GameData.init(GameData.java:110) ~[forge-1.19.2-43.2.13_mapped_parchment_2022.11.27-1.19.2-recomp.jar%23187%23194!/:?] at net.minecraftforge.registries.GameData.<clinit>(GameData.java:95) ~[forge-1.19.2-43.2.13_mapped_parchment_2022.11.27-1.19.2-recomp.jar%23187%23194!/:?] at net.minecraft.core.Registry.forge(Registry.java:438) ~[forge-1.19.2-43.2.13_mapped_parchment_2022.11.27-1.19.2-recomp.jar%23188!/:?] at net.minecraft.core.Registry.forge(Registry.java:422) ~[forge-1.19.2-43.2.13_mapped_parchment_2022.11.27-1.19.2-recomp.jar%23188!/:?] at net.minecraft.core.Registry.<clinit>(Registry.java:186) ~[forge-1.19.2-43.2.13_mapped_parchment_2022.11.27-1.19.2-recomp.jar%23188!/:?] at net.minecraft.server.Bootstrap.bootStrap(Bootstrap.java:47) ~[forge-1.19.2-43.2.13_mapped_parchment_2022.11.27-1.19.2-recomp.jar%23188!/:?] at net.minecraft.client.main.Main.lambda$run$0(Main.java:145) ~[forge-1.19.2-43.2.13_mapped_parchment_2022.11.27-1.19.2-recomp.jar%23188!/:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?] at java.lang.Thread.run(Thread.java:833) [?:?] Thank you in advance for your help.
  6. So then maybe config file is the way to go.
  7. Hmmmm… By loading the tag, do you mean when the game is initially loaded or when something is trying to access the tag?
  8. No, my idea was that the tag just stores the names of the patterns. So for example, in tags/emblem_pattern/patterns.json: { "values": [ "border", "square", … ] }
  9. I really don't know if I need the registry to hold anything. I just want it so I can put emblems under the tags folder. If I can't do that, I won't. My pre-made emblem patterns currently are not registered and are simply textures. I ran into problems with this method when creating a menu with all the patterns. I need some way to store them, and I want them to be easily expandable. I thought of config files, but datapacks seem more user-friendly. If the menu only appears in-game when you click on the special block, then I don't see a need to register anything. The packs are already loaded at that point, so my idea was for the menu to access the list of patterns, whether it be in a JSON or config file, to get whatever information it needed. I prefer to go the datapack route, so if I need a registry to create a new tag type, can I create one without filling it?
  10. So to be clear, to make a new tag type, alongside "blocks", "fluids", "items", etc., I need a registry, right? I want to have a directory just for emblems in the tags folder.
  11. I'm making a mod that lets you add an emblem to your armor. You can make your own by combining patterns like banners. However, I also want it to be possible to add your own patterns without Java code. I thought of make a custom tag that contains all the patterns, but they're not items. They're just PNGs, and if I understand correctly, I would need to create a custom registry to create the custom TagKey. Is there a better/simpler way to achieve this?
  12. I'm making a new layer on a player to render an emblem on armor, but I don't know which Render Type to use. There are so many, and I don't know what each do. Thanks in advance.
  13. After a lot of digging, I've concluded the best way to go about this is not combining textures, as that is impossible during runtime, but to add a render layer. I've been trying to understand how the rendering works, but I don't know what buffers are, like this one in HorseMarkingLayer: public void render(PoseStack p_117058_, MultiBufferSource p_117059_, int p_117060_, Horse p_117061_, float p_117062_, float p_117063_, float p_117064_, float p_117065_, float p_117066_, float p_117067_) { ResourceLocation resourcelocation = LOCATION_BY_MARKINGS.get(p_117061_.getMarkings()); if (resourcelocation != null && !p_117061_.isInvisible()) { VertexConsumer vertexconsumer = p_117059_.getBuffer(RenderType.entityTranslucent(resourcelocation)); this.getParentModel().renderToBuffer(p_117058_, vertexconsumer, p_117060_, LivingEntityRenderer.getOverlayCoords(p_117061_, 0.0F), 1.0F, 1.0F, 1.0F, 1.0F); } } If this is a Java question, let me know, but any help is appreciated!
  14. I'm making a mod where you can add a small 4 by 4 emblem to your armor. I want to add multiple symbols, but it can get tedious to create a texture for each emblem. Also, I plan on adding the ability make your own emblems with patterns, similar to banner patterns. I looked at the code for rendering banner patterns, but I can't understand it. I know you can add layers to item model JSONs, like the spawn egg, but they're not dynamic. I thought of combining the two images and making a temporary texture while the game runs, but is there a more elegant way to achieve this?
  15. I got it working! I was using getTagElement incorrectly, I'm not sure what the correct way is to use getTagElement, but it doesn't matter. @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { ArmorItem item = (ArmorItem)stack.getItem(); String texture = item.getMaterial().getName(); String domain = "minecraft"; String emblem = ""; if (stack.getTag().contains("Emblem")) { emblem = stack.getTag().getString("Emblem"); domain = "emblematic"; } texture = texture.substring(texture.indexOf(':') + 1); return String.format(java.util.Locale.ROOT, "%s:textures/models/armor/%s_layer_1%s.png", domain, texture, emblem == "" ? "" : String.format(java.util.Locale.ROOT, "_%s", emblem)); //TODO: change when including leather because of overlays } Thank you to all who helped!
  16. Where am I supposed to add it? I handled adding the tag in the custom recipe, and it adds the proper NBT data to the chestplate.
  17. One time I crashed because of a bug in my code. I was just saying that because of that, I know it’s my code being used for the chestplate and not vanilla code. Also, I learned the reason why it’s not working is because of the Emblem tag. stack.getTagElement(“Emblem”) returns null even if it has that tag. I’m not sure what is the correct way to get the Emblem tag.
  18. Here is my code for ModArmorItem: public class ModArmorItem extends ArmorItem { public ModArmorItem(ArmorMaterial material, EquipmentSlot slot, Properties properties) { super(material, slot, properties); } @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { ArmorItem item = (ArmorItem)stack.getItem(); String texture = item.getMaterial().getName(); String domain = "minecraft"; String emblem = ""; if (stack.getTagElement("Emblem") != null) { emblem = stack.getTagElement("Emblem").getString("Emblem"); domain = "emblematic"; } texture = texture.substring(texture.indexOf(':') + 1); return String.format(java.util.Locale.ROOT, "%s:textures/models/armor/%s_layer_1%s.png", domain, texture, emblem == "" ? "" : String.format(java.util.Locale.ROOT, "_%s", emblem)); //TODO: change when including leather because of overlays } } I'm not sure what I did wrong. The texture does not change, but I can verify that the modified chestplate code is being used.
  19. So far, I've overridden getArmorResource: public class ModHumanoidArmorLayer<T extends LivingEntity, M extends HumanoidModel<T>, A extends HumanoidModel<T>> extends HumanoidArmorLayer<T, M, A> { ... @Override public ResourceLocation getArmorResource(net.minecraft.world.entity.Entity entity, ItemStack stack, EquipmentSlot slot, @Nullable String type) { ArmorItem item = (ArmorItem)stack.getItem(); String texture = item.getMaterial().getName(); String domain = "minecraft"; int idx = texture.indexOf(':'); if (idx != -1) { domain = texture.substring(0, idx); texture = texture.substring(idx + 1); } String emblem = stack.getTagElement("emblem").getString("emblem"); String s1 = String.format(java.util.Locale.ROOT, "%s:textures/models/armor/%s_layer_%d%s_%s.png", domain, texture, (usesInnerModel(slot) ? 2 : 1), type == null ? "" : String.format(java.util.Locale.ROOT, "_%s", type), emblem); s1 = net.minecraftforge.client.ForgeHooksClient.getArmorTexture(entity, stack, s1, slot, type); ResourceLocation resourcelocation = ARMOR_LOCATION_CACHE.get(s1); if (resourcelocation == null) { resourcelocation = new ResourceLocation(s1); ARMOR_LOCATION_CACHE.put(s1, resourcelocation); } return resourcelocation; } } But how could I override the vanilla HumanoidArmorLayer? I made my own custom model for getArmorModel (which is copy/pasted from vanilla), but I am not sure how to control its textures without HumanoidArmorLayer.
  20. So it would be pointless unless this small mod somehow becomes incredibly popular. Thank you.
  21. Right, but in the case of some other mod using a piston in a recipe, I want my custom piston to be recognized as a piston, too. I want it to work like the “planks” tag, where you can use any type of plank to make a chest, for example.
  22. I want to declare a new item group for pistons so it can be recognized as another sticky piston or piston in general in recipes. I've made the JSONs and file paths, and I was wondering if I need to do any more. I saw code for tags in the documentation, but I wasn't sure if I needed code if the tags are only for recipes. Thanks in advance.
  23. I figured it out. I just moved the triple quotes so they are on the same line as my description. And thank you for letting me know, but I already updated to 1.18. I just happened to be editing the 1.16.4 version.
  24. In my mod description, there is an unknown character at the end of it, but I don't know how to get rid of it. The mods.toml description seems fine to me. mods.toml: modLoader="javafml" loaderVersion="[35,)" license="MIT" issueTrackerURL="https://github.com/MWR27/HoneyStickyPistonMod/issues" [[mods]] modId="honeystickypistonmod" version="${file.jarVersion}" displayName="Honey Sticky Piston Mod" logoFile="logo.png" credits="Thanks to Cy4 and their community for teaching me how to mod and samjviana for a helpful reference!" authors="MWR_" description=''' A new sticky piston that you can craft with honey! ''' [[dependencies.honeystickypistonmod]] modId="forge" mandatory=true versionRange="[35,)" ordering="NONE" side="BOTH" [[dependencies.honeystickypistonmod]] modId="minecraft" mandatory=true versionRange="[1.16.4,1.17)" ordering="NONE" side="BOTH" Thanks in advance.
  25. Ok so I just need to figure how to change textures based on NBT data.
×
×
  • Create New...

Important Information

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