
Duendilandia
Members-
Posts
18 -
Joined
-
Last visited
Duendilandia's Achievements

Tree Puncher (2/8)
0
Reputation
-
It works, thankss.
-
I use head and the error still: public custom_model(float size) { super(size); texWidth = 32; texHeight = 32; head = new ModelRenderer(this); head.setPos(0.0F, 24.0F, 0.0F); head.texOffs(0, 0).addBox(-4.5F, -32.5F, -6.0F, 9.0F, 9.0F, 2.0F, 0.0F, false); head.texOffs(0, 11).addBox(-1.5F, -27.5F, -7.0F, 3.0F, 5.0F, 3.0F, 0.0F, false); } @Override public void renderToBuffer(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){ super.renderToBuffer(matrixStack, buffer, packedLight, packedOverlay, red, green, blue, alpha); } public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { modelRenderer.xRot = x; modelRenderer.yRot = y; modelRenderer.zRot = z; }
-
If I change the visibility like this it doesnt render anything: @Override public void renderToBuffer(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){ this.hat.visible = false; this.head.visible = false; this.bb_main.visible = true; super.renderToBuffer(matrixStack, buffer, packedLight, packedOverlay, red, green, blue, alpha); } But if I render like this it works: @Override public void renderToBuffer(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){ bb_main.render(matrixStack, buffer, packedLight, packedOverlay); } (bb_main is the name of my model) Why the second one works and the first one doesnt work?
-
I try to change the visibility os the default head but it doesnt work: this.head = new ModelRenderer(this); head.visible = false;
-
1. How can I disable the default parts? I need to set them to empty renderers, but I dont know how I have to do it. 2. I read that the texture layout doesnt have to be in the same space as the texture of the model created, is this true?
-
I have update my classes. ItemsRegister class: public static final RegistryObject<Item> ARMOR = ITEMS.register("armor", () -> new ArmorPiece(ArmorTiers.ARMOR01, EquipmentSlotType.HEAD, (new Item.Properties()))); Armor materials class: public enum ArmorTiers implements IArmorMaterial{ ARMOR01("armor01", 37, new int[]{3, 6, 8, 3}, 15, SoundEvents.ARMOR_EQUIP_NETHERITE, 3.0F, 0.1F, () -> { return Ingredient.of(Items.NETHERITE_INGOT); }); private static final int[] HEALTH_PER_SLOT = new int[]{13, 15, 16, 11}; private final String name; private final int durabilityMultiplier; private final int[] slotProtections; private final int enchantmentValue; private final SoundEvent sound; private final float toughness; private final float knockbackResistance; private final LazyValue<Ingredient> repairIngredient; ArmorTiers(String name, int durabilityMultiplier, int[] slotProtections, int enchantmentValue, SoundEvent sound, float toughness, float knockbackResistance, Supplier<Ingredient> repairIngredient) { this.name = name; this.durabilityMultiplier = durabilityMultiplier; this.slotProtections = slotProtections; this.enchantmentValue = enchantmentValue; this.sound = sound; this.toughness = toughness; this.knockbackResistance = knockbackResistance; this.repairIngredient = new LazyValue<>(repairIngredient); } public int getDurabilityForSlot(EquipmentSlotType slot) { return HEALTH_PER_SLOT[slot.getIndex()] * this.durabilityMultiplier; } public int getDefenseForSlot(EquipmentSlotType slot) { return this.slotProtections[slot.getIndex()]; } public int getEnchantmentValue() { return this.enchantmentValue; } public SoundEvent getEquipSound() { return this.sound; } public Ingredient getRepairIngredient() { return this.repairIngredient.get(); } @OnlyIn(Dist.CLIENT) public String getName() { return this.name; } public float getToughness() { return this.toughness; } public float getKnockbackResistance() { return this.knockbackResistance; } } ArmorItem class: public class ArmorPiece extends ArmorItem{ public ArmorPiece(IArmorMaterial p_i48534_1_, EquipmentSlotType p_i48534_2_, Properties p_i48534_3_) { super(p_i48534_1_, p_i48534_2_, p_i48534_3_); } @Override public BipedModel getArmorModel(LivingEntity entity, ItemStack stack, EquipmentSlotType slot, BipedModel defaultModel) { custom_model model = new custom_model(1.0F); return model; } @Override public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlotType slot, String type) { return "mymod:textures/entity/magic_hat.png"; } } Model class: public class custom_model extends BipedModel{ private ModelRenderer bb_main; public custom_model(float size) { super(size); texWidth = 64; texHeight = 64; bb_main = new ModelRenderer(this); bb_main.setPos(0.0F, 24.0F, 0.0F); bb_main.texOffs(0, 0).addBox(-8.0F, -16.0F, -8.0F, 16.0F, 16.0F, 16.0F, 0.0F, false); this.head.addChild(bb_main); } @Override public void renderToBuffer(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){ super.renderToBuffer(matrixStack, buffer, packedLight, packedOverlay, red, green, blue, alpha); } public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { modelRenderer.xRot = x; modelRenderer.yRot = y; modelRenderer.zRot = z; } } I only want to render a 16x16x16 box, but the vanilla helmet renders too. I only want to render the cube which is on the ground, but it renders too the cube of the vanilla helmet. Can anyone help me??
-
I am trying to understand custom armor models, I have create a simple model, but when I render it is very strange. https://pastebin.com/5dAwxneA As you can see the diamon helmet renders too, but I only want to render my custom model
-
now it works thankssssss
-
https://github.com/Duendilandia/TestMod
-
I have change the register class: import net.minecraft.client.Minecraft; import net.minecraft.particles.BasicParticleType; import net.minecraft.particles.ParticleType; import net.minecraftforge.client.event.ParticleFactoryRegisterEvent; import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @Mod.EventBusSubscriber(modid = Main.MODID, bus = Bus.MOD, value = Dist.CLIENT) public class ParticlesRegister { public static final DeferredRegister<ParticleType<?>> PARTICLE_TYPES = DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, Main.MODID); public static final RegistryObject<ParticleType<BasicParticleType>> FLY_PARTICLE = PARTICLE_TYPES.register("fly_particle", () -> new BasicParticleType(true)); @SubscribeEvent public void registerFactories(ParticleFactoryRegisterEvent evt) { Minecraft.getInstance().particleEngine.register(ParticlesRegister.FLY_PARTICLE.get(), FlyParticle.Factory::new); } } But I have the same error: Caused by: java.lang.IllegalStateException: Redundant texture list for particle mymod:fly_particle
-
but is this necesary to solve my problem? Thanks, I will change it
-
Here it is: https://github.com/Duendilandia/MyMod/tree/main/src/main
-
I tried like this: Main class: public Main() { FMLJavaModLoadingContext.get().getModEventBus().addListener(this::registerFactories); } @SubscribeEvent public void registerFactories(ParticleFactoryRegisterEvent evt) { Minecraft.getInstance().particleEngine.register(ParticlesRegister.FLY_PARTICLE.get(), FlyParticle.Factory::new); } ParticlesRegister class: public class ParticlesRegister { public static final DeferredRegister<ParticleType<?>> PARTICLE_TYPES = DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, Main.MODID); public static final RegistryObject<ParticleType<BasicParticleType>> FLY_PARTICLE = PARTICLE_TYPES.register("fly_particle", () -> new BasicParticleType(true)); } Now the game run, but it crashe when I spawn the particle: Reported exception thrown! net.minecraft.crash.ReportedException: Rendering Particle at net.minecraft.client.particle.ParticleManager.renderParticles(ParticleManager.java:355) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.WorldRenderer.renderLevel(WorldRenderer.java:1149) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.GameRenderer.renderLevel(GameRenderer.java:608) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:425) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.runTick(Minecraft.java:976) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:607) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241] {} at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] {} at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] {} at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_241] {} at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:52) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {} at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {} Caused by: java.lang.NullPointerException at net.minecraft.client.particle.SpriteTexturedParticle.getU0(SpriteTexturedParticle.java:25) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.particle.TexturedParticle.render(TexturedParticle.java:51) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.particle.ParticleManager.renderParticles(ParticleManager.java:349) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} ... 17 more [12:03:51] [Render thread/INFO] [STDOUT/]: [net.minecraft.util.registry.Bootstrap:realStdoutPrintln:123]: ---- Minecraft Crash Report ---- // This doesn't make any sense! Time: 8/06/21 12:03 Description: Rendering Particle java.lang.NullPointerException: Rendering Particle at net.minecraft.client.particle.SpriteTexturedParticle.getU0(SpriteTexturedParticle.java:25) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.particle.TexturedParticle.render(TexturedParticle.java:51) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.particle.ParticleManager.renderParticles(ParticleManager.java:349) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.WorldRenderer.renderLevel(WorldRenderer.java:1149) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.GameRenderer.renderLevel(GameRenderer.java:608) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:425) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.runTick(Minecraft.java:976) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:607) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A} at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241] {} at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] {} at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] {} at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_241] {} at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:52) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {} at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {} Sorry for my ignorance
-
I don´t undertand what you mean. I think I can delete this line: @EventBusSubscriber(modid = Main.MODID, bus = Bus.FORGE, value = {Dist.CLIENT}) if I add this one on the Main class: MinecraftForge.EVENT_BUS.register(new ParticlesRegister());
-
@SubscribeEvent public static void registerFactories(ParticleFactoryRegisterEvent evt) { Minecraft.getInstance().particleEngine.register(ParticlesRegister.FLY_PARTICLE.get(), FlyParticle.Factory::new); } But I get the same error