Package net.minecraft.screen
Interface ScreenHandlerContext
public interface ScreenHandlerContext
A screen handler context allows running code on the server side only. Screen
handlers are designed to be used on both sides; any action modifying the world has
to be wrapped in a call to the context. This guarantees that no casting error occurs
inside the screen handler code.
A context with the world is passed to the screen handler on creation on the server. On the server, the context executes the function with the world and the position. On the client, the empty context is used.
- Mappings:
Namespace Name official cbointermediary net/minecraft/class_3914named net/minecraft/screen/ScreenHandlerContext
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ScreenHandlerContextThe dummy screen handler context for clientside screen handlers. -
Method Summary
Modifier and TypeMethodDescriptionstatic ScreenHandlerContextReturns an active screen handler context.<T> Optional<T>get(BiFunction<World, BlockPos, T> getter) Gets an optional value from this context's world and position with aBiFunctiongetter.default <T> Tget(BiFunction<World, BlockPos, T> getter, T defaultValue) Gets a value from this context's world and position with aBiFunctiongetter.default voidrun(BiConsumer<World, BlockPos> function) Runs aBiConsumerwith this context's world and position if this context is active.
-
Field Details
-
EMPTY
The dummy screen handler context for clientside screen handlers.- Mappings:
Namespace Name Mixin selector official aLcbo;a:Lcbo;intermediary field_17304Lnet/minecraft/class_3914;field_17304:Lnet/minecraft/class_3914;named EMPTYLnet/minecraft/screen/ScreenHandlerContext;EMPTY:Lnet/minecraft/screen/ScreenHandlerContext;
-
-
Method Details
-
create
Returns an active screen handler context. Used on the logical server.- Mappings:
Namespace Name Mixin selector official aLcbo;a(Lcmk;Lgu;)Lcbo;intermediary method_17392Lnet/minecraft/class_3914;method_17392(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)Lnet/minecraft/class_3914;named createLnet/minecraft/screen/ScreenHandlerContext;create(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/screen/ScreenHandlerContext;
-
get
Gets an optional value from this context's world and position with aBiFunctiongetter.- Parameters:
getter- a function that gets a non-null value from this context's world and position- Returns:
- a present
Optionalwith the getter's return value, orOptional.empty()if this context is empty - Mappings:
Namespace Name Mixin selector official aLcbo;a(Ljava/util/function/BiFunction;)Ljava/util/Optional;intermediary method_17395Lnet/minecraft/class_3914;method_17395(Ljava/util/function/BiFunction;)Ljava/util/Optional;named getLnet/minecraft/screen/ScreenHandlerContext;get(Ljava/util/function/BiFunction;)Ljava/util/Optional;
-
get
Gets a value from this context's world and position with aBiFunctiongetter.- Parameters:
getter- a function that gets a non-null value from this context's world and positiondefaultValue- a fallback default value, used if this context is empty- Returns:
- the getter's return value if this context is active, the default value otherwise
- Mappings:
Namespace Name Mixin selector official aLcbo;a(Ljava/util/function/BiFunction;Ljava/lang/Object;)Ljava/lang/Object;intermediary method_17396Lnet/minecraft/class_3914;method_17396(Ljava/util/function/BiFunction;Ljava/lang/Object;)Ljava/lang/Object;named getLnet/minecraft/screen/ScreenHandlerContext;get(Ljava/util/function/BiFunction;Ljava/lang/Object;)Ljava/lang/Object;
-
run
Runs aBiConsumerwith this context's world and position if this context is active.- Mappings:
Namespace Name Mixin selector official aLcbo;a(Ljava/util/function/BiConsumer;)Vintermediary method_17393Lnet/minecraft/class_3914;method_17393(Ljava/util/function/BiConsumer;)Vnamed runLnet/minecraft/screen/ScreenHandlerContext;run(Ljava/util/function/BiConsumer;)V
-