I am unable to find where the problem lies as I have followed MCJTY's GitHub for changes, alas, I am unsure.
my registry: https://github.com/drmdgg/mcraft1.15.1/blob/master/src/main/java/drmdgg/marijuanacraft/util/Registries.java
models: https://github.com/drmdgg/mcraft1.15.1/tree/master/src/main/java/drmdgg/marijuanacraft/client/models
renders: https://github.com/drmdgg/mcraft1.15.1/tree/master/src/main/java/drmdgg/marijuanacraft/client/renders
where I register renders: https://github.com/drmdgg/mcraft1.15.1/blob/6c2c2bddb53379668a72dddc6387a9435739427b/src/main/java/drmdgg/marijuanacraft/client/ClientModEventSubscriber.java#L44-L50
where I register my Registries: https://github.com/drmdgg/mcraft1.15.1/blob/6c2c2bddb53379668a72dddc6387a9435739427b/src/main/java/drmdgg/marijuanacraft/MarijuanaCraft.java#L76
I don't think it will help you, but if you have no other choice, I would recommend Blender and import the model as OBJ Model or JSON Model. For this you can simply use the addon that used Lycanite (you have to import it manually, so go into scripts and paste there the code you copied). The link: https://gitlab.com/Lycanite/LycanitesMobs/blob/master/src/main/resources/io_export_lycanitesmobs.py
NoCubes is also open source.
https://github.com/Cadiboo/NoCubes
However, NoCubes generates customised dynamic models for each block in a world which is probably not what you want to do.
To make blocks use non-cubic models you’re going to want to use Forge’s .obj or .b3d model support (Outdated docs). If you need your model to be animated you can use Forge’s Animation API or render everything yourself with a TileEntity Renderer (can have a very large performance impact). If you go with the TileEntity Renderer approach you should load model files instead of writing your model using Minecraft’s Java model system (for resource pack compatibility & performance).
GuiContainer actually uses initGui() in its class.
When you are using it you need to call super.initGui() (first thing you do).
EDIT
Also - you shouldn't have to have any globals in YourGuiContainer - everything is alredy provided from GuiContainer.
Seriously - everything.
@SideOnly(Side.CLIENT)
public class MyGui extends GuiContainer
{
public MyGui(TileEntity te, EntityPlayer player)
{
super(new MyContainer(te, player));
this.xSize = 164; // set those in constructor - those should be literally width and lenght of your gui.png which will be the background.
this.ySize = 233;
}
}
Then you have those:
protected int guiLeft;
protected int guiTop;
Those two are literally "the top border and the left border" of your gui.png (you need to set x and y Size in constructor).
What MC will do is in initGui() it will take those xSize and ySize and set guiLeft and guiTop to right values.