LostThought Posted January 21 Share Posted January 21 Hi, This is my first foray into Forge and i am confident I am making a silly mistake somewhere, any advice would be appreciated. Objective Have a custom mod; mymod Have a custom item with a custom texture; mymod_item Provision resource pack for lang, model and texture assets for mymod_item Run a dedicated Forge server with the mod installed and requiring the resource pack Expected behaviour Player connects to dedicated server and downloads asset pack Player is given custom item /give @p mymod.mymod_item Player inventory to display item with custom texture and to be visible when dropped Actual behavior When running a Forge client from the IDE tasks, the textures load for singleplayer (via local Forge mod deployment) When running a Forge client from the IDE tasks, the textures load for multiplayer games (via asset pack) When running a vanilla client in singleplayer mode, as expected it does not work as it has no concept of my entities. When running a vanilla client in multiplayer mode, the asset pack is downloaded and an invisible item is granted (I have some logging on the item so that i know I "have" it) Noteworth When giving the item to the player on the vanilla client, the name is displayed correctly implying that the lang/en_us.json is being loaded correctly. My asset pack also overrides the minecraft:item/gold_ingot texture with the exact same one used for mymod:mymod_item and this is loaded fine as a replacement. Asset pack tree assets/minecraft/textures/item/gold_ingot.png assets/mymod/textures/item/mymod_item.png assets/mymod/models/item/mymod_item.json assets/mymod/lang/en_us.json pack.mcmeta Summary I suspect that i am doing something that i am not supposed to but unfortunately its not jumping out to me quite what that may be! One of the pieces i am struggling to understand is what ties the mymod_item class to the resources? In my code i do net set any explicit ResourceLocations for it, should I be? Thanks Quote Link to comment Share on other sites More sharing options...
diesieben07 Posted January 21 Share Posted January 21 Custom items require the client to have forge and your mod installed. Quote Link to comment Share on other sites More sharing options...
poopoodice Posted January 21 Share Posted January 21 Is there any error/warning in the console telling something went wrong when trying to load the model? Or reload resources in game (F3 + T) and it will show errors again if there are any. Quote Link to comment Share on other sites More sharing options...
LostThought Posted January 21 Author Share Posted January 21 Thank you both for the replies. 1 minute ago, diesieben07 said: Custom items require the client to have forge and your mod installed. This makes sense. I thought that i may be able to create something server side. I have seen servers that provide new items with the client only needing the resource pack. I mistakenly thought that this was achieved this way. I will keep looking for how this is implemented. 2 minutes ago, poopoodice said: Is there any error/warning in the console telling something went wrong when trying to load the model? Or reload resources in game (F3 + T) and it will show errors again if there are any. There are no errors, for all intensive purposes things are working as expected. It was as if the client did not have the context of the namespace. Quote Link to comment Share on other sites More sharing options...
diesieben07 Posted January 21 Share Posted January 21 1 minute ago, LostThought said: I have seen servers that provide new items with the client only needing the resource pack. They don't. There is no way to add new items to a vanilla client. Quote Link to comment Share on other sites More sharing options...
LostThought Posted January 21 Author Share Posted January 21 2 minutes ago, diesieben07 said: They don't. There is no way to add new items to a vanilla client. It's probable that I am not using the correct terminology to explain what i am doing as the item functionality is working on the vanilla client its just the texture that is not! I'll see if I can tidy up some example code and post a link. Thanks. Quote Link to comment Share on other sites More sharing options...
diesieben07 Posted January 21 Share Posted January 21 There is no way that you can add a new Item instance to the game and have it work in a vanilla client. Please show your code. Quote Link to comment Share on other sites More sharing options...
LostThought Posted January 21 Author Share Posted January 21 https://github.com/aLostThought/mymod /give @p mymod:mymod_item To caveat, I am not suggesting that the way that the MyMod_Item is put together is sensible and performing logic on inventoryTick feels carelessly expensive. The initial objective was just to get an item in the hand and then work on what it does and how it does it. This example should provide 1 gold ingot for every ~1 sec that mymod_item is held. This version does not contain any assets (yet) as I pressed for time but I wanted to show the code behind my query. I will get the assets added soon. Thanks. Quote Link to comment Share on other sites More sharing options...
diesieben07 Posted January 21 Share Posted January 21 Yeah there is no way that this will ever work with a vanilla client. To the client the item will look like air at best and some random other item at worst. There is no guarantee that things will work properly if you connect to a forge server with additional registry entries from a vanilla client. Quote Link to comment Share on other sites More sharing options...
LostThought Posted January 21 Author Share Posted January 21 Makes sense. Do you know why the client is able to resolve the lang/en_us.json for the item name on the client? Quote Link to comment Share on other sites More sharing options...
diesieben07 Posted January 21 Share Posted January 21 13 minutes ago, LostThought said: Do you know why the client is able to resolve the lang/en_us.json for the item name on the client? I highly doubt this is the case. Quote Link to comment Share on other sites More sharing options...
LostThought Posted January 21 Author Share Posted January 21 It looks as though I have been tripping myself up on this one. The text I was reading was being read from the en_us.json but it was in the chat being sent from the server side which makes more sense! I'll keep looking at how this is being done but it doesn't sound like with Forge! Thanks for clearing things up. Quote Link to comment Share on other sites More sharing options...
diesieben07 Posted January 21 Share Posted January 21 2 minutes ago, LostThought said: I'll keep looking at how this is being done but it doesn't sound like with Forge! Thanks for clearing things up. The same techniques that are used on those servers can be done with Forge. But "adding a new Item" is not what they are doing. Use F3+H to see the actual vanilla item being used. Quote Link to comment Share on other sites More sharing options...
LostThought Posted January 21 Author Share Posted January 21 Thanks, it sounds like you have me on the right path! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.