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

Having problems with orientable blocks.


mateus_craft
 Share

Recommended Posts

I wanna do an block in my mod that places like an furnace.

But after editing the json file, the block is with the black and purple (or pink idk) texture.

Here are my json files :

 

My blockstate json file :

http://pastebin.com/Jbhnb9rn

 

My block model json :

http://pastebin.com/cM000ztD

 

My item model json :

http://pastebin.com/gYmfxwxj

 

Here is the block class :

http://pastebin.com/Udc81FV5

Link to comment
Share on other sites

Show how you register your block and it's model and the full paths to your json files.

Here is how my blocks class :

package com.mateus.Morestuff.init;

import net.minecraft.block.Block;
import net.minecraft.block.BlockCrops;
import net.minecraft.block.BlockPotato;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraftforge.fml.common.registry.GameRegistry;

import com.mateus.Morestuff.blocks.AlfaceCrops;
import com.mateus.Morestuff.blocks.Cortador;
import com.mateus.Morestuff.blocks.Lampa;



public class MBlocks {

public static Block cortador;

public static void init() {
	cortador = new Cortador();
}

public static void register(){
	registerBlock(cortador);
}

private static void registerBlock(Block block){
	GameRegistry.register(block);
	ItemBlock item = new ItemBlock(block);
	item.setRegistryName(block.getRegistryName());
	GameRegistry.register(item);
}

public static void registerRenders(){
	registerRender(cortador);
}

public static void registerRender(Block block){
	Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), 0, new ModelResourceLocation(block.getRegistryName(), "inventory"));
}

}

And the place where i register the unlocalizedname and registryname :

public static enum MateusBlocks {
	CORTADOR("cortador", "Cortador");

	private String registryName;
	private String unlocalizedName;
	MateusBlocks(String unlocalizedName, String registryName) {
	this.unlocalizedName = unlocalizedName;
	this.registryName = registryName;
}
  
public String getUnlocalizedName() {
	return unlocalizedName;
}
public String getRegistryName() {
	return registryName;
}
}

The block model ? didnt i showed it ,

well here is itagain

{
    "__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
    "textures": {
        "0": "modii:blocks/cortador",
        "1": "modii:blocks/cortador_lado"
    },
    "display": {
        "gui": {
            "rotation": [ 30, 225, 0 ],
            "translation": [ 0, 0, 0],
            "scale":[ 0.625, 0.625, 0.625 ]
        },
        "ground": {
            "rotation": [ 0, 0, 0 ],
            "translation": [ 0, 3, 0],
            "scale":[ 0.25, 0.25, 0.25 ]
        },
        "fixed": {
            "rotation": [ 0, 0, 0 ],
            "translation": [ 0, 0, 0],
            "scale":[ 0.5, 0.5, 0.5 ]
        },
        "thirdperson_righthand": {
            "rotation": [ 75, 45, 0 ],
            "translation": [ 0, 2.5, 0],
            "scale": [ 0.375, 0.375, 0.375 ]
        },
        "firstperson_righthand": {
            "rotation": [ 0, 45, 0 ],
            "translation": [ 0, 0, 0 ],
            "scale": [ 0.40, 0.40, 0.40 ]
        },
        "firstperson_lefthand": {
            "rotation": [ 0, 225, 0 ],
            "translation": [ 0, 0, 0 ],
            "scale": [ 0.40, 0.40, 0.40 ]
        }
    },
    "elements": [
        {
            "name": "Cube",
            "from": [ 0.0, 0.0, 0.0 ], 
            "to": [ 16.0, 16.0, 16.0 ], 
            "faces": {
                "north": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                "east": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                "south": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                "west": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                "up": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                "down": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }
            }
        }
    ]
}

my model location :

assets/modii/models/block/cortador.json

my blockstate location :

assets/modii/blockstates/Cortador.json

Link to comment
Share on other sites

BlockState

{
    "parent": "block/orientable",
    "textures": {
        "top": "modii:blocks/cortador_lado",
        "side": "modii:blocks/cortador_lado",
        "front": "modii:blocks/cortador"
    }
}

Class

package com.mateus.Morestuff.blocks;

import javax.annotation.Nullable;

import com.google.common.base.Predicate;
import com.mateus.Morestuff.IdDoMod;
import com.mateus.Morestuff.init.MTabs;

import net.minecraft.block.Block;
import net.minecraft.block.BlockDirectional;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyDirection;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Mirror;
import net.minecraft.util.Rotation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

public class Cortador extends Block {

public Cortador() {
	super(Material.ANVIL);
	setUnlocalizedName(IdDoMod.MateusBlocks.CORTADOR.getUnlocalizedName());
	setRegistryName(IdDoMod.MateusBlocks.CORTADOR.getRegistryName());
	setCreativeTab(MTabs.tabMateus);
}
}

Link to comment
Share on other sites

That's a model file, not a blockstates file.

Oh sorry  :-[ they have almost the same names so i messed it up

but here it is

"variants": {
        "facing=north": { "model": "modii:cortador" }
        "facing=south": { "model": "modii:cortador", "y": 180 },
        "facing=west":  { "model": "modii:cortador", "y": 270 },
        "facing=east":  { "model": "modii:cortador", "y": 90 }
    }

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.

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

    • Hello, I came to ask you to help me how to fix the crash at the beginning of the launch I tried to check the modpack via curseforge, I reinstalled java, I reinstalled the modpack and also I erased the cache folder of Minecraft launcher. No resolution of the problem.   The error is showing this:  "The game crashed whilst initializing game Error: java.lang.NullPointerException: Initializing game Exit code: -1" I made a pastebin link for you to see, here is the pastebin link: https://pastebin.com/dpEnzy01  
    • hi guys, i need help  with tileentitys. i have a button in my tileentity and i want if i press the butten, a function should be called up in the in the tileentityclass.  my Init in the Screen: @Override protected void init() { this.addButton(new ImageButton(this.guiLeft + 10, this.height + 30, 20, 18, 0, 0, 19, CONTINUE_BUTTON, (button) -> { ((ImageButton)button).setPosition(this.guiLeft + 20, this.height / 2 - 49); })); } and my tileentity package net.the_goldbeards.lootdebugs.tileentity; import net.minecraft.block.BlockState; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.nbt.CompoundNBT; import net.minecraft.tileentity.*; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemStackHandler; import net.the_goldbeards.lootdebugs.init.ModBlocks; import net.the_goldbeards.lootdebugs.init.ModItems; import net.the_goldbeards.lootdebugs.init.ModTileEntities; import javax.annotation.Nonnull; public class PubTile extends TileEntity implements ITickableTileEntity { private final ItemStackHandler itemHandler = createHandler(); private final LazyOptional<IItemHandler> handler = LazyOptional.of(() -> itemHandler); public PubTile(TileEntityType<?> tileEntityTypeIn) { super(tileEntityTypeIn); } public PubTile() { this(ModTileEntities.PUB_TILE.get()); } @Override public void read(BlockState state, CompoundNBT nbt) { itemHandler.deserializeNBT(nbt.getCompound("pub")); super.read(state, nbt); } @Override public CompoundNBT write(CompoundNBT compound) { compound.put("pub", itemHandler.serializeNBT()); return super.write(compound); } private ItemStackHandler createHandler() { return new ItemStackHandler(6) { @Override protected void onContentsChanged(int slot) { brewBlackout(); markDirty(); } @Override public boolean isItemValid(int slot, @Nonnull ItemStack stack) { switch (slot) { case 0: return stack.getItem() == Items.WATER_BUCKET || stack.getItem() == Items.BUCKET;//Water Insert case 1: return stack.getItem() == Items.REDSTONE;//Barley Bulb case 2: return stack.getItem() == Items.WARPED_DOOR;// Yeast Cone case 3: return stack.getItem() == Items.MAGENTA_BANNER;//Malz Stars case 4: return stack.getItem() == ModItems.BARLEY_BULB.get();//Starch Nut case 5: return stack.getItem() == ModItems.MUG.get() || stack.getItem() == ModItems.OILY_OAF.get() || stack.getItem() == ModItems.SKULL_CRUSHER.get() || stack.getItem() == ModItems.OILY_OAF.get();//Output -> Mug or Mug with Liquid default: return false; } } @Override protected int getStackLimit(int slot, @Nonnull ItemStack stack) { if (slot == 5) { return 1; } if (slot == 0) { return 5; } else { return 64; } } @Nonnull @Override public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { if (!isItemValid(slot, stack)) { return stack; } return super.insertItem(slot, stack, simulate); } }; } @Nonnull @Override public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap) { if (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { return handler.cast(); } return super.getCapability(cap); } public void brewBlackout() { boolean isWaterInSlot = this.itemHandler.getStackInSlot(0).getCount() == 1 && this.itemHandler.getStackInSlot(0).getItem() == Items.WATER_BUCKET; boolean isMugInSlot = this.itemHandler.getStackInSlot(5).getCount() == 1 && this.itemHandler.getStackInSlot(5).getItem() == ModItems.MUG.get(); boolean isIngredients = this.itemHandler.getStackInSlot(4).getCount() >= 3 && this.itemHandler.getStackInSlot(4).getItem() == ModItems.BARLEY_BULB.get(); if (isMugInSlot && isIngredients && isWaterInSlot) { this.itemHandler.getStackInSlot(0).shrink(1); this.itemHandler.insertItem(0, new ItemStack(Items.BUCKET, 1), false); this.itemHandler.getStackInSlot(4).shrink(3); this.itemHandler.getStackInSlot(5).shrink(1); this.itemHandler.insertItem(5, new ItemStack(ModBlocks.OILY_OAF.get(), 1), false); } } /* private void craft() { Inventory inv = new Inventory(itemHandler.getSlots()); for (int i = 0; i < itemHandler.getSlots(); i++) { inv.setInventorySlotContents(i, itemHandler.getStackInSlot(i)); } Optional<PubRecipe> recipe = world.getRecipeManager() .getRecipe(ModRecipeTypes.PUB_RECIPE, inv, world); recipe.ifPresent(iRecipe -> { ItemStack output = iRecipe.getRecipeOutput(); craftTheItem(output); markDirty(); }); } private void craftTheItem(ItemStack output) { itemHandler.extractItem(0, 1,false); itemHandler.insertItem(0, new ItemStack(Items.BUCKET,1),false); } */ @Override public void tick() { // if(world.isRemote) // {return;} // craft(); }  
    • Check your entity renderer. Did you make a custom model? Did you properly place your textures in the resources?
    • Okay, thanks, I did it, but now are spawning pings instead my mobs       
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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