Files
StructureLib/src/main/java/com/gtnewhorizon/structurelib/structure/IStructureNavigate.java
T

51 lines
1.3 KiB
Java
Raw Normal View History

package com.gtnewhorizon.structurelib.structure;
2022-08-08 17:40:12 +08:00
import java.util.function.Consumer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
2022-08-08 17:40:12 +08:00
import net.minecraft.util.IChatComponent;
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;
}
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;
}
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;
}
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-09-11 02:54:11 +08:00
@Override
default PlaceResult survivalPlaceBlock(
T t, World world, int x, int y, int z, ItemStack trigger, AutoPlaceEnvironment env) {
return PlaceResult.SKIP;
}
2022-07-08 17:14:18 +08:00
default boolean isNavigating() {
return true;
}
}