From 72ff51d0937f67b1303da8f46ea1bd96e6efe222 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Wed, 14 Sep 2022 13:08:09 +0800 Subject: [PATCH] expose what IStructureDefinition this constructable is using --- .../alignment/constructable/IConstructable.java | 8 ++++++++ .../alignment/constructable/ISurvivalConstructable.java | 1 + 2 files changed, 9 insertions(+) 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;