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

Get custom Player_Head (skull) with custom name as ItemStack (1.12.2)

Recommended Posts

I found an old thread from WARDOGSK93 on how to give a custom player_head skull as an ItemStack but thread got locked because it was so old. Just wanted to share the method I made (updated to be 1.12.2 compatible) for this (I added giving it a custom name too). 

    // REFERENCE: http://www.minecraftforge.net/forum/topic/24228-solved-1710-player-skulls/    	
    private ItemStack GetCustomHead(String playerName, String headName) {	    	
    	ItemStack customHead = new ItemStack(Items.field_151144_bL, 1, 3);    
    	customHead.setTag(new NBTTagCompound()); 
    	customHead.getTag().setTag("SkullOwner", new NBTTagString(playerName));      	
    	return customHead;    	    


@WARDOGSK93 - Thank you again if you're still out there!

Link to post
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.

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.

  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • I decided to make a minecraft mod and I made a block with a custom model that is one block wide and two blocks tall. After adding in what I needed to, IntelliJ had no errors so I thought that everything would work. However, when I loaded into my game everything worked fine, except that my custom block didn't exist at all. My custom tab was blank, it wasn't in any of the vanilla tabs (or my other custom tab), and it said that the block was invalid and didn't exist when I tried to use the /give command to give me the block manually. IntelliJ still gave no errors. How do I fix this? Here is my Registry Handler class. package com.gt546.gfasm.util; import com.gt546.gfasm.GFASM; import com.gt546.gfasm.blocks.OakChair; import net.minecraft.block.Block; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class RegistryHandler { public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, GFASM.MOD_ID); public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, GFASM.MOD_ID); public static void init() { ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus()); BLOCKS.register(FMLJavaModLoadingContext.get().getModEventBus()); } //Furniture Blocks public static final RegistryObject<Block> OAK_CHAIR = BLOCKS.register("oak_chair", OakChair::new); //Furniture Block Items public static final RegistryObject<Item> OAK_CHAIR_ITEM = ITEMS.register("oak_chair", () -> new BlockItem(OAK_CHAIR.get(), new Item.Properties().group(GFASM.FTAB))); //Statue Blocks //Statue Block Items } And here is my main block class. package com.gt546.gfasm.blocks; import net.minecraft.block.*; import net.minecraft.block.material.Material; import net.minecraft.item.BlockItemUseContext; import net.minecraft.state.DirectionProperty; import net.minecraft.state.StateContainer; import net.minecraft.util.Mirror; import net.minecraft.util.Rotation; import net.minecraftforge.common.ToolType; import javax.annotation.Nullable; public class OakChair extends Block { private static final DirectionProperty FACING = HorizontalBlock.HORIZONTAL_FACING; public OakChair() { super(AbstractBlock.Properties.create(Material.WOOD) .hardnessAndResistance(3.5f, 4.0f) .sound(SoundType.WOOD) .harvestLevel(0) .harvestTool(ToolType.AXE) .setRequiresTool()); } @Nullable @Override public BlockState getStateForPlacement(BlockItemUseContext context) { return this.getDefaultState().with(FACING, context.getPlacementHorizontalFacing().getOpposite()); } @Override public BlockState rotate(BlockState state, Rotation rot) { return state.with(FACING, rot.rotate(state.get(FACING))); } @Override public BlockState mirror(BlockState state, Mirror mirrorIn) { return state.rotate(mirrorIn.toRotation(state.get(FACING))); } @Override protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) { builder.add(FACING); } }  
    • Diesieben07, how to close the topic lmao?
    • ANYWAYS! I finaly found the way to install java. Well. I guess we can close this topic now.
    • Thank you for that. I it also got me to re-examine a bit of 'my code' again, and I was able to cleanly insert it properly this time and actually UNDERSTAND what was doing what. Unsure if I should list the updated code I got from it, but in short effect I got the BLOCK & ITEM override sitting next to my  actual ones, and it being called as intended. -- genuinely wish there was a better way to inject behavior into a block that was able to interact with tick void w/o having to recreate/override the block.   while I did what I could to minimize any conflicts possible... I feel this can cause unexpected behavior if another mod recreates the same block(s) -my case, sand, red_sand, gravel ... for the gravity behavior.
  • Topics

  • Who's Online (See full list)

  • Create New...

Important Information

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