diff options
Diffstat (limited to 'src/main/java/gregtech/api/interfaces')
92 files changed, 5838 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/interfaces/IBlockContainer.java b/src/main/java/gregtech/api/interfaces/IBlockContainer.java new file mode 100644 index 0000000000..5a80655a5c --- /dev/null +++ b/src/main/java/gregtech/api/interfaces/IBlockContainer.java @@ -0,0 +1,10 @@ +package gregtech.api.interfaces; + +import net.minecraft.block.Block; + +public interface IBlockContainer { + + Block getBlock(); + + byte getMeta(); +} diff --git a/src/main/java/gregtech/api/interfaces/IBlockOnWalkOver.java b/src/main/java/gregtech/api/interfaces/IBlockOnWalkOver.java new file mode 100644 index 0000000000..0c8fce931b --- /dev/null +++ b/src/main/java/gregtech/api/interfaces/IBlockOnWalkOver.java @@ -0,0 +1,9 @@ +package gregtech.api.interfaces; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.world.World; + +public interface IBlockOnWalkOver { + + void onWalkOver(EntityLivingBase aEntity, World aWorld, int aX, int aY, int aZ); +} diff --git a/src/main/java/gregtech/api/interfaces/IChunkLoader.java b/src/main/java/gregtech/api/interfaces/IChunkLoader.java new file mode 100644 index 0000000000..b597d6a71f --- /dev/null +++ b/src/main/java/gregtech/api/interfaces/IChunkLoader.java @@ -0,0 +1,10 @@ +package gregtech.api.interfaces; + +import net.minecraft.world.ChunkCoordIntPair; + +// This interface is implemented by the machines that actively load a working chunk +public interface IChunkLoader { + + // return a working chunk coordinates, may be null + ChunkCoordIntPair getActiveChunk(); +} diff --git a/src/main/java/gregtech/api/interfaces/ICleanroom.java b/src/main/java/gregtech/api/interfaces/ICleanroom.java new file mode 100644 index 0000000000..61e339d050 --- /dev/null +++ b/src/main/java/gregtech/api/interfaces/ICleanroom.java @@ -0,0 +1,22 @@ +package gregtech.api.interfaces; + +/** + * Classes implementing this interface can act as cleanroom, used to satisfy environment required for some recipes. + */ +public interface ICleanroom { + + /** + * @return Current cleanness of this cleanroom. Max at 10000. + */ + int getCleanness(); + + /** + * @return If this cleanroom is valid. + */ + boolean isValidCleanroom(); + + /** + * Release pollution to this cleanroom. + */ + void pollute(); +} diff --git a/src/main/java/gregtech/api/interfaces/ICleanroomReceiver.java b/src/main/java/gregtech/api/interfaces/ICleanroomReceiver.java new file mode 100644 index 0000000000..b0d42f9aec --- /dev/null +++ b/src/main/java/gregtech/api/interfaces/ICleanroomReceiver.java @@ -0,0 +1,18 @@ +package gregtech.api.interfaces; + +import javax.annotation.Nullable; + +import net.minecraft.tileentity.TileEntity; + +/** + * Implement this interface for TileEntities that can have association to cleanroom. + * Calling {@link gregtech.common.GT_Pollution#addPollution(TileEntity, int)} from this machine + * will pollute associated cleanroom. + */ +public interface ICleanroomReceiver { + + @Nullable + ICleanroom getCleanroom(); + + void setCleanroom(ICleanroom cleanroom); +} diff --git a/src/main/java/gregtech/api/interfaces/IColorModulationContainer.java b/src/main/java/gregtech/api/interfaces/IColorModulationContainer.java new file mode 100644 index 0000000000..55053e1d12 --- /dev/null +++ b/src/main/java/gregtech/api/interfaces/IColorModulationContainer.java @@ -0,0 +1,6 @@ +package gregtech.api.interfaces; + +public interface IColorModulationContainer { + + short[] getRGBA(); +} diff --git a/src/main/java/gregtech/api/interfaces/ICondition.java b/src/main/java/gregtech/api/interfaces/ICondition.java new file mode 100644 index 0000000000..9c7033b3d7 --- /dev/null +++ b/src/main/java/gregtech/api/interfaces/ICondition.java @@ -0,0 +1,116 @@ +package gregtech.api.interfaces; + +public interface ICondition<O> { + + boolean isTrue(O aObject); + + // Utility Classes for adding relations between Conditions. + + class Not<O> implements ICondition<O> { + + private final ICondition<O> mCondition; + + public Not(ICondition<O> aCondition) { + mCondition = aCondition; + } + + @Override + public boolean isTrue(O aObject) { + return !mCondition.isTrue(aObject); + } + } + + class |
