package com.gtnewhorizon.structurelib.structure; import java.util.function.Consumer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.util.IChatComponent; import net.minecraft.world.World; /** * Use StructureUtility to instantiate */ interface IStructureNavigate extends IStructureElement { @Override default boolean check(T t, World world, int x, int y, int z) { return true; } @Override default boolean couldBeValid(T t, World world, int x, int y, int z, ItemStack trigger) { return true; } @Override default boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { return true; } @Override default boolean placeBlock(T t, World world, int x, int y, int z, ItemStack trigger) { return true; } @Override default PlaceResult survivalPlaceBlock(T t, World world, int x, int y, int z, ItemStack trigger, IItemSource s, EntityPlayerMP actor, Consumer chatter) { return PlaceResult.SKIP; } @Override default PlaceResult survivalPlaceBlock(T t, World world, int x, int y, int z, ItemStack trigger, AutoPlaceEnvironment env) { return PlaceResult.SKIP; } default boolean isNavigating() { return true; } }