Jump to content

[1.8] Leaf blocks [[Solved]]


PSmithgamer

Recommended Posts

Okay, to continue a lot of my last posts because I've been working on this for 6 hours now trying to get leaves to work... I have successfully created the block, but the textures are killing me and not working. So I've been searching the internet using this  troubleshooter guild http://greyminecraftcoder.blogspot.com.au/2015/03/troubleshooting-block-and-item-rendering.html. But it has turned up nothing with my code. So I've gone though all rendering and personally I cannot find a single thing wrong. I've even try to recreate the block yet I get the same problem. So if anyone knows what I can do to fix this or give me a different link to fixing this problem I'll be very thankful!

 

Block registration class - the blocks are mango_leaf and mango_leaves

 

package com.PSmithgamer.Alkia.init;

 

import com.PSmithgamer.Alkia.AlkiaMod;

import com.PSmithgamer.Alkia.Reference;

import com.PSmithgamer.Alkia.blocks.alkia_brick;

import com.PSmithgamer.Alkia.blocks.mango_leaf;

import com.PSmithgamer.Alkia.blocks.mango_leaves;

import com.PSmithgamer.Alkia.blocks.mango_wood;

import com.PSmithgamer.Alkia.blocks.sodalite_ore;

import com.PSmithgamer.Alkia.blocks.table;

import com.PSmithgamer.Alkia.blocks.test_block;

 

import net.minecraft.block.Block;

import net.minecraft.block.material.Material;

import net.minecraft.client.Minecraft;

import net.minecraft.client.resources.model.ModelResourceLocation;

import net.minecraft.item.Item;

import net.minecraftforge.fml.common.registry.GameRegistry;

 

public class AlkiaBlocks {

 

public static Block test_block;

public static Block alkia_brick;

public static Block sodalite_ore;

public static Block table;

public static Block mango_wood;

public static Block mango_leaf;

public static Block mango_leaves;

 

public static void init() {

test_block = new test_block(Material.rock).setUnlocalizedName("test_block").setCreativeTab(AlkiaMod.tabAlkia).setLightLevel(3);

alkia_brick = new alkia_brick(Material.rock).setUnlocalizedName("alkia_brick").setCreativeTab(AlkiaMod.tabAlkia).setLightLevel((float) 0.7);

sodalite_ore = new sodalite_ore(Material.rock).setUnlocalizedName("sodalite_ore").setCreativeTab(AlkiaMod.tabAlkia).setLightLevel((float) 0.5);

table = new table(Material.wood).setUnlocalizedName("table").setCreativeTab(AlkiaMod.tabAlkia);

mango_wood = new mango_wood(Material.wood).setUnlocalizedName("mango_wood").setCreativeTab(AlkiaMod.tabAlkia);

mango_leaf = new mango_leaf(Material.leaves).setUnlocalizedName("mango_leaf").setCreativeTab(AlkiaMod.tabAlkia);

mango_leaves = new mango_leaves(Material.wood).setUnlocalizedName("mango_leaves").setCreativeTab(AlkiaMod.tabAlkia);

 

}

 

public static void register() {

GameRegistry.registerBlock(test_block,test_block.getUnlocalizedName().substring(5));

GameRegistry.registerBlock(alkia_brick, alkia_brick.getUnlocalizedName().substring(5));

GameRegistry.registerBlock(sodalite_ore, sodalite_ore.getUnlocalizedName().substring(5));

GameRegistry.registerBlock(table, table.getUnlocalizedName().substring(5));

GameRegistry.registerBlock(mango_wood, mango_wood.getUnlocalizedName().substring(5));

GameRegistry.registerBlock(mango_leaf, mango_leaf.getLocalizedName().substring(5));

GameRegistry.registerBlock(mango_leaves, mango_leaves.getLocalizedName().substring(5));

}

 

public static void registerRenders() {

registerRender(test_block);

registerRender(alkia_brick);

registerRender(sodalite_ore);

registerRender(table);

registerRender(mango_wood);

registerRender(mango_leaf);

registerRender(mango_leaves);

}

 

public static void registerRender(Block block) {

Item item = Item.getItemFromBlock(block);

Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(

Reference.MOD_ID + ":" + item.getUnlocalizedName().substring(5), "inventory"));

}

}

 

Mango leaf

 

package com.PSmithgamer.Alkia.blocks;

 

import java.util.Random;

import java.lang.Override;

import java.util.Iterator;

 

import com.PSmithgamer.Alkia.init.AlkiaBlocks;

import com.PSmithgamer.Alkia.init.AlkiaItems;

 

import net.minecraft.block.Block;

import net.minecraft.block.material.Material;

import net.minecraft.block.state.IBlockState;

import net.minecraft.item.Item;

import net.minecraft.item.ItemStack;

import net.minecraft.util.BlockPos;

import net.minecraft.util.EnumWorldBlockLayer;

import net.minecraft.world.World;

 

public class mango_leaf extends Block{

 

public mango_leaf(Material materialIn) {

super(materialIn);

this.setStepSound(soundTypeGrass);

this.setHardness((float) 0.5);

this.setHarvestLevel("shears", 1);

Random rand = new Random();

int value = rand.nextInt(1)+1;

//this.getItemDropped(null, rand, 1);

}

 

@Override

public Item getItemDropped(IBlockState state, Random rand, int fortune) {

return AlkiaItems.Mango;

}

 

public int getRenderType() {

  return 3;

}

 

}

 

Mango_leaf blockstate

 

{

    "variants": {

        "normal": {"model": "am:mango_leaf"}

    }

}

 

Mango_leaf model block

 

{

    "parent": "block/cube_all",

    "textures": {

        "all": "am:blocks/mango_leaf"

    }

}

 

Mango_leaf model item

 

{

    "parent": "am:block/mango_leaf",

    "display": {

        "thirdperson": {

            "rotation": [ 10, -45, 170 ],

            "translation": [ 0, 1.5, -2.75 ],

            "scale": [ 0.375, 0.375, 0.375 ]

        }

    }

}

 

 

Mango_leaves

 

package com.PSmithgamer.Alkia.blocks;

 

import net.minecraft.block.Block;

import net.minecraft.block.material.Material;

 

public class mango_leaves extends Block{

 

public mango_leaves(Material materialIn) {

super(materialIn);

net.minecraft.block.BlockLeaves;

}

 

Mango_leaves blockstate

 

{

    "variants": {

        "normal": {"model": "am:mango_leaves"}

    }

}

 

Mango_leaves block

 

{

    "parent": "block/cube_all",

    "textures": {

        "all": "am:blocks/mango_leaves"

    }

}

 

Mango_leaves item

 

{

    "parent": "am:block/mango_leaves",

    "display": {

        "thirdperson": {

            "rotation": [ 10, -45, 170 ],

            "translation": [ 0, 1.5, -2.75 ],

            "scale": [ 0.375, 0.375, 0.375 ]

        }

    }

}

 

 

Files

 

vuNTpfS.png

xhzFxNZ.png

5zK6hl0.png

 

Link to comment
Share on other sites

https://gist.github.com/anonymous/276a65cde513b280780b

 

There are four errors showing up in the log (8 but they repeat twice each).

 

[16:06:56] [Client thread/ERROR] [FML]: Model definition for location am:mango_leaves.name#normal not found

[16:06:56] [Client thread/ERROR] [FML]: Model definition for location am: leaves#normal not found

[16:06:56] [Client thread/ERROR] [FML]: Model definition for location am: leaves#inventory not found

[16:06:56] [Client thread/ERROR] [FML]: Model definition for location am:mango_leaves.name#inventory not found

 

Link to comment
Share on other sites

The issue is that you're using the localised name instead of the unlocalised name to register

mango_leaf

and

mango_leaves

with

GameRegistry

. Since you haven't localised these names, it's using the unlocalised name with the

.name

suffix.

 

If all of your blocks are going to be registered using their unlocalised name, I'd recommend making a method that takes a

Block

argument and registers it using its unlocalised name so you don't need to write the same code over and over.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

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
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • It is the field that accesses the portal entrance position relative to the entity. So very much needed to make a portal work. What I don't understand is why the access widener works when running the client in Intellij but doesn't after I publish the jar and try to play with game with it.
    • So I'm using a mod that adds a "god sword" into the game. This sword is unfortunately not enchantable so I'm looking to change it. The only code that seems related is in the weapon's .class file which is here:  public int getItemEnchantability() { return this.tier.m_6601_(); }   The entire file is below: package blackwolf00.elementalswords.common; import blackwolf00.elementalswords.config.ConfigEffects; import com.google.common.collect.ImmutableMultimap; import com.google.common.collect.Multimap; import com.mojang.blaze3d.platform.InputConstants; import java.util.List; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Tier; import net.minecraft.world.item.TieredItem; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.Vanishable; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.ToolAction; import net.minecraftforge.common.ToolActions; public class FusionSword extends TieredItem implements Vanishable { private final float totalDamage; private final Tier tier; private final Multimap<Attribute, AttributeModifier> defaultModifiers; public FusionSword(Tier tierIn, int damage, float speed, Item.Properties builderIn) { super(tierIn, builderIn); this.tier = tierIn; this.totalDamage = damage + this.tier.m_6631_(); ImmutableMultimap.Builder<Attribute, AttributeModifier> builder = ImmutableMultimap.builder(); builder.put(Attributes.f_22281_, new AttributeModifier(f_41374_, "Weapon modifier", this.totalDamage, AttributeModifier.Operation.ADDITION)); builder.put(Attributes.f_22283_, new AttributeModifier(f_41375_, "Weapon modifier", speed, AttributeModifier.Operation.ADDITION)); this.defaultModifiers = (Multimap<Attribute, AttributeModifier>)builder.build(); } public int getItemEnchantability() { return this.tier.m_6601_(); } public boolean getIsRepairable(ItemStack toRepair, ItemStack repair) { return (this.tier.m_6282_().test(repair) || isRepairable(toRepair)); } public float getAttackDamage() { return this.totalDamage; } public boolean m_6777_(BlockState state, Level level, BlockPos pos, Player player) { return !player.m_7500_(); } public float m_8102_(ItemStack stack, BlockState state) { return 1.0F; } public boolean m_7579_(ItemStack stack, LivingEntity target, LivingEntity attacker) { stack.m_41622_(1, attacker, entity -> entity.m_21166_(EquipmentSlot.MAINHAND)); return true; } public boolean m_6813_(ItemStack stack, Level level, BlockState state, BlockPos pos, LivingEntity entityLiving) { if (state.m_60800_((BlockGetter)level, pos) != 0.0F) stack.m_41622_(2, entityLiving, entity -> entity.m_21166_(EquipmentSlot.MAINHAND)); return true; } public boolean m_8096_(BlockState blockIn) { return blockIn.m_60713_(Blocks.f_50033_); } public boolean m_5812_(ItemStack item) { return true; } public Multimap<Attribute, AttributeModifier> m_7167_(EquipmentSlot equipmentSlot) { return (equipmentSlot == EquipmentSlot.MAINHAND) ? this.defaultModifiers : super.m_7167_(equipmentSlot); } public boolean onLeftClickEntity(ItemStack stack, Player player, Entity entity) { return super.onLeftClickEntity(stack, player, entity); } @OnlyIn(Dist.CLIENT) public void m_7373_(ItemStack stack, Level level, List<Component> tooltip, TooltipFlag flag) { super.m_7373_(stack, level, tooltip, flag); if (InputConstants.m_84830_(Minecraft.m_91087_().m_91268_().m_85439_(), 340)) { tooltip.add(Component.m_237115_("tooltip.fusion_sword").m_130940_(ChatFormatting.GRAY)); } else { tooltip.add(Component.m_237115_("tooltip.hold_shift").m_130940_(ChatFormatting.GRAY)); } } public InteractionResultHolder<ItemStack> m_7203_(Level level, Player playerIn, InteractionHand handIn) { if (((Boolean)ConfigEffects.JUMP_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19603_, 10000, ((Integer)ConfigEffects.JUMP_F_LEVEL.get()).intValue() - 1)); if (((Boolean)ConfigEffects.MOVEMENT_SPEED_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19596_, 10000, ((Integer)ConfigEffects.MOVEMENT_SPEED_F_LEVEL.get()).intValue() - 1)); if (((Boolean)ConfigEffects.SLOW_FALLING_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19591_, 10000, ((Integer)ConfigEffects.SLOW_FALLING_F_LEVEL.get()).intValue() - 1)); if (((Boolean)ConfigEffects.ABSORPTION_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19617_, 10000, ((Integer)ConfigEffects.ABSORPTION_F_LEVEL.get()).intValue() - 1)); if (((Boolean)ConfigEffects.DAMAGE_RESISTANCE_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19606_, 10000, ((Integer)ConfigEffects.DAMAGE_RESISTANCE_F_LEVEL.get()).intValue() - 1)); if (((Boolean)ConfigEffects.DAMAGE_BOOST_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19600_, 10000, ((Integer)ConfigEffects.DAMAGE_BOOST_F_LEVEL.get()).intValue() - 1)); if (((Boolean)ConfigEffects.CONDUIT_POWER_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19592_, 10000, ((Integer)ConfigEffects.CONDUIT_POWER_F_LEVEL.get()).intValue() - 1)); if (((Boolean)ConfigEffects.DOLPHINS_GRACE_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19593_, 10000, ((Integer)ConfigEffects.DOLPHINS_GRACE_F_LEVEL.get()).intValue() - 1)); if (((Boolean)ConfigEffects.WATER_BREATHING_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19608_, 10000, ((Integer)ConfigEffects.WATER_BREATHING_F_LEVEL.get()).intValue() - 1)); if (((Boolean)ConfigEffects.FIRE_RESISTANCE_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19607_, 10000, ((Integer)ConfigEffects.FIRE_RESISTANCE_F_LEVEL.get()).intValue() - 1)); if (((Boolean)ConfigEffects.HEALTH_BOOST_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19616_, 10000, ((Integer)ConfigEffects.HEALTH_BOOST_F_LEVEL.get()).intValue() - 1)); if (((Boolean)ConfigEffects.REGENERATION_F.get()).booleanValue()) playerIn.m_7292_(new MobEffectInstance(MobEffects.f_19605_, 10000, ((Integer)ConfigEffects.REGENERATION_F_LEVEL.get()).intValue() - 1)); return InteractionResultHolder.m_19098_(playerIn.m_21120_(handIn)); } public boolean canPerformAction(ItemStack stack, ToolAction toolAction) { return ToolActions.DEFAULT_SWORD_ACTIONS.contains(toolAction); } } How do I make this thing enchantable?  
    • The mod I'm working on is in 1.19.2. The portal works correctly in Intellij but when I publish the jar, put it in the mods folder of the game it crashes with the following error whenever any entity collides with it: java.lang.IllegalAccessError: class com.github.warrentode.turtleblockacademy.blocks.TBAMiningPortalBlock tried to access protected field net.minecraft.world.entity.Entity.f_19819_ (com.github.warrentode.turtleblockacademy.blocks.TBAMiningPortalBlock is in module [email protected] of loader 'TRANSFORMER' @16c5b50a; net.minecraft.world.entity.Entity is in module [email protected] of loader 'TRANSFORMER' @16c5b50a)     at com.github.warrentode.turtleblockacademy.blocks.TBAMiningPortalBlock.m_7892_(TBAMiningPortalBlock.java:124) ~[turtleblockacademy-2024.2025-1.0.0.jar%23572!/:2024.2025-1.0.0] {re:classloading} The thing is, I have Entity.f_19819_ in my accessTransformer.cfg file in this line: public net.minecraft.world.entity.Entity f_19819_ # portalEntrancePos So what do I need to do to fix this error?
    • It will be about medeaival times
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.