Salicin: Block Scale

Quick rating

Salicin: Block Scale

No reviews yet

Easily and conveniently resize & rotate blocks (with BERs and collision boxes)

Mod Loaders
Forge
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Required
Server Unsupported

About

Project Details

Type
Mod
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

Source Issues Wiki Discord

About

Description

Easily and conveniently resize and rotate blocks (including their block entity renderers and collision boxes) with a single interface.

This is a library mod for Minecraft Forge 1.20.1. Have your Block implement IScalableBlock and/or IRotatableBlock, and it automatically gets scaled/rotated model rendering, BER rendering, and VoxelShape collision, no per-block mixin registration required.

Features

  • One interface, everything scaled: implement IScalableBlock, return an SBSProp config, done.
  • One interface, everything rotated: implement IRotatableBlock, return an SBSRProp config, and blocks rotate around any axis at any angle.
  • Block model rendering: BakedQuad vertices transformed via BakedModel proxy at model bake time, ensuring compatibility with rendering replacers like Embeddium & Oculus.
  • Block entity rendering: BERs (chests, signs, etc.) scale and rotate together with their parent block via Mixin injection into BlockEntityRenderDispatcher.
  • Collision box scaling & translation: VoxelShape automatically transformed when scaleShape is enabled; intelligently translated to match rotated model center.
  • Compound transforms: blocks can implement both interfaces — rotation is applied first, then scaling.
  • Configurable pivot: scale and rotate around any anchor point within the block.
  • Zero configuration: no mixin config, no JSON, no data-gen. Pure API.

Usage

public class MyBlock extends Block implements IScalableBlock, IRotatableBlock {

    @Override
    public SBSProp getScaleConfig(BlockState state) {
        // Scale to 50% around the block center, including collision
        return new SBSProp(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, true);
    }

    @Override
    public SBSRProp getRotationConfig(BlockState state) {
        // Rotate 45° around Y axis, centered on the block
        return new SBSRProp(45f, Direction.Axis.Y, 0.5f, 0.5f, 0.5f);
    }

    @Override
    public VoxelShape getShape(BlockState state,
                               BlockGetter level,
                               BlockPos pos,
                               CollisionContext ctx) {
        VoxelShape rotatedShape = getTranslatedShape(state, level, pos, ctx, 
                                                     super.getShape(state, level, pos, ctx));
        return getScaledShape(state, level, pos, ctx, rotatedShape);
    }
}

SBSProp Parameters

Field Description
scaleX / Y / Z Scale multiplier per axis (1.0 = original)
pivotX / Y / Z Anchor point in block coordinates (0~1, 0.5 = center)
scaleShape Whether to also scale the collision VoxelShape

SBSRProp Parameters

Field Description
degree Rotation angle in degrees
axis Rotation axis (Direction.Axis.X / Y / Z)
pivotX / Y / Z Anchor point in block coordinates (0~1, 0.5 = center)

Compatible

This mod is designed to be compatible with Embeddium & Oculus. Any incompatibility is welcome to feedback.

Feedback

If you have issues/pr to submit, please first send a brief description about the issue to [email protected], you will be redirected to a gitea website with username & password. You can continue your issues/pr there.

Screenshots

Gallery

  • Block with BER Scale Preview
    Block with BER Scale Preview Scale: Left-down corner point at placing direction (e.g. North: (0, 0, 0), West: (0, 0, 1))
  • Block Scaled & Rotated
    Block Scaled & Rotated Scale: 0.5 per axis, according (0.5, 0.5, 0.5) Rotate: 33 degrees through X axis, according (0.5, 0.5, 0.5)

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
CurseForge
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works