aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/interfaces')
-rw-r--r--src/main/java/gregtech/api/interfaces/IBlockContainer.java10
-rw-r--r--src/main/java/gregtech/api/interfaces/IBlockOnWalkOver.java9
-rw-r--r--src/main/java/gregtech/api/interfaces/IChunkLoader.java10
-rw-r--r--src/main/java/gregtech/api/interfaces/ICleanroom.java22
-rw-r--r--src/main/java/gregtech/api/interfaces/ICleanroomReceiver.java18
-rw-r--r--src/main/java/gregtech/api/interfaces/IColorModulationContainer.java6
-rw-r--r--src/main/java/gregtech/api/interfaces/ICondition.java116
-rw-r--r--src/main/java/gregtech/api/interfaces/IConfigurationCircuitSupport.java47
-rw-r--r--src/main/java/gregtech/api/interfaces/IDamagableItem.java8
-rw-r--r--src/main/java/gregtech/api/interfaces/IDebugableBlock.java24
-rw-r--r--src/main/java/gregtech/api/interfaces/IDescribable.java12
-rw-r--r--src/main/java/gregtech/api/interfaces/IDragAndDropSupport.java58
-rw-r--r--src/main/java/gregtech/api/interfaces/IFluidAccess.java26
-rw-r--r--src/main/java/gregtech/api/interfaces/IFoodStat.java37
-rw-r--r--src/main/java/gregtech/api/interfaces/IGT_ItemWithMaterialRenderer.java68
-rw-r--r--src/main/java/gregtech/api/interfaces/IGlobalWirelessEnergy.java98
-rw-r--r--src/main/java/gregtech/api/interfaces/IGuiIcon.java19
-rw-r--r--src/main/java/gregtech/api/interfaces/IGuiScreen.java45
-rw-r--r--src/main/java/gregtech/api/interfaces/IHasIndexedTexture.java17
-rw-r--r--src/main/java/gregtech/api/interfaces/IHatchElement.java198
-rw-r--r--src/main/java/gregtech/api/interfaces/IHeatingCoil.java20
-rw-r--r--src/main/java/gregtech/api/interfaces/IIconContainer.java48
-rw-r--r--src/main/java/gregtech/api/interfaces/IItemBehaviour.java47
-rw-r--r--src/main/java/gregtech/api/interfaces/IItemContainer.java40
-rw-r--r--src/main/java/gregtech/api/interfaces/IMaterialHandler.java6
-rw-r--r--src/main/java/gregtech/api/interfaces/INetworkUpdatableItem.java25
-rw-r--r--src/main/java/gregtech/api/interfaces/IOreRecipeRegistrator.java19
-rw-r--r--src/main/java/gregtech/api/interfaces/IProjectileItem.java29
-rw-r--r--src/main/java/gregtech/api/interfaces/IRecipeMap.java74
-rw-r--r--src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java69
-rw-r--r--src/main/java/gregtech/api/interfaces/ISecondaryDescribable.java30
-rw-r--r--src/main/java/gregtech/api/interfaces/ISubTagContainer.java21
-rw-r--r--src/main/java/gregtech/api/interfaces/ITexture.java55
-rw-r--r--src/main/java/gregtech/api/interfaces/ITextureBuilder.java109
-rw-r--r--src/main/java/gregtech/api/interfaces/IToolStats.java206
-rw-r--r--src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java30
-rw-r--r--src/main/java/gregtech/api/interfaces/fluid/IFluidStore.java22
-rw-r--r--src/main/java/gregtech/api/interfaces/fluid/IGT_Fluid.java14
-rw-r--r--src/main/java/gregtech/api/interfaces/fluid/IGT_FluidBuilder.java96
-rw-r--r--src/main/java/gregtech/api/interfaces/fluid/IGT_RegisteredFluid.java60
-rw-r--r--src/main/java/gregtech/api/interfaces/internal/IBCTileEntity.java8
-rw-r--r--src/main/java/gregtech/api/interfaces/internal/IGT_CraftingRecipe.java8
-rw-r--r--src/main/java/gregtech/api/interfaces/internal/IGT_Mod.java50
-rw-r--r--src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java1069
-rw-r--r--src/main/java/gregtech/api/interfaces/internal/IIC2TileEntity.java14
-rw-r--r--src/main/java/gregtech/api/interfaces/internal/IThaumcraftCompat.java46
-rw-r--r--src/main/java/gregtech/api/interfaces/internal/IUETileEntity.java5
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java34
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IFluidLockable.java27
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java539
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityCable.java19
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java123
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityPipe.java24
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetricsExporter.java28
-rw-r--r--src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java282
-rw-r--r--src/main/java/gregtech/api/interfaces/modularui/IAddGregtechLogo.java8
-rw-r--r--src/main/java/gregtech/api/interfaces/modularui/IAddInventorySlots.java15
-rw-r--r--src/main/java/gregtech/api/interfaces/modularui/IAddUIWidgets.java9
-rw-r--r--src/main/java/gregtech/api/interfaces/modularui/IBindPlayerInventoryUI.java9
-rw-r--r--src/main/java/gregtech/api/interfaces/modularui/IGetGUITextureSet.java10
-rw-r--r--src/main/java/gregtech/api/interfaces/modularui/IGetTitleColor.java11
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IAllSidedTexturedTileEntity.java24
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IBasicEnergyContainer.java110
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IColoredTileEntity.java27
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java91
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IDebugableTileEntity.java18
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IDigitalChest.java33
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IEnergyConductor.java41
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java178
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IFibreConnected.java34
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IGTEnet.java19
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IGearEnergyTileEntity.java21
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IGregTechDeviceInformation.java22
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java206
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IGregtechWailaProvider.java21
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IHasInventory.java37
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IHasWorldObjectAndCoords.java190
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IIC2Enet.java17
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IMachineBlockUpdateable.java24
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java96
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IOverclockDescriptionProvider.java15
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java18
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IRecipeLockable.java31
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IRedstoneEmitter.java52
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IRedstoneReceiver.java33
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IRedstoneTileEntity.java17
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/ITexturedTileEntity.java14
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/ITurnable.java46
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IUpgradableMachine.java42
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IVoidable.java89
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IWirelessEnergyHatchInformation.java17
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/RecipeMapWorkable.java49
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