Skip to content

Commit

Permalink
Scale Items In Suspicious Blocks & Stop Rendering When Small
Browse files Browse the repository at this point in the history
  • Loading branch information
AViewFromTheTop committed Apr 9, 2024
1 parent 7c4995e commit 60a345d
Show file tree
Hide file tree
Showing 14 changed files with 257 additions and 202 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ loader_version=0.15.9
mod_id = trailiertales
mod_version = 1.0
# protocol version must be changed after each update with dual env changes
protocol_version = 5
protocol_version = 1
mod_loader = Fabric
maven_group = net.frozenblock
archives_base_name = TrailierTales
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,22 @@

public interface BrushableBlockEntityInterface {

void luna120$tick();
void trailierTales$tick();

boolean luna120$setItem(ItemStack itemStack);
boolean trailierTales$setItem(ItemStack itemStack);

boolean luna120$hasCustomItem();
boolean trailierTales$hasCustomItem();

float luna120$getXOffset(float partialTicks);
float trailierTales$getXOffset(float partialTicks);

float luna120$getYOffset(float partialTicks);
float trailierTales$getYOffset(float partialTicks);

float luna120$getZOffset(float partialTicks);
float trailierTales$getZOffset(float partialTicks);

float luna120$getRotation(float partialTicks);
float trailierTales$getRotation(float partialTicks);

Direction luna120$getHitDirection();
float trailierTales$getItemScale(float partialTicks);

Direction trailierTales$getHitDirection();

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package net.frozenblock.trailiertales.impl;

public interface DecoratedPotBlockEntityInterface {
boolean luna120$isWobbleFlipped();
boolean trailierTales$isWobbleFlipped();

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import net.minecraft.world.item.ItemStack;

public interface FallingBlockEntityInterface {
boolean luna120$setItem(ItemStack itemStack);
boolean trailierTales$setItem(ItemStack itemStack);

ItemStack luna120$getItem();
ItemStack trailierTales$getItem();

}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public class BlockEntityTypeMixin {
)
)
)
private static <T extends BlockEntity> BlockEntityType.Builder<T> luna120$addSuspiciousSand(
private static <T extends BlockEntity> BlockEntityType.Builder<T> trailierTales$addSuspiciousSand(
BlockEntityType.BlockEntitySupplier<? extends T> instance, Block[] blocks, Operation<BlockEntityType.Builder<T>> original
) {
List<Block> brushableBlocks = new ArrayList<>(Arrays.stream(blocks).toList());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,31 +28,31 @@
public class BrushParticleMixin {

@Unique
BlockHitResult luna120$blockHitResult;
private BlockHitResult trailierTales$blockHitResult;

@ModifyVariable(method = "onUseTick", at = @At("STORE"), ordinal = 0)
public BlockHitResult luna120$captureBlockHitResult(BlockHitResult blockHitResult) {
this.luna120$blockHitResult = blockHitResult;
public BlockHitResult trailierTales$captureBlockHitResult(BlockHitResult blockHitResult) {
this.trailierTales$blockHitResult = blockHitResult;
return blockHitResult;
}

@Inject(method = "onUseTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/BrushItem;getUseDuration(Lnet/minecraft/world/item/ItemStack;)I", shift = At.Shift.AFTER))
public void luna120$onUseTick(Level level, LivingEntity livingEntity2, ItemStack itemStack, int i, CallbackInfo info) {
this.luna120$halfBrush(level, livingEntity2, itemStack, i);
public void trailierTales$onUseTick(Level level, LivingEntity livingEntity2, ItemStack itemStack, int i, CallbackInfo info) {
this.trailierTales$halfBrush(level, livingEntity2, itemStack, i);
}

@Unique
public void luna120$halfBrush(Level level, LivingEntity livingEntity2, ItemStack itemStack, int i) {
public void trailierTales$halfBrush(Level level, LivingEntity livingEntity2, ItemStack itemStack, int i) {
int j = BrushItem.class.cast(this).getUseDuration(itemStack) - i + 1;
if (j % 5 == 0 && j % 10 != 5 && this.luna120$blockHitResult != null && livingEntity2 instanceof Player player) {
BlockPos blockPos = luna120$blockHitResult.getBlockPos();
this.luna120$spawnOppositeDustParticles(level, this.luna120$blockHitResult, level.getBlockState(blockPos), livingEntity2.getViewVector(0.0f), livingEntity2.getUsedItemHand() == InteractionHand.MAIN_HAND ? player.getMainArm() : player.getMainArm().getOpposite());
if (j % 5 == 0 && j % 10 != 5 && this.trailierTales$blockHitResult != null && livingEntity2 instanceof Player player) {
BlockPos blockPos = trailierTales$blockHitResult.getBlockPos();
this.trailierTales$spawnOppositeDustParticles(level, this.trailierTales$blockHitResult, level.getBlockState(blockPos), livingEntity2.getViewVector(0.0f), livingEntity2.getUsedItemHand() == InteractionHand.MAIN_HAND ? player.getMainArm() : player.getMainArm().getOpposite());
level.playSound(player, blockPos, SoundEvents.BRUSH_GENERIC, SoundSource.PLAYERS, 0.3F, 0.85F);
}
}

@Unique
public void luna120$spawnOppositeDustParticles(@NotNull Level level, @NotNull BlockHitResult blockHitResult, @NotNull BlockState blockState, @NotNull Vec3 vec3, @NotNull HumanoidArm humanoidArm) {
public void trailierTales$spawnOppositeDustParticles(@NotNull Level level, @NotNull BlockHitResult blockHitResult, @NotNull BlockState blockState, @NotNull Vec3 vec3, @NotNull HumanoidArm humanoidArm) {
int i = humanoidArm == HumanoidArm.RIGHT ? -1 : 1;
int j = level.getRandom().nextInt(2, 6);
BlockParticleOption blockParticleOption = new BlockParticleOption(ParticleTypes.BLOCK, blockState);
Expand Down
Loading

0 comments on commit 60a345d

Please sign in to comment.