2021-05-17 03:02:24 +08:00
|
|
|
package com.gtnewhorizon.structurelib.structure;
|
|
|
|
|
|
2022-08-08 17:40:12 +08:00
|
|
|
import java.util.function.Consumer;
|
|
|
|
|
import net.minecraft.entity.player.EntityPlayerMP;
|
2021-05-17 03:02:24 +08:00
|
|
|
import net.minecraft.item.ItemStack;
|
2022-08-08 17:40:12 +08:00
|
|
|
import net.minecraft.util.IChatComponent;
|
2021-05-17 03:02:24 +08:00
|
|
|
import net.minecraft.world.World;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Use StructureUtility to instantiate
|
|
|
|
|
*/
|
|
|
|
|
interface IStructureNavigate<T> extends IStructureElement<T> {
|
2022-07-08 17:14:18 +08:00
|
|
|
@Override
|
|
|
|
|
default boolean check(T t, World world, int x, int y, int z) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2021-05-17 03:02:24 +08:00
|
|
|
|
2022-07-08 17:14:18 +08:00
|
|
|
@Override
|
|
|
|
|
default boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2021-05-17 03:02:24 +08:00
|
|
|
|
2022-07-08 17:14:18 +08:00
|
|
|
@Override
|
|
|
|
|
default boolean placeBlock(T t, World world, int x, int y, int z, ItemStack trigger) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2021-05-17 03:02:24 +08:00
|
|
|
|
2022-08-08 17:40:12 +08:00
|
|
|
@Override
|
|
|
|
|
default PlaceResult survivalPlaceBlock(
|
|
|
|
|
T t,
|
|
|
|
|
World world,
|
|
|
|
|
int x,
|
|
|
|
|
int y,
|
|
|
|
|
int z,
|
|
|
|
|
ItemStack trigger,
|
|
|
|
|
IItemSource s,
|
|
|
|
|
EntityPlayerMP actor,
|
|
|
|
|
Consumer<IChatComponent> chatter) {
|
|
|
|
|
return PlaceResult.SKIP;
|
|
|
|
|
}
|
|
|
|
|
|
2022-07-08 17:14:18 +08:00
|
|
|
default boolean isNavigating() {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2021-05-17 03:02:24 +08:00
|
|
|
}
|