Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.12.2] Armor texture from 64x32 to 64x64


Noob_Master69
 Share

Recommended Posts

Can you explain that more?

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

On 5/22/2019 at 4:33 AM, V0idWa1k3r said:

With a custom armor model your texture could be of any size.

You’ll need to write your own renderer that takes the parts of the textures from 1 file instead of two. As far as I can see, there is no advantage to doing this though.

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

On 5/23/2019 at 5:48 PM, Cadiboo said:

You’ll need to write your own renderer that takes the parts of the textures from 1 file instead of two. As far as I can see, there is no advantage to doing this though.

How do I do that exactly? Sorry I'm really a newbie at modding.

Link to comment
Share on other sites

You would likely be copy and pasting and tweaking the existing renderer. You’ll need a good understanding off Java & rendering & modding before doing this though.

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

i would approach this differently it is also possible (but a bit tedious) to just replace the armor model in the item class of the armor if you override in your class that extends ItemArmor

	@Override
	@SideOnly(Side.CLIENT)
	public ModelBiped getArmorModel(EntityLivingBase living, ItemStack stack, EntityEquipmentSlot armorSlot, ModelBiped defaultModel)
	{
		if(!stack.isEmpty())
		{
			if(stack.getItem() instanceof ItemArmor)
			{

				EntityEquipmentSlot type = ((ItemArmor) stack.getItem()).armorType;
				ModelBiped armorModel = null;
				switch (type) {
				case HEAD:
					armorModel = new MODEL(1f);
					break;
				case LEGS:
					armorModel = new MODEL(1f);
					break;
				case FEET:
					armorModel = new MODEL(0.5f);
					break;
				case CHEST:
					armorModel = new MODEL(0.5f);
					break;
				default:
					break;
				}

				armorModel.bipedHead.showModel = armorSlot == EntityEquipmentSlot.HEAD;
				armorModel.bipedHeadwear.showModel = armorSlot == EntityEquipmentSlot.HEAD;
				armorModel.bipedBody.showModel = (armorSlot == EntityEquipmentSlot.CHEST)
						|| (armorSlot == EntityEquipmentSlot.CHEST);
				armorModel.bipedRightArm.showModel = armorSlot == EntityEquipmentSlot.CHEST;
				armorModel.bipedLeftArm.showModel = armorSlot == EntityEquipmentSlot.CHEST;
				armorModel.bipedRightLeg.showModel = (armorSlot == EntityEquipmentSlot.LEGS)
						|| (armorSlot == EntityEquipmentSlot.FEET);
				armorModel.bipedLeftLeg.showModel = (armorSlot == EntityEquipmentSlot.LEGS)
						|| (armorSlot == EntityEquipmentSlot.FEET);

				armorModel.isSneak = defaultModel.isSneak;
				armorModel.isRiding = defaultModel.isRiding;
				armorModel.isChild = defaultModel.isChild;
				armorModel.rightArmPose = defaultModel.rightArmPose;
				armorModel.leftArmPose = defaultModel.leftArmPose;

				return armorModel;
			}
		}
		return null;
	}   		
	

 

Edited by Oscarita25
forgot smth in the code
Link to comment
Share on other sites

Please don’t post copypasta code, people will blindly use it without understanding it or learning anything from it

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

In addition don't do this

ModelBiped armorModel = null;
				switch (type) {
				case HEAD:
					armorModel = new MODEL(1f);
					break;
				case LEGS:
					armorModel = new MODEL(1f);
					break;
				case FEET:
					armorModel = new MODEL(0.5f);
					break;
				case CHEST:
					armorModel = new MODEL(0.5f);
					break;
				default:
					break;
				}

You are creating a new model each frame. Considering that models have to compute themselves into render lists this is an expensive operation.

Link to comment
Share on other sites

That wasn’t directed at you

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

  • 4 weeks later...
On 5/23/2019 at 5:48 PM, Cadiboo said:

You’ll need to write your own renderer that takes the parts of the textures from 1 file instead of two. As far as I can see, there is no advantage to doing this though.

I've finally made my renderer but there's a problem.

Here's my code:

package com.galileogalilei.ironmanarmormod.client.model;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.EnumHand;
import net.minecraft.util.EnumHandSide;
import net.minecraft.util.math.MathHelper;

public class ModelSuits
  extends ModelBase
{
  public class ArmPose {

    }

private static final String ArmPose = null;
public ModelRenderer field_78116_c;
  public ModelRenderer field_178720_f;
  public ModelRenderer field_78115_e;
  public ModelRenderer field_178723_h;
  public ModelRenderer field_178724_i;
  public ModelRenderer field_178721_j;
  public ModelRenderer field_178722_k;
  public String field_187075_l = ModelSuits.ArmPose;
  public String field_187076_m = ModelSuits.ArmPose;
  public boolean field_78117_n;
  
  public ModelSuits() {
    this(0.0F);
  }
  
  public ModelSuits(float ☃) 
  {
    this(☃, 0.0F, 64, 64);
  }
 

Link to comment
Share on other sites

You said

14 hours ago, Noob_Master69 said:

there's a problem.

So where is the problem?

Also why do you use field_78116_c as names for your objects?

And why do you have a ArmPose class which does nothing?

And you only posted half of your class. You should post a complete class and say what your problem is otherwise nobody can help you.

Link to comment
Share on other sites

On 6/23/2019 at 5:54 PM, Noob_Master69 said:

I've finally made my renderer but there's a problem.

Thats a java model, not a renderer.

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

7 hours ago, Noob_Master69 said:

The problem is that it doesn't render my models

I would say you need a model class and pass an instance of that class in the Item#getArmorModel method of your item class. If you still need help you need to post your classes.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • This is what I have for two ModelFiles, the first only applying one overlay and the second apply the first overlay + another. public ModelFile scuffedWarenaiBlockModel(Block block) { return models().getBuilder("scuffed_" + name(block)) .parent(existingMcModel("block")) .texture("particle", warenaiBlockTexture(block)) .texture("underlay", warenaiBlockTexture(block)) .texture("overlay", scuffedTexture()) .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#underlay").cullface(direction)).end() .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#overlay").cullface(direction)).end(); } public ModelFile crackedWarenaiBlockModel(Block block, int crackedLevel) { return models().getBuilder("cracked" + crackedLevel + "_" + name(block)) .parent(existingMcModel("block")) .texture("particle", warenaiBlockTexture(block)) .texture("underlay", warenaiBlockTexture(block)) .texture("overlay1", scuffedTexture()) .texture("overlay2", crackedTexture(crackedLevel)) .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#underlay").cullface(direction)).end() .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#overlay1").cullface(direction)).end() .element().from(0, 0, 0).to(16, 16, 16).allFaces((direction, faceBuilder) -> faceBuilder.uvs(0, 0, 16, 16).texture("#overlay2").cullface(direction)).end(); }   This works, but it doesn't seem so simple for a stair block.  I copied the stair stuff from the forge BlockStateProvider class to get started with a normal stair model that works:  public void warenaiStairBlock(StairsBlock block, ResourceLocation texture) { warenaiStairBlockInternal1(block, texture, texture, texture); } public void warenaiStairBlockInternal1(StairsBlock block, ResourceLocation side, ResourceLocation bottom, ResourceLocation top) { warenaiStairBlockInternal2(block, block.getRegistryName().toString(), side, bottom, top); } public void warenaiStairBlockInternal2(StairsBlock block, String baseName, ResourceLocation side, ResourceLocation bottom, ResourceLocation top) { ModelFile normal_stairs = models().stairs(baseName, side, bottom, top); ModelFile normal_stairsInner = models().stairsInner(baseName + "_inner", side, bottom, top); ModelFile normal_stairsOuter = models().stairsOuter(baseName + "_outer", side, bottom, top); warenaiStairsBlock(block, normal_stairs, normal_stairsInner, normal_stairsOuter); } public void warenaiStairsBlock(StairsBlock block, ModelFile stairs, ModelFile stairsInner, ModelFile stairsOuter) { getVariantBuilder(block) .forAllStatesExcept(state -> { Direction facing = state.getValue(StairsBlock.FACING); Half half = state.getValue(StairsBlock.HALF); StairsShape shape = state.getValue(StairsBlock.SHAPE); int yRot = (int) facing.getClockWise().toYRot(); // Stairs model is rotated 90 degrees clockwise for some reason yRot %= 360; boolean uvlock = yRot != 0 || half == Half.TOP; // Don't set uvlock for states that have no rotation ModelFile shapeDependentModel = shape == StairsShape.STRAIGHT ? stairs : shape == StairsShape.INNER_LEFT || shape == StairsShape.INNER_RIGHT ? stairsInner : stairsOuter; if (shape == StairsShape.INNER_LEFT || shape == StairsShape.OUTER_LEFT) { yRot += 270; // Left facing stairs are rotated 90 degrees clockwise } if (shape != StairsShape.STRAIGHT && half == Half.TOP) { yRot += 90; // Top stairs are rotated 90 degrees clockwise } return ConfiguredModel.builder() .modelFile(shapeDependentModel) .rotationX(half == Half.BOTTOM ? 0 : 180) .rotationY(yRot) .uvLock(uvlock) .build(); }, StairsBlock.WATERLOGGED); }   Now I have no idea where to go. I could take the time and figure it out all on my own, but since I really should be working on a college essay I thought I would see if anyone else knew what to do first. If not, then I will just do it myself when I get the time.
    • O well i tried to fix a bug in the stone age mod and my plan failed after trying to insert the json directly into the jar.
    • You spawn the entity on the server. The server then ensures it is spawned on all clients that can see it.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.