mirror of
https://github.com/TeamMidnightDust/VisualOverhaul.git
synced 2025-12-17 06:15:09 +01:00
Port to Architectury
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package eu.midnightdust.visualoverhaul.mixin;
|
||||
|
||||
import eu.midnightdust.visualoverhaul.config.VOConfig;
|
||||
import net.minecraft.block.AbstractFurnaceBlock;
|
||||
import net.minecraft.block.BlastFurnaceBlock;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.particle.ParticleTypes;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.random.Random;
|
||||
import net.minecraft.world.World;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(BlastFurnaceBlock.class)
|
||||
public abstract class MixinBlastFurnaceBlock extends AbstractFurnaceBlock {
|
||||
protected MixinBlastFurnaceBlock(Settings settings) {
|
||||
super(settings);
|
||||
}
|
||||
|
||||
@Inject(at = @At("TAIL"), method = "randomDisplayTick")
|
||||
public void vo$randomDisplayTick(BlockState state, World world, BlockPos pos, Random random, CallbackInfo ci) {
|
||||
if (state.get(LIT) && VOConfig.blast_furnace_particles) {
|
||||
double d = (double)pos.getX() + 0.5D;
|
||||
double e = pos.getY();
|
||||
double f = (double)pos.getZ() + 0.5D;
|
||||
|
||||
Direction direction = state.get(FACING);
|
||||
Direction.Axis axis = direction.getAxis();
|
||||
double h = random.nextDouble() * 0.6D - 0.3D;
|
||||
double i = axis == Direction.Axis.X ? (double)direction.getOffsetX() * 0.4D : h;
|
||||
double j = random.nextDouble() * 6.0D / 16.0D;
|
||||
double k = axis == Direction.Axis.Z ? (double)direction.getOffsetZ() * 0.4D : h;
|
||||
world.addParticle(ParticleTypes.FLAME, d + i, e + j, f + k, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user