package com.infinityraider.agricraft.reference; import com.infinityraider.agricraft.api.plant.IAgriPlant; import com.infinityraider.agricraft.blocks.properties.PropertyCropPlant; import com.infinityraider.agricraft.blocks.properties.PropertyCustomWood; import com.infinityraider.agricraft.blocks.properties.UnlistedPropertyBoolean; import com.infinityraider.agricraft.blocks.properties.UnlistedPropertyInteger; import com.infinityraider.agricraft.tiles.decoration.TileEntityGrate; import com.infinityraider.agricraft.tiles.irrigation.TileEntityTank; import com.infinityraider.agricraft.utility.CustomWoodType; import com.infinityraider.infinitylib.block.blockstate.InfinityProperty; import com.infinityraider.infinitylib.block.blockstate.SidedConnection; import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.properties.PropertyBool; import net.minecraft.block.properties.PropertyDirection; import net.minecraft.util.EnumFacing; import net.minecraftforge.common.property.IUnlistedProperty; /** * A class containing AgriCraft block state properties */ public interface AgriProperties { InfinityProperty<Boolean> JOURNAL = new InfinityProperty<>(PropertyBool.create("journal"), true); InfinityProperty<EnumFacing> FACING = new InfinityProperty<>(PropertyDirection.create("facing"), EnumFacing.NORTH); IUnlistedProperty<IAgriPlant> CROP_PLANT = PropertyCropPlant.PROPERTY; IUnlistedProperty<Integer> GROWTH_STAGE = new UnlistedPropertyInteger("agri_growth_stage"); IUnlistedProperty<Boolean> CROSS_CROP = new UnlistedPropertyBoolean("agri_cross_crop"); InfinityProperty<TileEntityGrate.EnumVines> VINES = new InfinityProperty<>(PropertyEnum.create("vines", TileEntityGrate.EnumVines.class), TileEntityGrate.EnumVines.NONE); InfinityProperty<EnumFacing.Axis> AXIS = new InfinityProperty<>(PropertyEnum.create("axis", EnumFacing.Axis.class), EnumFacing.Axis.X); InfinityProperty<TileEntityGrate.EnumOffset> OFFSET = new InfinityProperty<>(PropertyEnum.create("offset", TileEntityGrate.EnumOffset.class), TileEntityGrate.EnumOffset.NEAR); InfinityProperty<Boolean> POWERED = new InfinityProperty<>(PropertyBool.create("powered"), false); IUnlistedProperty<CustomWoodType> CUSTOM_WOOD_TYPE = new PropertyCustomWood("wood_type"); IUnlistedProperty<SidedConnection> CONNECTIONS = new SidedConnection.Property("connections"); }