Skip to content

Commit 71ace64

Browse files
Update SpiritAltarSpiritDisplayData.java
1 parent 977dddd commit 71ace64

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/main/java/com/sammy/malum/common/block/curiosities/spirit_altar/SpiritAltarSpiritDisplayData.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import dev.kosmx.playerAnim.core.util.MathHelper;
44
import net.minecraft.core.BlockPos;
55
import net.minecraft.util.Mth;
6+
import net.minecraft.util.RandomSource;
7+
import net.minecraft.world.item.ItemStack;
68
import net.minecraft.world.level.Level;
79
import net.minecraft.world.level.block.state.BlockState;
810
import net.minecraft.world.phys.Vec3;
@@ -13,6 +15,8 @@
1315
import team.lodestar.lodestone.modules.toolkit.inventory.ItemStackHandlerItemDisplayData;
1416
import team.lodestar.lodestone.modules.toolkit.inventory.LodestoneItemStackBlockHandler;
1517

18+
import java.util.Objects;
19+
1620
public class SpiritAltarSpiritDisplayData extends ItemStackHandlerItemDisplayData {
1721

1822
protected static final int WARMUP_DURATION = 30;
@@ -21,10 +25,16 @@ public class SpiritAltarSpiritDisplayData extends ItemStackHandlerItemDisplayDat
2125
public int warmupTicks;
2226

2327
public SpiritAltarSpiritDisplayData(LodestoneItemStackBlockHandler parent) {
24-
super(parent, 0.02f, 0.0125f);
28+
super(parent, 0.015f, 0.1f);
2529
altar = (SpiritAltarBlockEntity) parent.getParent();
2630
}
2731

32+
@Override
33+
public ItemDisplayDataEntry addNewItem(int index, ItemStack stack) {
34+
RandomSource random = Objects.requireNonNull(handler.getParent().getLevel()).random;
35+
return super.addNewItem(index, stack).setAngle(random.nextFloat() * 6.28f);
36+
}
37+
2838
@Override
2939
public void tick(LodestoneBlockEntity parent, Level level, BlockPos pos, BlockState state) {
3040
int target = altar.possibleRecipes.isEmpty() ? 0 : WARMUP_DURATION;
@@ -45,6 +55,12 @@ public float getLiftForItem(ItemDisplayDataEntry item, int index, float total) {
4555
return 0.25f + getSpinUp(Easing.QUARTIC_OUT) * getSpinUp(Easing.BACK_OUT) * 0.5f;
4656
}
4757

58+
@Override
59+
public float getItemScaleForItem(ItemDisplayDataEntry item, int index, float total) {
60+
float delta = Math.min(item.getAge() / 6f, 1f);
61+
return Easing.SINE_IN_OUT.lerp(delta, 0f, 0.5f);
62+
}
63+
4864
public float getSpinUp(Easing easing) {
4965
return easing.ease(warmupTicks / (float)WARMUP_DURATION);
5066
}

0 commit comments

Comments
 (0)