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 crc
  • 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 Lcrc;a:Lcrc;
    • 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 Lcrc;b:Lcrc;
    • 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 Lcrc;c:Lcrc;
    • 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 Lcrc;d:Lcrc;
    • 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 Lcrc;e:Lcrc;
    • 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 Lcrc;f:Lcrc;
    • 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 Lcrc;g:Lcrc;
    • 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 Lcrc;h:Lcrc;
    • 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 Lcrc;i:Lcrc;
    • 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 Lcrc;j:Lcrc;
    • 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 Lcrc;k:Lcrc;
    • 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 Lcrc;l:Lcrc;
    • 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 Lcrc;m:Lcrc;
    • 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 Lcrc;n:Lcrc;
    • 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 Lcrc;o:Lcrc;
    • 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 Lcrc;p:Lcrc;
    • 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 Lcrc;q:Lcrc;
    • 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 Lcrc;r:Lcrc;
    • 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 Lcrc;s:Lcrc;
    • 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 Lcrc;t:Lcrc;
    • 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 Lcrc;u:Lcrc;
    • 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 Lcrc;v:Lcrc;
    • 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 Lcrc;w:Lcrc;
    • 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 Lcrc;x:Lcrc;
    • 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 Lcrc;y:Lcrc;
    • 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 Lcrc;z:Lcpm;
    • 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 Lcrc;A:Lcrc$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> Lcrc;<init>(Lcrc$a;Lcpm;)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 Lcrc;a(Ljava/lang/String;Lcrc$a;)Lcrc;
    • 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 Lcrc;a(Ljava/lang/String;Lcrc$a;[Lcpk;)Lcrc;
    • 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 Lcrc;a(ILcmx;)Lcpv;
    • 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 Lcpj;i()Lcpm;