Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (โ‹ฎ) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

  • Author
2 hours ago, ChampionAsh5357 said:

You need to add a BlockEntityRenderer for the chest if you would like to do it exactly as vanilla. See ChestRenderer.

Okay, it worked, but I'm wondering how I can change the texture of the chest.

ย 

  • Author
9 hours ago, ChampionAsh5357 said:

Change the texture supplied to `#getTextureLocation`.

Well i don't see this method but i did something like this and it still doesn't work.

public class MilitaryChestRender extends ChestRenderer<MilitaryChestBlockEntity> {
    public static final Material CHEST_LOCATION = chestMaterial("normal");
    public static final Material CHEST_LOCATION_LEFT = chestMaterial("normal_left");
    public static final Material CHEST_LOCATION_RIGHT = chestMaterial("normal_right");

    public MilitaryChestRender(BlockEntityRendererProvider.Context pContext) {
        super(pContext);
    }

    @Override
    protected Material getMaterial(MilitaryChestBlockEntity blockEntity, ChestType chestType) {
        return chooseMaterial(chestType, CHEST_LOCATION, CHEST_LOCATION_LEFT, CHEST_LOCATION_RIGHT);
    }

    public static Material chooseMaterial(ChestType pChestType, Material pDoubleMaterial, Material pLeftMaterial, Material pRightMaterial) {
        return switch (pChestType) {
            case LEFT -> pLeftMaterial;
            case RIGHT -> pRightMaterial;
            default -> pDoubleMaterial;
        };
    }

    public static Material chestMaterial(String chestName) {
        return new Material(Sheets.CHEST_SHEET, Helper.getRc("textures/entity/chest/" + chestName));
    }
}

ย 

Ah, my bad. I forgot that the chest is not an entity. So, to answer your question, the resource location already knows its a texture so you don't need to specify the texture folder. Additionally, are your textures in the location you are specifying and inside the correct folder of the atlas?

  • Author
23 minutes ago, ChampionAsh5357 said:

Ah, my bad. I forgot that the chest is not an entity. So, to answer your question, the resource location already knows its a texture so you don't need to specify the texture folder. Additionally, are your textures in the location you are specifying and inside the correct folder of the atlas?

My texture path is assets/apocaalypse/textures/entity/chest/norma.png and normal_lef.png and normal_right.png

And I changed the military chest render class to vanilla

event.registerBlockEntityRenderer(BlockEntityInit.MILITARY_CHEST.get(), ChestRenderer::new);

ย 

45 minutes ago, Squander said:

My texture path is assets/apocaalypse/textures/entity/chest/norma.png and normal_lef.png and normal_right.png

I'm going to assume what you provided is a misspelling and that those are normal, normal_left, and normal_right.

5 hours ago, Squander said:
public static Material chestMaterial(String chestName) {
        return new Material(Sheets.CHEST_SHEET, Helper.getRc("textures/entity/chest/" + chestName));
    }

What does `Helper#getRc` do? Additionally, you don't need to specify `textures` in the resource location since the material already knows that's where textures are.

  • Author
1 hour ago, ChampionAsh5357 said:

I'm going to assume what you provided is a misspelling and that those are normal, normal_left, and normal_right.

What does `Helper#getRc` do? Additionally, you don't need to specify `textures` in the resource location since the material already knows that's where textures are.

Helper.getRc returns a new ResourceLocation instance with mod id

On 12/30/2022 at 12:41 PM, ChampionAsh5357 said:

Additionally, you don't need to specify `textures` in the resource location since the material already knows that's where textures are.

Did you do this part?

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions โ†’ Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.