Jump to content

[1.12.1] Tell me how to create your item with a model .obj


GreatWolf

Recommended Posts

Hello, I'm new to Forge and I want to create an item that would have a 3D model with an extension  .obj, I managed to make an object with a regular flat texture, but I can't understand how to do it. I know that it is necessary to use

OBJLoader.INSTANCE.addDomain();

, but where I need to enter it and what next I do not know :)

Link to comment
Share on other sites

2 hours ago, GreatWolf said:

where I need to enter it

Before models are loaded, so in pre-initialization for example. Be sure to do this through a proxy though.

 

2 hours ago, GreatWolf said:

what next

Use forge's blockstates format to specify the model of the item to point to your obj file.

Link to comment
Share on other sites

32 минуты назад V0idWa1k3r сказал:

Before models are loaded, so in pre-initialization for example. Be sure to do this through a proxy though.

Use forge's blockstates format to specify the model of the item to point to your obj file.

Thanks, I'll try to do it. :)

Edited by GreatWolf
Link to comment
Share on other sites

Quote

 

Before models are loaded, so in pre-initialization for example. Be sure to do this through a proxy though.

 

Use forge's blockstates format to specify the model of the item to point to your obj file.

 

If I try to create a file in the models folder, then the object is transparent, and if in the blockstates folder, then the texture is pink and black #inventory 

 

File fyringpan.json

 

{
     "forge_marker": 1,
         "defaults": 
         {
             "textures": 
             {
                "all": "zm:items/fyringpan.png"
             }
         },
         "variants": 
         {
            "normal":
            {
                "model": "zm:items/fyringpan.obj"
            },
             "inventory": 
            {
                "model": "zm:items/fyringpan.obj"
            }
     }
}

 

File ClientProxy

public class ClientProxy extends CommonProxy
{
    @Override
    public void registerItemRenderer(Item item, int meta, String id) {
        ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), id));
    }
     @Override
        public void preInit(FMLPreInitializationEvent event)
        {
            super.preInit(event);
            OBJLoader.INSTANCE.addDomain (Reference.MODID);
        }

        @Override
        public void init(FMLInitializationEvent event)
        {
            super.init(event);
        }

        @Override
        public void postInit(FMLPostInitializationEvent event)
        {
            super.postInit(event);
        }
}

 

Edited by GreatWolf
Link to comment
Share on other sites

2 hours ago, V0idWa1k3r said:

Before models are loaded, so in pre-initialization for example. Be sure to do this through a proxy though.

 

Use forge's blockstates format to specify the model of the item to point to your obj file.

YES, it turns out there is a model :)

Only problems with texture and size.

Edited by GreatWolf
Link to comment
Share on other sites

13 hours ago, V0idWa1k3r said:

До загрузки моделей, например, при предварительной инициализации. Обязательно сделайте это через прокси.

 

Используйте формат блочных состояний forge, чтобы указать модель элемента, указывающую на ваш файл obj.

 

13:01:21] [main/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[13:01:21] [main/ERROR] [TEXTURE ERRORS]: The following texture errors were found.
[13:01:21] [main/ERROR] [TEXTURE ERRORS]: ==================================================
[13:01:21] [main/ERROR] [TEXTURE ERRORS]:   DOMAIN zm
[13:01:21] [main/ERROR] [TEXTURE ERRORS]: --------------------------------------------------
[13:01:21] [main/ERROR] [TEXTURE ERRORS]:   domain zm is missing 0 textures
[13:01:21] [main/ERROR] [TEXTURE ERRORS]:     domain zm has 1 location:
[13:01:21] [main/ERROR] [TEXTURE ERRORS]:       mod zm resources at E:\ZombiMod\bin
[13:01:21] [main/ERROR] [TEXTURE ERRORS]: -------------------------
[13:01:21] [main/ERROR] [TEXTURE ERRORS]:     The following other errors were reported for domain zm:
[13:01:21] [main/ERROR] [TEXTURE ERRORS]: -------------------------
[13:01:21] [main/ERROR] [TEXTURE ERRORS]:     Problem: broken aspect ratio and not an animation
[13:01:21] [main/ERROR] [TEXTURE ERRORS]:       textures/items/fryingpan.png
[13:01:21] [main/ERROR] [TEXTURE ERRORS]: ==================================================
[13:01:21] [main/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

Link to comment
Share on other sites

7 minutes ago, diesieben07 said:

Before you do anything else, change your Mod ID! Mod IDs must be unique. "zm" is NOT unique. Make it long, e.g. "zombiemod" (even that is not very unique...).

 

Textures must be square.

Oh sure, thanks, I somehow did not pay attention to this line :)

Link to comment
Share on other sites

1 hour ago, diesieben07 said:

Before you do anything else, change your Mod ID! Mod IDs must be unique. "zm" is NOT unique. Make it long, e.g. "zombiemod" (even that is not very unique...).

 

Textures must be square.

[14:40:02] [main/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[14:40:02] [main/ERROR] [TEXTURE ERRORS]: The following texture errors were found.
[14:40:02] [main/ERROR] [TEXTURE ERRORS]: ==================================================
[14:40:02] [main/ERROR] [TEXTURE ERRORS]:   DOMAIN zm
[14:40:02] [main/ERROR] [TEXTURE ERRORS]: --------------------------------------------------
[14:40:02] [main/ERROR] [TEXTURE ERRORS]:   domain zm is missing 1 texture
[14:40:02] [main/ERROR] [TEXTURE ERRORS]:     domain zm has 1 location:
[14:40:02] [main/ERROR] [TEXTURE ERRORS]:       mod zm resources at E:\ZombiMod\bin
[14:40:02] [main/ERROR] [TEXTURE ERRORS]: -------------------------
[14:40:02] [main/ERROR] [TEXTURE ERRORS]:     The missing resources for domain zm are:
[14:40:02] [main/ERROR] [TEXTURE ERRORS]:       textures/items\fryingpan.png
[14:40:02] [main/ERROR] [TEXTURE ERRORS]: -------------------------
[14:40:02] [main/ERROR] [TEXTURE ERRORS]:     No other errors exist for domain zm
[14:40:02] [main/ERROR] [TEXTURE ERRORS]: ==================================================
[14:40:02] [main/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

Link to comment
Share on other sites

7 hours ago, diesieben07 said:

You still have not changed your mod ID.

Change it. Right now. Before you do anything else.

 

Use "/" to separate paths in textures. Not "\".

Thank you, everything works but a very large model, please tell me how to reduce it.

Link to comment
Share on other sites

On 4/11/2019 at 11:53 PM, V0idWa1k3r said:

Before models are loaded, so in pre-initialization for example. Be sure to do this through a proxy though.

 

Use forge's blockstates format to specify the model of the item to point to your obj file.

Very large model, please tell me how to reduce it.

Edited by GreatWolf
Link to comment
Share on other sites

The problem you have is software like blender makes large files. json models are smaller to make. If you want to reduce the size on an obj model:

1. Check the export quality on the software, Minecraft can have a low quality texture

2. Remove high-poly objects, you don't need a very detailed model.

Link to comment
Share on other sites

19 hours ago, V0idWa1k3r said:

I think he means his model is huge as in scaling, not huge as in file size.

Scale the model down in the model editor you are using.

Ohh, yeah that makes more sense.

Also, the scale should be 16x16. Any editor should show the xyz coordinates of where you have selected.

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

    • Hello everyone, I'm making this post to seek help for my modded block, It's a special block called FrozenBlock supposed to take the place of an old block, then after a set amount of ticks, it's supposed to revert its Block State, Entity, data... to the old block like this :  The problem I have is that the system breaks when handling multi blocks (I tried some fix but none of them worked) :  The bug I have identified is that the function "setOldBlockFields" in the item's "setFrozenBlock" function gets called once for the 1st block of multiblock getting frozen (as it should), but gets called a second time BEFORE creating the first FrozenBlock with the data of the 1st block, hence giving the same data to the two FrozenBlock :   Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=head] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@73681674 BlockEntityData : id:"minecraft:bed",x:3,y:-60,z:-6} Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=3, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=2, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} here is the code inside my custom "freeze" item :    @Override     public @NotNull InteractionResult useOn(@NotNull UseOnContext pContext) {         if (!pContext.getLevel().isClientSide() && pContext.getHand() == InteractionHand.MAIN_HAND) {             BlockPos blockPos = pContext.getClickedPos();             BlockPos secondBlockPos = getMultiblockPos(blockPos, pContext.getLevel().getBlockState(blockPos));             if (secondBlockPos != null) {                 createFrozenBlock(pContext, secondBlockPos);             }             createFrozenBlock(pContext, blockPos);             return InteractionResult.SUCCESS;         }         return super.useOn(pContext);     }     public static void createFrozenBlock(UseOnContext pContext, BlockPos blockPos) {         BlockState oldState = pContext.getLevel().getBlockState(blockPos);         BlockEntity oldBlockEntity = oldState.hasBlockEntity() ? pContext.getLevel().getBlockEntity(blockPos) : null;         CompoundTag oldBlockEntityData = oldState.hasBlockEntity() ? oldBlockEntity.serializeNBT() : null;         if (oldBlockEntity != null) {             pContext.getLevel().removeBlockEntity(blockPos);         }         BlockState FrozenBlock = setFrozenBlock(oldState, oldBlockEntity, oldBlockEntityData);         pContext.getLevel().setBlockAndUpdate(blockPos, FrozenBlock);     }     public static BlockState setFrozenBlock(BlockState blockState, @Nullable BlockEntity blockEntity, @Nullable CompoundTag blockEntityData) {         BlockState FrozenBlock = BlockRegister.FROZEN_BLOCK.get().defaultBlockState();         ((FrozenBlock) FrozenBlock.getBlock()).setOldBlockFields(blockState, blockEntity, blockEntityData);         return FrozenBlock;     }  
    • It is an issue with quark - update it to this build: https://www.curseforge.com/minecraft/mc-mods/quark/files/3642325
    • Remove Instant Massive Structures Mod from your server     Add new crash-reports with sites like https://paste.ee/  
    • Update your drivers: https://www.amd.com/en/support/graphics/amd-radeon-r9-series/amd-radeon-r9-200-series/amd-radeon-r9-280x
  • Topics

×
×
  • Create New...

Important Information

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