Jump to content

[1.10.2] Models Won't Register After Building.


trentmartin2

Recommended Posts

I've spent countless hours the past few days solving two trivial issues, and another has come my way. When I run minecraft in Eclipse, everything is perfect. Textures, models, recipes, etc... However, if I run minecraft forge using the minecraft launcher with my built .jar file in the "mods" folder, it seems that block models, item models, blockstates, and textures aren't registering.

 

I'm sick of going at it alone, so hopefully someone here can help me out. Thank you ahead of time.

Link to comment
Share on other sites

I do know java to a minor extent. I program robots in my engineering class, which pushed me back into trying minecraft modding again. I don't have a full understanding of how FORGE coding works, but I do know basic Java. As for the registry name change, I'm looking at my resources class.. I'm trying to understand to the fullest extent possible, but mostly everything I can find on the internet is based either towards beginner or MCCreator (which I don't think is any fun if coding is done for you), or towards people who have been modding for years.

 

Also, PLEASE tell me that there is a way that I can compress all of those damn block classes. I hate creating a new set of blocks, because it takes over an hour to create 10 basic blocks.

Link to comment
Share on other sites

private String unlocalizedName;

private String registryName;

 

ModBlocks(String unlocalizedName, String registryName)

{

this.unlocalizedName = unlocalizedName;

this.registryName = registryName;

}

 

I found this.. so basically the registryName is being pulled from my ModBlocks?

 

(within my Reference class... was never called resources... I assume this is what we were talking about, my bad)

Link to comment
Share on other sites

Okay, so after pondering for a while at school I had this idea to find my registry name by doing this simple line:

 

System.out.println(sand2.getRegistryName());

 

It is indeed capitalized... it reads: cb:Sand2

 

How do I change this? The only thing I have capitalized is the class name as far as "sand2" goes (or any of my blocks for that matter).

Link to comment
Share on other sites

HOLY CRAP I'M RETARDED. I thought the second string in all of my reference declarations was the class name, but it's the registry name! Sorry, the problem it wasn't due to not understanding it at all... It was due to falsely understanding it. Will see if it works.

 

edit: it does. thank you for helping me, although you could have been a hell of a lot nicer and more patient.

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.