
TPD
Members-
Posts
77 -
Joined
-
Last visited
Everything posted by TPD
-
I need to use event.getMap().loadTexture(); during TextureStitchEvent.Pre to load the texture, right? Does this mean I have to make my own IResourceManager? Edit: its e.getMap().registerSprite
-
With normal, I mean a "2D-Item". The way almost all Items in the game are rendered. I also tried ModelResourceLocation(resourceLocation, "inventory") and ModelResourceLocation(resourceLocation, "normal") (which is the same as ModelResourceLocation(resourceLocation, null)) with the same outcome.
-
I have two more questions: Why is ICustomModelLoader::loadModel called twice for every item? How can I make the Item render in the vanilla way when it's in the inventory/GUIs? This is what I tried to do in my IPerspectiveAwareModel: @Override public Pair<? extends IBakedModel, Matrix4f> handlePerspective(ItemCameraTransforms.TransformType cameraTransformType) { switch (cameraTransformType) { case GUI: return Pair.of(Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getModelManager().getModel(new ModelResourceLocation(resourceLocation, null)), null); } return Pair.of(this, null); } The result is just a purple-black square. How can I specify the texture correctly?
-
The second approach seems to be exactly what I need. Thank you so much
-
Currently the mods stores things like attachments and paintjobs in the ItemStack (as NBT data). Is there a way to get the NBT data during baking? If not: How would I implement attachments and paintjobs?
-
How do I make the BakedQuads for the getQuads method in IBakedModel? And can I change the IBakedModel during runtime for things like animations?
-
What about my second question: what textures do I have to return in getTextures() of IModel and where should I get them from? I mean, aren't textures stored separately?
-
I know Forge suggests to use the DefaultVertexFromats.ITEM format for BakedQuads, but what exactly does that format look like and how do I instantiate a BakedQuad? Edit: Answer:
-
Do you think it's ok to just have one ICustomModelLoader, store what kind of IModel it describes in the model file and then make the ICustomModelLoader load/instantiate the IModel accordingly? Also what textures do I have to return in getTextures() of IModel and where should I get them from? I mean, aren't textures stored separately?
-
Hm ok. What file-format would you suggest? I can't use a simple .obj-file because the file has to store multiple "sub-objects" (IModelPart) and also other information (for example points where gun attachments/upgrades should be placed). Should I use a .zip-file that contains .obj files? That would make it possible to edit the model with 3d-programs.
-
The movable parts of the Model (like scope, silencer in case of a gun) would be IModelPart, right?
-
I'm not sure if it's possible to use the same format for each kind of item... Guns should consist of multiple parts that will have to be moved independently during reloading-animations and so on, but Plane-Models, for example, have other properties...
-
The mod adds many different items for which I need different ICustomModelLoaders. How should I determine whether or not the ICustomLoader accepts it when I just have a ResourceLocation? Edit: nvm. that was a stupid question. I can just add a folder called guns in assets/flansmod/models/item right?
-
And how do i register the baked model to the item?
-
My ModelGun would have to implement IModel and then I would have to make a BakedGunModel (implements IPerspectiveAwareModel) class? How do I then "connect" that BakedModel with the item?
-
Ok. This means I will use the new system. I still don't exactly understand how IModel and IBakedModel are implemented. I can try to explain how the current Model system works, maybe you know how I could implement it. This is a (very simplified) schematic where I try to explain how it works: This is for example what the Model class of a gun looks like: [spoiler=ModelM9.java] public class ModelM9 extends ModelGun { public ModelM9() { int textureX = 32; int textureY = 16; gunModel = new ModelRendererTurbo[3]; gunModel[0] = new ModelRendererTurbo(this, 0, 0, textureX, textureY); gunModel[0].addBox(-1F, -2F, -1F, 3, 4, 2); gunModel[1] = new ModelRendererTurbo(this, 0, 6, textureX, textureY); gunModel[1].addBox(-1F, 2F, -1F, 8, 1, 2); gunModel[2] = new ModelRendererTurbo(this, 0, 9, textureX, textureY); gunModel[2].addBox(-0.5F, 3.5F, -0.5F, 8, 1, 1); slideModel = new ModelRendererTurbo[3]; slideModel[0] = new ModelRendererTurbo(this, 0, 12, textureX, textureY); slideModel[0].addBox(-1F, 3F, -1F, 8, 2, 2); slideModel[1] = new ModelRendererTurbo(this, 10, 2, textureX, textureY); slideModel[1].addBox(5.95F, 4.5F, -0.5F, 1, 1, 1); slideModel[2] = new ModelRendererTurbo(this, 8, 0, textureX, textureY); slideModel[2].addBox(-0.8F, 4.5F, -0.5F, 1, 1, 1); ammoModel = new ModelRendererTurbo[1]; ammoModel[0] = new ModelRendererTurbo(this, 14, 0, textureX, textureY); ammoModel[0].addBox(-0.5F, -1.8F, -0.5F, 2, 4, 1); barrelAttachPoint = new Vector3f(7.5F / 16F, 4F / 16F, 0F); scopeAttachPoint = new Vector3f(3F / 16F, 5F / 16F, 0F); scopeIsOnSlide = true; gunSlideDistance = 0.25F; animationType = EnumAnimationType.PISTOL_CLIP; } } Here's the source of the mod: https://github.com/gitgud-software/FlansMod (changes to the mod made by me are not yet committed, but I can commit them if you need the code; I fixed the compiler errors and started fixing bugs)
-
Why was IItemRenderer removed? The mod that I'm working on is FlansMod. I want to update it to 1.10 but it has it's own way of rendering things and the models and animations of all weapons and vehicles are made with this system. It's probably not possible to implement IModel / IBakedModel to this...
-
Isn't there a different way to just precent the rendering of my items so that I can render them myself? I would have to change the entire rendering and model system of the mod...
-
Is it possible to cancel the rendering of only the item in one Hand during 'RenderHandEvent'/are there also events that get fired for each Hand independently? If not, is there a reliable way to render the item in a hand?
-
Do you know an example project where IPerspectiveAwareModel is used?
-
How do I set the model of an item? Sorry for asking questions that might seem obvious...
-
How would I change the way an item is rendered when it's held by a player (1st and 3rd person perspective)?
-
Ok. But how do I override the vanilla way of rendering an item?
-
Hi Is there a place where I can read about the new rendering system now that there is no more IItemRenderer?