icbm/src/main/java/mffs/api/IFieldInteraction.java

42 lines
990 B
Java
Raw Normal View History

2022-11-09 22:15:45 +01:00
package mffs.api;
import java.util.Set;
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
import mffs.api.modules.IModule;
2022-11-09 22:16:55 +01:00
import mffs.api.modules.IModuleAcceptor;
import mffs.api.modules.IProjectorMode;
2022-11-09 22:15:45 +01:00
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
2022-11-09 22:16:55 +01:00
import universalelectricity.core.vector.Vector3;
2022-11-09 22:15:45 +01:00
import universalelectricity.prefab.implement.IRotatable;
2022-11-09 22:16:55 +01:00
public interface IFieldInteraction extends IModuleAcceptor, IRotatable, IActivatable {
2022-11-09 22:15:45 +01:00
IProjectorMode getMode();
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
ItemStack getModeStack();
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
int[] getSlotsBasedOnDirection(final ForgeDirection p0);
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
int[] getModuleSlots();
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
int getSidedModuleCount(final IModule p0, final ForgeDirection... p1);
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
Vector3 getTranslation();
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
Vector3 getPositiveScale();
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
Vector3 getNegativeScale();
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
int getRotationYaw();
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
int getRotationPitch();
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
Set<Vector3> getCalculatedField();
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
Set<Vector3> getInteriorPoints();
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
void setCalculating(final boolean p0);
2022-11-09 22:16:55 +01:00
2022-11-09 22:15:45 +01:00
void setCalculated(final boolean p0);
}