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

[1.15.2]Throwable entity renderer renders.... a pig?


SciPunk
 Share

Recommended Posts

Made a custom projectile, with it's own renderer but the when I right click to throw the projectile it spawns a... pig instead of my custom texture lol

 

Item class

 
 
 
 
Spoiler

public class ItemBatarang extends Item {


    public ItemBatarang(Item.Properties properties) {
        super(properties);
        setRegistryName("item_batarang");

    }

    public AbstractArrowEntity createBatarang(World worldIn, ItemStack stack, LivingEntity shooter) {
        ArrowEntity arrowentity = new ArrowEntity(worldIn, shooter);
        arrowentity.setPotionEffect(stack);
        return arrowentity;
    }





    @Override
    public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) {

        ItemStack stack = playerIn.getHeldItem(handIn);
        Vec3d look = playerIn.getLookVec();
       EntityBatarang batarang = new EntityBatarang(1.0D,1.0D,1.0D,worldIn);
        batarang.setPosition(playerIn.getPosX() + look.x * 1D, playerIn.getPosY() + look.y * 1D, playerIn.getPosZ() + look.z + look.z * 1D);
        batarang.shoot(playerIn, playerIn.rotationPitch, playerIn.rotationYaw, 0.0F,1.5F,0.5F);
        if (!worldIn.isRemote) {
            worldIn.addEntity(batarang);
        }

        worldIn.playSound(null,playerIn.getPosition(), SoundEvents.BLOCK_ANVIL_HIT, SoundCategory.PLAYERS,1.0f,1.0f);

        return new ActionResult<ItemStack>(ActionResultType.SUCCESS, stack);
    }
}

Entity class

 
 
 
 
Spoiler

public class EntityBatarang extends ThrowableEntity {

    public static final EntityType<EntityBatarang> BATARANG = register();



    protected EntityBatarang(EntityType<? extends ThrowableEntity> type, World worldIn) {
        super(BATARANG,worldIn);


    }


    @Override
    public IPacket<?> createSpawnPacket() {

        return NetworkHooks.getEntitySpawningPacket(this);

    }

    protected EntityBatarang(double x, double y, double z, World worldIn) {
        super(EntityBatarang.BATARANG, x, y, z, worldIn);

    }

    protected EntityBatarang(EntityType<? extends ThrowableEntity> type, LivingEntity livingEntityIn, World worldIn) {
        super(EntityBatarang.BATARANG, livingEntityIn, worldIn);
    }

    protected Item getDefaultItem() {
        return ItemHolder.BATARANG;
    }
    @Override
    protected void onImpact(RayTraceResult result) {

        if (!this.world.isRemote) {


            if (result instanceof EntityRayTraceResult) {
                EntityRayTraceResult entityRayTraceResult = (EntityRayTraceResult) result;
                if(entityRayTraceResult.getEntity() instanceof MobEntity) {
                    MobEntity entity = (MobEntity) entityRayTraceResult.getEntity();

                    entity.setFire(20);
                    entity.setHealth(0);
                }

            }
        }
    }

    @Override
    protected void registerData() {

    }

    public static EntityType register() {
        return EntityType.Builder.<EntityBatarang>create(EntityBatarang::new, EntityClassification.MISC).size(0.8F, 0.8F).build("batarang").setRegistryName(ComicUniverse.MODID,"batarang");
    }
}



Entity Renderer

 
 
 
 
Spoiler

public class BatarangRenderer extends EntityRenderer<EntityBatarang> {
    private static final ResourceLocation TEXTURE = new ResourceLocation(ComicUniverse.MODID,"textures/materials/batman_chest_part.png");

    public BatarangRenderer(EntityRendererManager renderManager) {
        super(renderManager);


        renderManager.getFontRenderer().drawStringWithShadow("Batarang",0,0.5f,2);
    }



    @Override
    public void render(EntityBatarang entityIn, float entityYaw, float partialTicks, MatrixStack matrixStackIn, IRenderTypeBuffer bufferIn, int packedLightIn) {

        super.render(entityIn, entityYaw, partialTicks, matrixStackIn, bufferIn, packedLightIn);
    }




    @Override
    public ResourceLocation getEntityTexture(EntityBatarang entity) {
        return TEXTURE;
    }
}

 

Link to comment
Share on other sites

  • 3 weeks later...

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



×
×
  • Create New...

Important Information

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