/*
 *  Copyright 2025-2026 R3944Realms
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

package top.r3944realms.eroticdungeongame.api.event;

import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraftforge.eventbus.api.Cancelable;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.fml.event.IModBusEvent;

/**
 * The type Love machine tick event.
 */
@Cancelable
public class LoveMachineTickEvent extends Event implements IModBusEvent {
    private final Entity entity;
    private final BlockEntity loveMachineBlockEntity;
    private final long tick;

    /**
     * Instantiates a new Love machine tick event.
     *
     * @param entity                 the entity
     * @param loveMachineBlockEntity the love machine block entity
     * @param tick                   the tick
     */
    public LoveMachineTickEvent(Entity entity, BlockEntity loveMachineBlockEntity, long tick) {
        this.entity = entity;
        this.loveMachineBlockEntity = loveMachineBlockEntity;
        this.tick = tick;
    }

    /**
     * Gets entity.
     *
     * @return the entity
     */
    public Entity getEntity() {
        return entity;
    }

    /**
     * Gets tick.
     *
     * @return the tick
     */
    public long getTick() {
        return tick;
    }

    /**
     * Gets love machine block entity.
     *
     * @return the love machine block entity
     */
    public BlockEntity getLoveMachineBlockEntity() {
        return loveMachineBlockEntity;
    }
}
