Better block state flattening mappings (#1020)

* Better flattening mappings

* Improvements to flattening mappings

* ChunkNibbleArray.isLowBits -> usesLowNibble
This commit is contained in:
Joseph Burton 2019-12-30 22:05:36 +00:00 committed by modmuss50
parent 59dfbead00
commit a6e4ebaa89
4 changed files with 47 additions and 12 deletions

View File

@ -1,19 +1,21 @@
CLASS net/minecraft/class_3580 net/minecraft/datafixer/fix/BlockStateFlattening
FIELD field_15830 NEW_IDS_TO_STATES [Lcom/mojang/datafixers/Dynamic;
FIELD field_15831 OLD_STATES_TO_NEW_IDS Lit/unimi/dsi/fastutil/objects/Object2IntMap;
FIELD field_15830 ID_TO_NEW_STATE [Lcom/mojang/datafixers/Dynamic;
FIELD field_15831 OLD_STATE_TO_ID Lit/unimi/dsi/fastutil/objects/Object2IntMap;
FIELD field_15832 LOGGER Lorg/apache/logging/log4j/Logger;
FIELD field_15833 BLOCKS_TO_DEFAULT_IDS Lit/unimi/dsi/fastutil/objects/Object2IntMap;
FIELD field_15833 OLD_BLOCK_TO_ID Lit/unimi/dsi/fastutil/objects/Object2IntMap;
FIELD field_20682 ID_TO_NEW_BLOCK [Lcom/mojang/datafixers/Dynamic;
METHOD method_15594 lookupState (I)Lcom/mojang/datafixers/Dynamic;
ARG 0 stateId
METHOD method_15596 putStates (ILjava/lang/String;[Ljava/lang/String;)V
ARG 0 newId
ARG 0 oldId
ARG 1 newStateStr
ARG 2 oldStateStrings
METHOD method_15597 lookupState (Lcom/mojang/datafixers/Dynamic;)Lcom/mojang/datafixers/Dynamic;
ARG 0 oldState
METHOD method_15598 parseState (Ljava/lang/String;)Lcom/mojang/datafixers/Dynamic;
ARG 0 stateStr
METHOD method_15599 lookup (I)Ljava/lang/String;
METHOD method_15599 lookupStateBlock (I)Ljava/lang/String;
ARG 0 stateId
METHOD method_15600 lookup (Ljava/lang/String;)Ljava/lang/String;
ARG 0 blockId
METHOD method_15600 lookupBlock (Ljava/lang/String;)Ljava/lang/String;
ARG 0 oldBlockName
METHOD method_22426 fillEmptyStates ()V

View File

@ -7,6 +7,7 @@ CLASS net/minecraft/class_3582 net/minecraft/datafixer/fix/ChunkPalettedStorageF
FIELD field_15839 sunflowerUpper Lcom/mojang/datafixers/Dynamic;
FIELD field_15840 pumpkin Lcom/mojang/datafixers/Dynamic;
FIELD field_15841 flowerPot Ljava/util/Map;
FIELD field_15842 blocksNeedingSideUpdate Ljava/util/BitSet;
FIELD field_15843 air Lcom/mojang/datafixers/Dynamic;
FIELD field_15844 LOGGER Lorg/apache/logging/log4j/Logger;
FIELD field_15845 fernUpper Lcom/mojang/datafixers/Dynamic;
@ -18,6 +19,7 @@ CLASS net/minecraft/class_3582 net/minecraft/datafixer/fix/ChunkPalettedStorageF
FIELD field_15851 banner Ljava/util/Map;
FIELD field_15852 podzol Lcom/mojang/datafixers/Dynamic;
FIELD field_15853 skull Ljava/util/Map;
FIELD field_15854 blocksNeedingInPlaceUpdate Ljava/util/BitSet;
METHOD <init> (Lcom/mojang/datafixers/schemas/Schema;Z)V
ARG 1 outputSchema
ARG 2 changesType
@ -30,6 +32,11 @@ CLASS net/minecraft/class_3582 net/minecraft/datafixer/fix/ChunkPalettedStorageF
METHOD method_15611 buildDoor (Ljava/util/Map;Ljava/lang/String;I)V
ARG 0 out
ARG 1 name
METHOD method_15615 getSideToUpgradeFlag (ZZZZ)I
ARG 0 west
ARG 1 east
ARG 2 north
ARG 3 south
METHOD method_15616 addTo (Lnet/minecraft/class_3513;Lcom/mojang/datafixers/Dynamic;)I
METHOD method_15633 fixChunk (Lcom/mojang/datafixers/Dynamic;)Lcom/mojang/datafixers/Dynamic;
METHOD method_15636 buildBed (Ljava/util/Map;ILjava/lang/String;)V
@ -41,6 +48,10 @@ CLASS net/minecraft/class_3582 net/minecraft/datafixer/fix/ChunkPalettedStorageF
METHOD method_15640 get (III)I
ARG 1 x
ARG 2 y
METHOD method_15641 usesLowNibble (I)Z
ARG 1 index
METHOD method_15642 getRawIndex (I)I
ARG 1 index
CLASS class_3584 Facing
FIELD field_15861 direction Lnet/minecraft/class_3582$class_3584$class_3586;
FIELD field_15864 axis Lnet/minecraft/class_3582$class_3584$class_3585;
@ -60,18 +71,22 @@ CLASS net/minecraft/class_3582 net/minecraft/datafixer/fix/ChunkPalettedStorageF
FIELD field_15878 section Lcom/mojang/datafixers/Dynamic;
FIELD field_15879 y I
FIELD field_15880 paletteData Lcom/mojang/datafixers/Dynamic;
FIELD field_15881 seenIds Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
FIELD field_15881 inPlaceUpdates Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
FIELD field_15882 paletteMap Lnet/minecraft/class_3513;
METHOD method_15647 setBlock (ILcom/mojang/datafixers/Dynamic;)V
ARG 1 pos
METHOD method_15649 getBlock (I)Lcom/mojang/datafixers/Dynamic;
METHOD method_15650 addBlockAt (II)V
ARG 1 index
METHOD method_15650 addInPlaceUpdate (II)V
ARG 1 section
ARG 2 index
METHOD method_15651 transform ()Lcom/mojang/datafixers/Dynamic;
METHOD method_15652 visit (I)I
ARG 1 sidesToUpgrade
CLASS class_3588 Level
FIELD field_15883 yPos I
FIELD field_15884 xPos I
FIELD field_15885 sides I
FIELD field_15885 sidesToUpgrade I
FIELD field_15886 level Lcom/mojang/datafixers/Dynamic;
FIELD field_15887 blockEntities Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
FIELD field_15888 sections [Lnet/minecraft/class_3582$class_3587;

View File

@ -1,16 +1,31 @@
CLASS net/minecraft/class_2843 net/minecraft/world/chunk/UpgradeData
FIELD field_12950 NO_UPGRADE_DATA Lnet/minecraft/class_2843;
FIELD field_12951 sides Ljava/util/EnumSet;
FIELD field_12951 sidesToUpgrade Ljava/util/EnumSet;
FIELD field_12952 EIGHT_WAYS [Lnet/minecraft/class_2355;
FIELD field_12953 BLOCK_TO_LOGIC Ljava/util/Map;
FIELD field_12954 CALLBACK_LOGICS Ljava/util/Set;
FIELD field_12955 indices [[I
FIELD field_12955 centerIndicesToUpgrade [[I
FIELD field_12956 LOGGER Lorg/apache/logging/log4j/Logger;
METHOD <init> (Lnet/minecraft/class_2487;)V
ARG 1 tag
METHOD method_12348 upgradeCenter (Lnet/minecraft/class_2818;)V
ARG 1 chunk
METHOD method_12349 isDone ()Z
METHOD method_12350 toTag ()Lnet/minecraft/class_2487;
METHOD method_12351 applyAdjacentBlock (Lnet/minecraft/class_2680;Lnet/minecraft/class_2350;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
ARG 0 oldState
ARG 1 dir
ARG 2 world
ARG 3 currentPos
ARG 4 otherPos
METHOD method_12352 upgradeSide (Lnet/minecraft/class_2818;Lnet/minecraft/class_2355;)V
ARG 0 chunk
ARG 1 side
METHOD method_12356 upgrade (Lnet/minecraft/class_2818;)V
ARG 1 chunk
CLASS class_2844 Logic
METHOD method_12357 postUpdate (Lnet/minecraft/class_1936;)V
ARG 1 world
METHOD method_12358 getUpdatedState (Lnet/minecraft/class_2680;Lnet/minecraft/class_2350;Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
CLASS class_2845 BulitinLogic
FIELD field_12959 DIRECTIONS [Lnet/minecraft/class_2350;

View File

@ -66,4 +66,7 @@ CLASS net/minecraft/class_2818 net/minecraft/world/chunk/WorldChunk
ARG 2 box
ARG 3 list
ARG 4 predicate
METHOD method_20471 enableTickSchedulers (Lnet/minecraft/class_3218;)V
ARG 1 world
METHOD method_20530 disableTickSchedulers ()V
CLASS class_2819 CreationType