// Path: src/main/java/net/darkhax/darkutils/features/flatblocks/collision/CollisionEffect.java
// @FunctionalInterface
// public interface CollisionEffect {
//     
//     /**
//      * This functional interface is used by the flat tile blocks in this mod. They are applied
//      * to an entity when that entity collides with the block.
//      *
//      * @param state The state of the block.
//      * @param world Instance of the world.
//      * @param pos The current block position.
//      * @param entity The entity that collided with the block.
//      */
//     void apply (BlockState state, World world, BlockPos pos, Entity entity);
// }
// 
// Path: src/main/java/net/darkhax/darkutils/features/flatblocks/tick/TickEffect.java
// @FunctionalInterface
// public interface TickEffect {
//     
//     /**
//      * This functional interface is used by the flat tile blocks in this mod. This tick effect
//      * will be applied based on the specified tick rate.
//      *
//      * @param state The current blocks tate.
//      * @param world The world the block is in.
//      * @param pos The position of the block.
//      */
//     void apply (BlockState state, World world, BlockPos pos);
// }


import java.util.Random;
import net.darkhax.darkutils.features.flatblocks.collision.CollisionEffect;
import net.darkhax.darkutils.features.flatblocks.tick.TickEffect;
import net.minecraft.block.BlockState;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorldReader;
import net.minecraft.world.World;
package net.darkhax.darkutils.features.flatblocks;



@SuppressWarnings("deprecation")
public class BlockFlatTileRotatingTicking extends BlockFlatTileRotating {
    
    private final TickEffect tickEffect;
    private final int tickRate;
    
// Path: src/main/java/net/darkhax/darkutils/features/flatblocks/collision/CollisionEffect.java
// @FunctionalInterface
// public interface CollisionEffect {
//     
//     /**
//      * This functional interface is used by the flat tile blocks in this mod. They are applied
//      * to an entity when that entity collides with the block.
//      *
//      * @param state The state of the block.
//      * @param world Instance of the world.
//      * @param pos The current block position.
//      * @param entity The entity that collided with the block.
//      */
//     void apply (BlockState state, World world, BlockPos pos, Entity entity);
// }
// 
// Path: src/main/java/net/darkhax/darkutils/features/flatblocks/tick/TickEffect.java
// @FunctionalInterface
// public interface TickEffect {
//     
//     /**
//      * This functional interface is used by the flat tile blocks in this mod. This tick effect
//      * will be applied based on the specified tick rate.
//      *
//      * @param state The current blocks tate.
//      * @param world The world the block is in.
//      * @param pos The position of the block.
//      */
//     void apply (BlockState state, World world, BlockPos pos);
// }


// Path: src/main/java/net/darkhax/darkutils/features/flatblocks/BlockFlatTileRotatingTicking.java
import java.util.Random;
import net.darkhax.darkutils.features.flatblocks.collision.CollisionEffect;
import net.darkhax.darkutils.features.flatblocks.tick.TickEffect;
import net.minecraft.block.BlockState;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorldReader;
import net.minecraft.world.World;

package net.darkhax.darkutils.features.flatblocks;



@SuppressWarnings("deprecation")
public class BlockFlatTileRotatingTicking extends BlockFlatTileRotating {
    
    private final TickEffect tickEffect;
    private final int tickRate;
    
    public BlockFlatTileRotatingTicking(CollisionEffect collisionEffect, TickEffect tickEffect, int tickRate) {