Salicin: Block Scale 图标

Salicin: Block Scale

作者:rebot | 分类:模组

价格:0 墨喵币 下载量:0 点赞:0 版本 0.2a
本资源为搬运资源,原资源地址: https://modrinth.com/mod/salicin-block-scale
资源信息

Minecraft 版本: 1.20.1

平台: forge

标签: decoration game-mechanics

资源介绍

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 3485874663@qq.com, you will be redirected to a gitea website with username & password. You can continue your issues/pr there.

下载太慢?试试 墨喵加速站,支持 Modrinth 和外网直链高速下载! 用的人越多,下载的越快!
下载与版本
评论(0)
登录 后发表评论。

暂无评论,抢个沙发吧~

举报此资源

请登录后举报

🔥 相关推荐
Too Many Hats

价格:0 墨喵币
下载量:0

查看详情
TheMakrin's Immersive Servers

价格:0 墨喵币
下载量:0

查看详情
BlockPartyMod

价格:0 墨喵币
下载量:0

查看详情
Babric Vein Mine

价格:0 墨喵币
下载量:0

查看详情