Posted November 16, 20222 yr Hello, I'm trying to do a tiny mod for my server for friends, which is based on block break event. Mod is built without any errors, and it's loaded into client, because I can see it and even check in console. No errors. But when I interacted with block then nothing happens like I missed something or so. Listeners? EventHandlers? Something should happens but there is no reaction at all in-game and even in console logs. How do I add event listeners? Maybe I messed up something. Here is short snippet: public MyMod { GLM.register(FMLJavaModLoadingContext.get().getModEventBus()); } private static final DeferredRegister<Codec<? extends IGlobalLootModifier>> GLM = DeferredRegister.create(ForgeRegistries.Keys.GLOBAL_LOOT_MODIFIER_SERIALIZERS, MODID); I would be glad for any advices. Regards
November 16, 20222 yr Snippets are useless. Post the full code (preferably on github) so we can see everything in context. All that code shows is you created a deferred registry. Nothing was registered to it. And nothing that would use any modifier registered to it. Here's an example where I was learning the 1.19 GLMs. It makes breaking a block in the minecraft:leaves block tag drop a diamond. https://forums.minecraftforge.net/topic/113816-1182-method-for-iterating-over-blocks-belonging-to-a-tag/?do=findComment&comment=505993 Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
November 16, 20222 yr Author 4 hours ago, warjort said: Snippets are useless. Post the full code (preferably on github) so we can see everything in context. All that code shows is you created a deferred registry. Nothing was registered to it. And nothing that would use any modifier registered to it. Here's an example where I was learning the 1.19 GLMs. It makes breaking a block in the minecraft:leaves block tag drop a diamond. https://forums.minecraftforge.net/topic/113816-1182-method-for-iterating-over-blocks-belonging-to-a-tag/?do=findComment&comment=505993 Hi, thanks for reply. I read whole topic that you sent, but I worries that doesn’t work on 1.19.2 but idea and code are similar. Even I did some changes and add more registers, this still didn’t help. My mod did those register events but nothing more. I think I still missing an event listener and I’m reading more about @EventSubscriber, maybe that’s a key. I will send more code if needed.
November 16, 20222 yr Author Here is a link with code, its kinda messed up because I'm trying a lot of methods to make it works past few days and exhausted to make it clean already. Code below is based on few examples, and lastest javadoc from forge, however it doesn't work. You can see in console few lines of logs, but the important functions doesn't work. https://pastebin.com/PhGySG5P
November 16, 20222 yr Initially you showed the deferred register and nothing else. Now you show the GLM but not how it is registered? Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
November 17, 20222 yr Author 16 hours ago, warjort said: Initially you showed the deferred register and nothing else. Now you show the GLM but not how it is registered? Here is code based on link that you send me with GLM registers https://pastebin.com/4EVLPbMC
November 17, 20222 yr On 11/16/2022 at 10:04 AM, warjort said: Snippets are useless. Post the full code (preferably on github) so we can see everything in context. All that code shows is you created a deferred registry. Nothing was registered to it. And nothing that would use any modifier registered to it. You still haven't done this. See the underline part. These are the json files in the data folder. And we will need to see where those are located so we can confirm you have them in the correct place. I shouldn't have to keep asking for this stuff while you drip feed information. You are just wasting people's time. Either post all the information (as I said on github is the best) or I am just going to ignore this thread until you do. Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
November 18, 20222 yr Author 23 hours ago, warjort said: You still haven't done this. See the underline part. These are the json files in the data folder. And we will need to see where those are located so we can confirm you have them in the correct place. I shouldn't have to keep asking for this stuff while you drip feed information. You are just wasting people's time. Either post all the information (as I said on github is the best) or I am just going to ignore this thread until you do. Here is whole code with json files: https://github.com/TagonZ/MC/tree/main/src/main I don't know which part of code I'm missing or have wrong to make it work.
November 18, 20222 yr All your files are in the wrong place. They should be src/main/resource/data/<namespace> you are missing the data folder in the path https://github.com/TagonZ/MC/tree/main/src/main/resources/forge Even then, this file would be in the wrong place: https://github.com/TagonZ/MC/blob/main/src/main/resources/forge/loot_modifiers/cobblestone.json You reference it here as cobblestonedrops:cobblestone https://github.com/TagonZ/MC/blob/main/src/main/resources/forge/loot_modifiers/global_loot_modifiers.json which means it should be in src/main/resources/data/cobblestonedrops/loot_modifiers/cobblestone.json see step (2) in the link I posted above. Quote A serialized json representing your modifier at /data/<modID>/loot_modifiers/ Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
November 18, 20222 yr Author 1 hour ago, warjort said: All your files are in the wrong place. They should be src/main/resource/data/<namespace> you are missing the data folder in the path https://github.com/TagonZ/MC/tree/main/src/main/resources/forge Even then, this file would be in the wrong place: https://github.com/TagonZ/MC/blob/main/src/main/resources/forge/loot_modifiers/cobblestone.json You reference it here as cobblestonedrops:cobblestone https://github.com/TagonZ/MC/blob/main/src/main/resources/forge/loot_modifiers/global_loot_modifiers.json which means it should be in src/main/resources/data/cobblestonedrops/loot_modifiers/cobblestone.json see step (2) in the link I posted above. I did those fixes, it works better but still didnt add additional item when mining cobblestone. I pushed on github those fixes. Method doApply isn't used. https://github.com/TagonZ/MC/tree/main/src/main Edited November 18, 20222 yr by Faxu_
November 18, 20222 yr There's no such block tag as minecraft:cobblestone https://github.com/misode/mcmeta/tree/data/data/minecraft/tags/blocks There is a forge:cobblestone/normal https://github.com/MinecraftForge/MinecraftForge/blob/1.19.x/src/generated/resources/data/forge/tags/blocks/cobblestone/normal.json Or you can change your GLM to use a LootItemCondition that matches a specific block instead of a block tag. Edited November 18, 20222 yr by warjort Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
November 18, 20222 yr Author 2 hours ago, warjort said: There's no such block tag as minecraft:cobblestone https://github.com/misode/mcmeta/tree/data/data/minecraft/tags/blocks There is a forge:cobblestone/normal https://github.com/MinecraftForge/MinecraftForge/blob/1.19.x/src/generated/resources/data/forge/tags/blocks/cobblestone/normal.json Or you can change your GLM to use a LootItemCondition that matches a specific block instead of a block tag. Thank you, it's working as intended. For the end of this topic I would ask you how can I add more possible drops from cobblestone. For now it's just a diamond and I can't see possibility to set another item to get diamond and for example coal from mining one cobblestone. Do I have to rebuild my cobblestone.json to make "item" as and array or there is another way to do it? I know that I can hardcode more items but I dont want to do it this way. Edited November 18, 20222 yr by Faxu_
November 18, 20222 yr Just change the codec to use a list of items instead of a single item. https://forge.gemwire.uk/wiki/Codecs It's really up to you how much and what configuration you want for your modifiers. Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
November 19, 20222 yr Author One more question. If I would like to add to drop items from another mod. Which way should I take, what do I include to my project to get blocks and items from another mod?
November 19, 20222 yr https://docs.minecraftforge.net/en/latest/concepts/resources/#resourcelocation minecraft:diamond yourmodid:your_item othermodid:other_item You really need to read the docs/wiki instead of asking these minecraft 101 questions. Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
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.