Class BlockStatePropertyExpression<TYPE,ARGUMENT extends IScratchArgument<ILevelEnvironment,TYPE>,PARAMETER extends IScratchParameter<ILevelEnvironment,TYPE,ARGUMENT>,EXPRESSION extends BlockStatePropertyExpression<TYPE,ARGUMENT,PARAMETER,EXPRESSION>>
java.lang.Object
com.petrolpark.core.scratch.symbol.ScratchSymbol<ILevelEnvironment,ScratchArguments.And<ILevelEnvironment,net.minecraft.core.BlockPos,ExpressionArgument<ILevelEnvironment,net.minecraft.core.BlockPos>,ScratchArguments.And<ILevelEnvironment,String,ExpressionOrLiteralArgument<ILevelEnvironment,String>,ScratchArguments.Just<ILevelEnvironment,TYPE,ARGUMENT>>>,ScratchParameters.And<ILevelEnvironment,net.minecraft.core.BlockPos,ExpressionArgument<ILevelEnvironment,net.minecraft.core.BlockPos>,ExpressionArgument.ExpressionParameter<ILevelEnvironment,net.minecraft.core.BlockPos>,ScratchArguments.And<ILevelEnvironment,String,ExpressionOrLiteralArgument<ILevelEnvironment,String>,ScratchArguments.Just<ILevelEnvironment,TYPE,ARGUMENT>>,ScratchParameters.And<ILevelEnvironment,String,ExpressionOrLiteralArgument<ILevelEnvironment,String>,ExpressionOrLiteralArgument.ExpressionOrLiteralParameter<ILevelEnvironment,String>,ScratchArguments.Just<ILevelEnvironment,TYPE,ARGUMENT>,ScratchParameters.Just<ILevelEnvironment,TYPE,ARGUMENT,PARAMETER>>>>
com.petrolpark.core.scratch.symbol.expression.ScratchExpression<ILevelEnvironment,TYPE,ScratchArguments.And<ILevelEnvironment,net.minecraft.core.BlockPos,ExpressionArgument<ILevelEnvironment,net.minecraft.core.BlockPos>,ScratchArguments.And<ILevelEnvironment,String,ExpressionOrLiteralArgument<ILevelEnvironment,String>,ScratchArguments.Just<ILevelEnvironment,TYPE,ARGUMENT>>>,ScratchParameters.And<ILevelEnvironment,net.minecraft.core.BlockPos,ExpressionArgument<ILevelEnvironment,net.minecraft.core.BlockPos>,ExpressionArgument.ExpressionParameter<ILevelEnvironment,net.minecraft.core.BlockPos>,ScratchArguments.And<ILevelEnvironment,String,ExpressionOrLiteralArgument<ILevelEnvironment,String>,ScratchArguments.Just<ILevelEnvironment,TYPE,ARGUMENT>>,ScratchParameters.And<ILevelEnvironment,String,ExpressionOrLiteralArgument<ILevelEnvironment,String>,ExpressionOrLiteralArgument.ExpressionOrLiteralParameter<ILevelEnvironment,String>,ScratchArguments.Just<ILevelEnvironment,TYPE,ARGUMENT>,ScratchParameters.Just<ILevelEnvironment,TYPE,ARGUMENT,PARAMETER>>>>
com.petrolpark.core.scratch.symbol.expression.SimpleExpressionType<ILevelEnvironment,TYPE,ScratchArguments.And<ILevelEnvironment,net.minecraft.core.BlockPos,ExpressionArgument<ILevelEnvironment,net.minecraft.core.BlockPos>,ScratchArguments.And<ILevelEnvironment,String,ExpressionOrLiteralArgument<ILevelEnvironment,String>,ScratchArguments.Just<ILevelEnvironment,TYPE,ARGUMENT>>>,ScratchParameters.And<ILevelEnvironment,net.minecraft.core.BlockPos,ExpressionArgument<ILevelEnvironment,net.minecraft.core.BlockPos>,ExpressionArgument.ExpressionParameter<ILevelEnvironment,net.minecraft.core.BlockPos>,ScratchArguments.And<ILevelEnvironment,String,ExpressionOrLiteralArgument<ILevelEnvironment,String>,ScratchArguments.Just<ILevelEnvironment,TYPE,ARGUMENT>>,ScratchParameters.And<ILevelEnvironment,String,ExpressionOrLiteralArgument<ILevelEnvironment,String>,ExpressionOrLiteralArgument.ExpressionOrLiteralParameter<ILevelEnvironment,String>,ScratchArguments.Just<ILevelEnvironment,TYPE,ARGUMENT>,ScratchParameters.Just<ILevelEnvironment,TYPE,ARGUMENT,PARAMETER>>>,EXPRESSION>
com.petrolpark.core.scratch.symbol.expression.TernaryExpressionType<ILevelEnvironment,TYPE,net.minecraft.core.BlockPos,ExpressionArgument<ILevelEnvironment,net.minecraft.core.BlockPos>,ExpressionArgument.ExpressionParameter<ILevelEnvironment,net.minecraft.core.BlockPos>,String,ExpressionOrLiteralArgument<ILevelEnvironment,String>,ExpressionOrLiteralArgument.ExpressionOrLiteralParameter<ILevelEnvironment,String>,TYPE,ARGUMENT,PARAMETER,EXPRESSION>
com.petrolpark.core.scratch.symbol.expression.world.block.BlockStatePropertyExpression<TYPE,ARGUMENT,PARAMETER,EXPRESSION>
- All Implemented Interfaces:
IScratchExpression<ILevelEnvironment,,TYPE, ScratchArguments.And<ILevelEnvironment, net.minecraft.core.BlockPos, ExpressionArgument<ILevelEnvironment, net.minecraft.core.BlockPos>, ScratchArguments.And<ILevelEnvironment, String, ExpressionOrLiteralArgument<ILevelEnvironment, String>, ScratchArguments.Just<ILevelEnvironment, TYPE, ARGUMENT>>>, ScratchParameters.And<ILevelEnvironment, net.minecraft.core.BlockPos, ExpressionArgument<ILevelEnvironment, net.minecraft.core.BlockPos>, ExpressionArgument.ExpressionParameter<ILevelEnvironment, net.minecraft.core.BlockPos>, ScratchArguments.And<ILevelEnvironment, String, ExpressionOrLiteralArgument<ILevelEnvironment, String>, ScratchArguments.Just<ILevelEnvironment, TYPE, ARGUMENT>>, ScratchParameters.And<ILevelEnvironment, String, ExpressionOrLiteralArgument<ILevelEnvironment, String>, ExpressionOrLiteralArgument.ExpressionOrLiteralParameter<ILevelEnvironment, String>, ScratchArguments.Just<ILevelEnvironment, TYPE, ARGUMENT>, ScratchParameters.Just<ILevelEnvironment, TYPE, ARGUMENT, PARAMETER>>>> IScratchExpression.Type<EXPRESSION>,IScratchSymbol<ILevelEnvironment,,ScratchArguments.And<ILevelEnvironment, net.minecraft.core.BlockPos, ExpressionArgument<ILevelEnvironment, net.minecraft.core.BlockPos>, ScratchArguments.And<ILevelEnvironment, String, ExpressionOrLiteralArgument<ILevelEnvironment, String>, ScratchArguments.Just<ILevelEnvironment, TYPE, ARGUMENT>>>, ScratchParameters.And<ILevelEnvironment, net.minecraft.core.BlockPos, ExpressionArgument<ILevelEnvironment, net.minecraft.core.BlockPos>, ExpressionArgument.ExpressionParameter<ILevelEnvironment, net.minecraft.core.BlockPos>, ScratchArguments.And<ILevelEnvironment, String, ExpressionOrLiteralArgument<ILevelEnvironment, String>, ScratchArguments.Just<ILevelEnvironment, TYPE, ARGUMENT>>, ScratchParameters.And<ILevelEnvironment, String, ExpressionOrLiteralArgument<ILevelEnvironment, String>, ExpressionOrLiteralArgument.ExpressionOrLiteralParameter<ILevelEnvironment, String>, ScratchArguments.Just<ILevelEnvironment, TYPE, ARGUMENT>, ScratchParameters.Just<ILevelEnvironment, TYPE, ARGUMENT, PARAMETER>>>> IScratchSymbol.Type<EXPRESSION>
- Direct Known Subclasses:
BooleanBlockStatePropertyExpression
public abstract class BlockStatePropertyExpression<TYPE,ARGUMENT extends IScratchArgument<ILevelEnvironment,TYPE>,PARAMETER extends IScratchParameter<ILevelEnvironment,TYPE,ARGUMENT>,EXPRESSION extends BlockStatePropertyExpression<TYPE,ARGUMENT,PARAMETER,EXPRESSION>>
extends TernaryExpressionType<ILevelEnvironment,TYPE,net.minecraft.core.BlockPos,ExpressionArgument<ILevelEnvironment,net.minecraft.core.BlockPos>,ExpressionArgument.ExpressionParameter<ILevelEnvironment,net.minecraft.core.BlockPos>,String,ExpressionOrLiteralArgument<ILevelEnvironment,String>,ExpressionOrLiteralArgument.ExpressionOrLiteralParameter<ILevelEnvironment,String>,TYPE,ARGUMENT,PARAMETER,EXPRESSION>
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.petrolpark.core.scratch.symbol.expression.IScratchExpression
IScratchExpression.Type<EXPRESSION extends IScratchExpression<?,?, ?, ?>> Nested classes/interfaces inherited from interface com.petrolpark.core.scratch.symbol.IScratchSymbol
IScratchSymbol.Type<SYMBOL extends IScratchSymbol<?,?, ?>> -
Field Summary
Fields inherited from class com.petrolpark.core.scratch.symbol.ScratchSymbol
parametersFields inherited from interface com.petrolpark.core.scratch.symbol.expression.IScratchExpression
CODEC, STREAM_CODEC, TYPED_CODEC -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBlockStatePropertyExpression(PARAMETER fallbackParameter) -
Method Summary
Modifier and TypeMethodDescriptionfinal TYPEevaluate(ILevelEnvironment environment, net.minecraft.core.BlockPos pos, String property, TYPE fallback) abstract TYPEgetProperty(net.minecraft.world.level.block.state.BlockState state, String property) Methods inherited from class com.petrolpark.core.scratch.symbol.expression.TernaryExpressionType
evaluateMethods inherited from class com.petrolpark.core.scratch.symbol.expression.SimpleExpressionType
codec, getExpressionType, self, streamCodecMethods inherited from class com.petrolpark.core.scratch.symbol.ScratchSymbol
getParametersMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.petrolpark.core.scratch.symbol.expression.IScratchExpression
getReturnClassMethods inherited from interface com.petrolpark.core.scratch.symbol.IScratchSymbol
canEvaluate, getParameters
-
Constructor Details
-
BlockStatePropertyExpression
-
-
Method Details
-
evaluate
public final TYPE evaluate(ILevelEnvironment environment, net.minecraft.core.BlockPos pos, String property, TYPE fallback) - Specified by:
evaluatein classTernaryExpressionType<ILevelEnvironment,TYPE, net.minecraft.core.BlockPos, ExpressionArgument<ILevelEnvironment, net.minecraft.core.BlockPos>, ExpressionArgument.ExpressionParameter<ILevelEnvironment, net.minecraft.core.BlockPos>, String, ExpressionOrLiteralArgument<ILevelEnvironment, String>, ExpressionOrLiteralArgument.ExpressionOrLiteralParameter<ILevelEnvironment, String>, TYPE, ARGUMENT extends IScratchArgument<ILevelEnvironment, TYPE>, PARAMETER extends IScratchParameter<ILevelEnvironment, TYPE, ARGUMENT>, EXPRESSION extends BlockStatePropertyExpression<TYPE, ARGUMENT, PARAMETER, EXPRESSION>>
-
getProperty
-