Class ScreenHandlerType<T extends ScreenHandler>

java.lang.Object
net.minecraft.screen.ScreenHandlerType<T>
All Implemented Interfaces:
ToggleableFeature

public class ScreenHandlerType<T extends ScreenHandler> extends Object implements ToggleableFeature
Screen handler type is used to create screen handlers on the client. It is a holder object holding a factory (usually a reference to the constructor). They are registered in the registry under Registries.SCREEN_HANDLER.

Technically speaking, screen handlers do not have to register screen handler types. However, such screen handlers are practically useless as they cannot be opened server-side using conventional methods.

See Also:
API Note:
Screen handler types should not be used to create a new screen handler on the server. See ScreenHandlerFactory for server-side creation.
Mappings:
Namespace Name
named net/minecraft/screen/ScreenHandlerType
intermediary net/minecraft/class_3917
official cra
  • Field Details

    • GENERIC_9X1

      public static final ScreenHandlerType<GenericContainerScreenHandler> GENERIC_9X1
      Mappings:
      Namespace Name Mixin selector
      named GENERIC_9X1 Lnet/minecraft/screen/ScreenHandlerType;GENERIC_9X1:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_18664 Lnet/minecraft/class_3917;field_18664:Lnet/minecraft/class_3917;
      official a Lcra;a:Lcra;
    • GENERIC_9X2

      public static final ScreenHandlerType<GenericContainerScreenHandler> GENERIC_9X2
      Mappings:
      Namespace Name Mixin selector
      named GENERIC_9X2 Lnet/minecraft/screen/ScreenHandlerType;GENERIC_9X2:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_18665 Lnet/minecraft/class_3917;field_18665:Lnet/minecraft/class_3917;
      official b Lcra;b:Lcra;
    • GENERIC_9X3

      public static final ScreenHandlerType<GenericContainerScreenHandler> GENERIC_9X3
      Mappings:
      Namespace Name Mixin selector
      named GENERIC_9X3 Lnet/minecraft/screen/ScreenHandlerType;GENERIC_9X3:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17326 Lnet/minecraft/class_3917;field_17326:Lnet/minecraft/class_3917;
      official c Lcra;c:Lcra;
    • GENERIC_9X4

      public static final ScreenHandlerType<GenericContainerScreenHandler> GENERIC_9X4
      Mappings:
      Namespace Name Mixin selector
      named GENERIC_9X4 Lnet/minecraft/screen/ScreenHandlerType;GENERIC_9X4:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_18666 Lnet/minecraft/class_3917;field_18666:Lnet/minecraft/class_3917;
      official d Lcra;d:Lcra;
    • GENERIC_9X5

      public static final ScreenHandlerType<GenericContainerScreenHandler> GENERIC_9X5
      Mappings:
      Namespace Name Mixin selector
      named GENERIC_9X5 Lnet/minecraft/screen/ScreenHandlerType;GENERIC_9X5:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_18667 Lnet/minecraft/class_3917;field_18667:Lnet/minecraft/class_3917;
      official e Lcra;e:Lcra;
    • GENERIC_9X6

      public static final ScreenHandlerType<GenericContainerScreenHandler> GENERIC_9X6
      Mappings:
      Namespace Name Mixin selector
      named GENERIC_9X6 Lnet/minecraft/screen/ScreenHandlerType;GENERIC_9X6:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17327 Lnet/minecraft/class_3917;field_17327:Lnet/minecraft/class_3917;
      official f Lcra;f:Lcra;
    • GENERIC_3X3

      public static final ScreenHandlerType<Generic3x3ContainerScreenHandler> GENERIC_3X3
      Mappings:
      Namespace Name Mixin selector
      named GENERIC_3X3 Lnet/minecraft/screen/ScreenHandlerType;GENERIC_3X3:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17328 Lnet/minecraft/class_3917;field_17328:Lnet/minecraft/class_3917;
      official g Lcra;g:Lcra;
    • CRAFTER_3X3

      public static final ScreenHandlerType<CrafterScreenHandler> CRAFTER_3X3
      Mappings:
      Namespace Name Mixin selector
      named CRAFTER_3X3 Lnet/minecraft/screen/ScreenHandlerType;CRAFTER_3X3:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_46790 Lnet/minecraft/class_3917;field_46790:Lnet/minecraft/class_3917;
      official h Lcra;h:Lcra;
    • ANVIL

      public static final ScreenHandlerType<AnvilScreenHandler> ANVIL
      Mappings:
      Namespace Name Mixin selector
      named ANVIL Lnet/minecraft/screen/ScreenHandlerType;ANVIL:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17329 Lnet/minecraft/class_3917;field_17329:Lnet/minecraft/class_3917;
      official i Lcra;i:Lcra;
    • BEACON

      public static final ScreenHandlerType<BeaconScreenHandler> BEACON
      Mappings:
      Namespace Name Mixin selector
      named BEACON Lnet/minecraft/screen/ScreenHandlerType;BEACON:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17330 Lnet/minecraft/class_3917;field_17330:Lnet/minecraft/class_3917;
      official j Lcra;j:Lcra;
    • BLAST_FURNACE

      public static final ScreenHandlerType<BlastFurnaceScreenHandler> BLAST_FURNACE
      Mappings:
      Namespace Name Mixin selector
      named BLAST_FURNACE Lnet/minecraft/screen/ScreenHandlerType;BLAST_FURNACE:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17331 Lnet/minecraft/class_3917;field_17331:Lnet/minecraft/class_3917;
      official k Lcra;k:Lcra;
    • BREWING_STAND

      public static final ScreenHandlerType<BrewingStandScreenHandler> BREWING_STAND
      Mappings:
      Namespace Name Mixin selector
      named BREWING_STAND Lnet/minecraft/screen/ScreenHandlerType;BREWING_STAND:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17332 Lnet/minecraft/class_3917;field_17332:Lnet/minecraft/class_3917;
      official l Lcra;l:Lcra;
    • CRAFTING

      public static final ScreenHandlerType<CraftingScreenHandler> CRAFTING
      Mappings:
      Namespace Name Mixin selector
      named CRAFTING Lnet/minecraft/screen/ScreenHandlerType;CRAFTING:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17333 Lnet/minecraft/class_3917;field_17333:Lnet/minecraft/class_3917;
      official m Lcra;m:Lcra;
    • ENCHANTMENT

      public static final ScreenHandlerType<EnchantmentScreenHandler> ENCHANTMENT
      Mappings:
      Namespace Name Mixin selector
      named ENCHANTMENT Lnet/minecraft/screen/ScreenHandlerType;ENCHANTMENT:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17334 Lnet/minecraft/class_3917;field_17334:Lnet/minecraft/class_3917;
      official n Lcra;n:Lcra;
    • FURNACE

      public static final ScreenHandlerType<FurnaceScreenHandler> FURNACE
      Mappings:
      Namespace Name Mixin selector
      named FURNACE Lnet/minecraft/screen/ScreenHandlerType;FURNACE:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17335 Lnet/minecraft/class_3917;field_17335:Lnet/minecraft/class_3917;
      official o Lcra;o:Lcra;
    • GRINDSTONE

      public static final ScreenHandlerType<GrindstoneScreenHandler> GRINDSTONE
      Mappings:
      Namespace Name Mixin selector
      named GRINDSTONE Lnet/minecraft/screen/ScreenHandlerType;GRINDSTONE:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17336 Lnet/minecraft/class_3917;field_17336:Lnet/minecraft/class_3917;
      official p Lcra;p:Lcra;
    • HOPPER

      public static final ScreenHandlerType<HopperScreenHandler> HOPPER
      Mappings:
      Namespace Name Mixin selector
      named HOPPER Lnet/minecraft/screen/ScreenHandlerType;HOPPER:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17337 Lnet/minecraft/class_3917;field_17337:Lnet/minecraft/class_3917;
      official q Lcra;q:Lcra;
    • LECTERN

      public static final ScreenHandlerType<LecternScreenHandler> LECTERN
      Mappings:
      Namespace Name Mixin selector
      named LECTERN Lnet/minecraft/screen/ScreenHandlerType;LECTERN:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17338 Lnet/minecraft/class_3917;field_17338:Lnet/minecraft/class_3917;
      official r Lcra;r:Lcra;
    • LOOM

      public static final ScreenHandlerType<LoomScreenHandler> LOOM
      Mappings:
      Namespace Name Mixin selector
      named LOOM Lnet/minecraft/screen/ScreenHandlerType;LOOM:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17339 Lnet/minecraft/class_3917;field_17339:Lnet/minecraft/class_3917;
      official s Lcra;s:Lcra;
    • MERCHANT

      public static final ScreenHandlerType<MerchantScreenHandler> MERCHANT
      Mappings:
      Namespace Name Mixin selector
      named MERCHANT Lnet/minecraft/screen/ScreenHandlerType;MERCHANT:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17340 Lnet/minecraft/class_3917;field_17340:Lnet/minecraft/class_3917;
      official t Lcra;t:Lcra;
    • SHULKER_BOX

      public static final ScreenHandlerType<ShulkerBoxScreenHandler> SHULKER_BOX
      Mappings:
      Namespace Name Mixin selector
      named SHULKER_BOX Lnet/minecraft/screen/ScreenHandlerType;SHULKER_BOX:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17341 Lnet/minecraft/class_3917;field_17341:Lnet/minecraft/class_3917;
      official u Lcra;u:Lcra;
    • SMITHING

      public static final ScreenHandlerType<SmithingScreenHandler> SMITHING
      Mappings:
      Namespace Name Mixin selector
      named SMITHING Lnet/minecraft/screen/ScreenHandlerType;SMITHING:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_22484 Lnet/minecraft/class_3917;field_22484:Lnet/minecraft/class_3917;
      official v Lcra;v:Lcra;
    • SMOKER

      public static final ScreenHandlerType<SmokerScreenHandler> SMOKER
      Mappings:
      Namespace Name Mixin selector
      named SMOKER Lnet/minecraft/screen/ScreenHandlerType;SMOKER:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17342 Lnet/minecraft/class_3917;field_17342:Lnet/minecraft/class_3917;
      official w Lcra;w:Lcra;
    • CARTOGRAPHY_TABLE

      public static final ScreenHandlerType<CartographyTableScreenHandler> CARTOGRAPHY_TABLE
      Mappings:
      Namespace Name Mixin selector
      named CARTOGRAPHY_TABLE Lnet/minecraft/screen/ScreenHandlerType;CARTOGRAPHY_TABLE:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17343 Lnet/minecraft/class_3917;field_17343:Lnet/minecraft/class_3917;
      official x Lcra;x:Lcra;
    • STONECUTTER

      public static final ScreenHandlerType<StonecutterScreenHandler> STONECUTTER
      Mappings:
      Namespace Name Mixin selector
      named STONECUTTER Lnet/minecraft/screen/ScreenHandlerType;STONECUTTER:Lnet/minecraft/screen/ScreenHandlerType;
      intermediary field_17625 Lnet/minecraft/class_3917;field_17625:Lnet/minecraft/class_3917;
      official y Lcra;y:Lcra;
    • requiredFeatures

      private final FeatureSet requiredFeatures
      Mappings:
      Namespace Name Mixin selector
      named requiredFeatures Lnet/minecraft/screen/ScreenHandlerType;requiredFeatures:Lnet/minecraft/resource/featuretoggle/FeatureSet;
      intermediary field_41923 Lnet/minecraft/class_3917;field_41923:Lnet/minecraft/class_7699;
      official z Lcra;z:Lcpj;
    • factory

      private final ScreenHandlerType.Factory<T extends ScreenHandler> factory
      Mappings:
      Namespace Name Mixin selector
      named factory Lnet/minecraft/screen/ScreenHandlerType;factory:Lnet/minecraft/screen/ScreenHandlerType$Factory;
      intermediary field_17344 Lnet/minecraft/class_3917;field_17344:Lnet/minecraft/class_3917$class_3918;
      official A Lcra;A:Lcra$a;
  • Constructor Details

    • ScreenHandlerType

      private ScreenHandlerType(ScreenHandlerType.Factory<T> factory, FeatureSet requiredFeatures)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/screen/ScreenHandlerType;<init>(Lnet/minecraft/screen/ScreenHandlerType$Factory;Lnet/minecraft/resource/featuretoggle/FeatureSet;)V
      intermediary <init> Lnet/minecraft/class_3917;<init>(Lnet/minecraft/class_3917$class_3918;Lnet/minecraft/class_7699;)V
      official <init> Lcra;<init>(Lcra$a;Lcpj;)V
  • Method Details

    • register

      private static <T extends ScreenHandler> ScreenHandlerType<T> register(String id, ScreenHandlerType.Factory<T> factory)
      Mappings:
      Namespace Name Mixin selector
      named register Lnet/minecraft/screen/ScreenHandlerType;register(Ljava/lang/String;Lnet/minecraft/screen/ScreenHandlerType$Factory;)Lnet/minecraft/screen/ScreenHandlerType;
      intermediary method_17435 Lnet/minecraft/class_3917;method_17435(Ljava/lang/String;Lnet/minecraft/class_3917$class_3918;)Lnet/minecraft/class_3917;
      official a Lcra;a(Ljava/lang/String;Lcra$a;)Lcra;
    • register

      private static <T extends ScreenHandler> ScreenHandlerType<T> register(String id, ScreenHandlerType.Factory<T> factory, FeatureFlag[] requiredFeatures)
      Mappings:
      Namespace Name Mixin selector
      named register Lnet/minecraft/screen/ScreenHandlerType;register(Ljava/lang/String;Lnet/minecraft/screen/ScreenHandlerType$Factory;[Lnet/minecraft/resource/featuretoggle/FeatureFlag;)Lnet/minecraft/screen/ScreenHandlerType;
      intermediary method_48387 Lnet/minecraft/class_3917;method_48387(Ljava/lang/String;Lnet/minecraft/class_3917$class_3918;[Lnet/minecraft/class_7696;)Lnet/minecraft/class_3917;
      official a Lcra;a(Ljava/lang/String;Lcra$a;[Lcph;)Lcra;
    • create

      public T create(int syncId, PlayerInventory playerInventory)
      Mappings:
      Namespace Name Mixin selector
      named create Lnet/minecraft/screen/ScreenHandlerType;create(ILnet/minecraft/entity/player/PlayerInventory;)Lnet/minecraft/screen/ScreenHandler;
      intermediary method_17434 Lnet/minecraft/class_3917;method_17434(ILnet/minecraft/class_1661;)Lnet/minecraft/class_1703;
      official a Lcra;a(ILcmu;)Lcps;
    • getRequiredFeatures

      public FeatureSet getRequiredFeatures()
      Specified by:
      getRequiredFeatures in interface ToggleableFeature
      Mappings:
      Namespace Name Mixin selector
      named getRequiredFeatures Lnet/minecraft/resource/featuretoggle/ToggleableFeature;getRequiredFeatures()Lnet/minecraft/resource/featuretoggle/FeatureSet;
      intermediary method_45322 Lnet/minecraft/class_7695;method_45322()Lnet/minecraft/class_7699;
      official i Lcpg;i()Lcpj;