diff --git a/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.java b/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.java index 0d813897..37751d9b 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.java +++ b/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/IConstructable.java @@ -1,5 +1,6 @@ package com.gtnewhorizon.structurelib.alignment.constructable; +import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.item.ItemStack; @@ -10,6 +11,13 @@ import net.minecraft.item.ItemStack; public interface IConstructable { void construct(ItemStack stackSize, boolean hintsOnly); + /** + * Get the structure definition used for this constructable. Can be null if this constructable is not backed by one. + */ + default IStructureDefinition getStructureDefinition() { + return null; + } + @SideOnly(Side.CLIENT) String[] getStructureDescription(ItemStack stackSize); } diff --git a/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.java b/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.java index 3ad6ca7b..cd99e6e5 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.java +++ b/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/ISurvivalConstructable.java @@ -3,6 +3,7 @@ package com.gtnewhorizon.structurelib.alignment.constructable; import com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing; import com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment; import com.gtnewhorizon.structurelib.structure.IItemSource; +import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP;