1491 lines
		
	
	
	
		
			84 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			1491 lines
		
	
	
	
		
			84 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.util.datafix;
 | |
| 
 | |
| import com.google.common.collect.ImmutableMap;
 | |
| import com.google.common.util.concurrent.ThreadFactoryBuilder;
 | |
| import com.mojang.datafixers.DSL;
 | |
| import com.mojang.datafixers.DataFix;
 | |
| import com.mojang.datafixers.DataFixer;
 | |
| import com.mojang.datafixers.DataFixerBuilder;
 | |
| import com.mojang.datafixers.OpticFinder;
 | |
| import com.mojang.datafixers.TypeRewriteRule;
 | |
| import com.mojang.datafixers.DSL.TypeReference;
 | |
| import com.mojang.datafixers.DataFixerBuilder.Result;
 | |
| import com.mojang.datafixers.schemas.Schema;
 | |
| import com.mojang.datafixers.types.Type;
 | |
| import com.mojang.datafixers.util.Pair;
 | |
| import com.mojang.serialization.Dynamic;
 | |
| import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
 | |
| import java.util.Map;
 | |
| import java.util.Objects;
 | |
| import java.util.Set;
 | |
| import java.util.concurrent.CompletableFuture;
 | |
| import java.util.concurrent.Executor;
 | |
| import java.util.concurrent.Executors;
 | |
| import java.util.function.BiFunction;
 | |
| import java.util.function.Function;
 | |
| import java.util.function.UnaryOperator;
 | |
| import java.util.stream.Collectors;
 | |
| import java.util.stream.Stream;
 | |
| import net.minecraft.SharedConstants;
 | |
| import net.minecraft.Util;
 | |
| import net.minecraft.util.datafix.fixes.AbstractArrowPickupFix;
 | |
| import net.minecraft.util.datafix.fixes.AddFlagIfNotPresentFix;
 | |
| import net.minecraft.util.datafix.fixes.AddNewChoices;
 | |
| import net.minecraft.util.datafix.fixes.AdvancementsFix;
 | |
| import net.minecraft.util.datafix.fixes.AdvancementsRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.AreaEffectCloudDurationScaleFix;
 | |
| import net.minecraft.util.datafix.fixes.AreaEffectCloudPotionFix;
 | |
| import net.minecraft.util.datafix.fixes.AttributeIdPrefixFix;
 | |
| import net.minecraft.util.datafix.fixes.AttributeModifierIdFix;
 | |
| import net.minecraft.util.datafix.fixes.AttributesRenameLegacy;
 | |
| import net.minecraft.util.datafix.fixes.BannerEntityCustomNameToOverrideComponentFix;
 | |
| import net.minecraft.util.datafix.fixes.BannerPatternFormatFix;
 | |
| import net.minecraft.util.datafix.fixes.BedItemColorFix;
 | |
| import net.minecraft.util.datafix.fixes.BeehiveFieldRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.BiomeFix;
 | |
| import net.minecraft.util.datafix.fixes.BitStorageAlignFix;
 | |
| import net.minecraft.util.datafix.fixes.BlendingDataFix;
 | |
| import net.minecraft.util.datafix.fixes.BlendingDataRemoveFromNetherEndFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockEntityBannerColorFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockEntityBlockStateFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockEntityCustomNameToComponentFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockEntityFurnaceBurnTimeFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockEntityIdFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockEntityJukeboxFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockEntityKeepPacked;
 | |
| import net.minecraft.util.datafix.fixes.BlockEntityRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockEntityShulkerBoxColorFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockEntitySignDoubleSidedEditableTextFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockEntityUUIDFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockNameFlatteningFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockPosFormatAndRenamesFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockPropertyRenameAndFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.BlockStateStructureTemplateFix;
 | |
| import net.minecraft.util.datafix.fixes.BoatSplitFix;
 | |
| import net.minecraft.util.datafix.fixes.CarvingStepRemoveFix;
 | |
| import net.minecraft.util.datafix.fixes.CatTypeFix;
 | |
| import net.minecraft.util.datafix.fixes.CauldronRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.CavesAndCliffsRenames;
 | |
| import net.minecraft.util.datafix.fixes.ChestedHorsesInventoryZeroIndexingFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkBedBlockEntityInjecterFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkBiomeFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkDeleteIgnoredLightDataFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkDeleteLightFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkHeightAndBiomeFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkLightRemoveFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkPalettedStorageFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkProtoTickListFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkRenamesFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkStatusFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkStatusFix2;
 | |
| import net.minecraft.util.datafix.fixes.ChunkStructuresTemplateRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkTicketUnpackPosFix;
 | |
| import net.minecraft.util.datafix.fixes.ChunkToProtochunkFix;
 | |
| import net.minecraft.util.datafix.fixes.ColorlessShulkerEntityFix;
 | |
| import net.minecraft.util.datafix.fixes.ContainerBlockEntityLockPredicateFix;
 | |
| import net.minecraft.util.datafix.fixes.CriteriaRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.CustomModelDataExpandFix;
 | |
| import net.minecraft.util.datafix.fixes.DecoratedPotFieldRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.DropChancesFormatFix;
 | |
| import net.minecraft.util.datafix.fixes.DropInvalidSignDataFix;
 | |
| import net.minecraft.util.datafix.fixes.DyeItemRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.EffectDurationFix;
 | |
| import net.minecraft.util.datafix.fixes.EmptyItemInHotbarFix;
 | |
| import net.minecraft.util.datafix.fixes.EmptyItemInVillagerTradeFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityArmorStandSilentFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityAttributeBaseValueFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityBlockStateFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityBrushableBlockFieldsRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityCatSplitFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityCodSalmonFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityCustomNameToComponentFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityElderGuardianSplitFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityEquipmentToArmorAndHandFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityFallDistanceFloatToDoubleFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityFieldsRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityGoatMissingStateFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityHealthFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityHorseSaddleFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityHorseSplitFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityIdFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityItemFrameDirectionFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityMinecartIdentifiersFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityPaintingItemFrameDirectionFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityPaintingMotiveFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityProjectileOwnerFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityPufferfishRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityRavagerRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityRedundantChanceTagsFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityRidingToPassengersFix;
 | |
| import net.minecraft.util.datafix.fixes.EntitySalmonSizeFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityShulkerColorFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityShulkerRotationFix;
 | |
| import net.minecraft.util.datafix.fixes.EntitySkeletonSplitFix;
 | |
| import net.minecraft.util.datafix.fixes.EntitySpawnerItemVariantComponentFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityStringUuidFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityTheRenameningFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityTippedArrowFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityUUIDFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityVariantFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityWolfColorFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityZombieSplitFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityZombieVillagerTypeFix;
 | |
| import net.minecraft.util.datafix.fixes.EntityZombifiedPiglinRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.EquipmentFormatFix;
 | |
| import net.minecraft.util.datafix.fixes.EquippableAssetRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.FeatureFlagRemoveFix;
 | |
| import net.minecraft.util.datafix.fixes.FilteredBooksFix;
 | |
| import net.minecraft.util.datafix.fixes.FilteredSignsFix;
 | |
| import net.minecraft.util.datafix.fixes.FireResistantToDamageResistantComponentFix;
 | |
| import net.minecraft.util.datafix.fixes.FixProjectileStoredItem;
 | |
| import net.minecraft.util.datafix.fixes.FixWolfHealth;
 | |
| import net.minecraft.util.datafix.fixes.FoodToConsumableFix;
 | |
| import net.minecraft.util.datafix.fixes.ForcePoiRebuild;
 | |
| import net.minecraft.util.datafix.fixes.ForcedChunkToTicketFix;
 | |
| import net.minecraft.util.datafix.fixes.FurnaceRecipeFix;
 | |
| import net.minecraft.util.datafix.fixes.GoatHornIdFix;
 | |
| import net.minecraft.util.datafix.fixes.GossipUUIDFix;
 | |
| import net.minecraft.util.datafix.fixes.HeightmapRenamingFix;
 | |
| import net.minecraft.util.datafix.fixes.HorseBodyArmorItemFix;
 | |
| import net.minecraft.util.datafix.fixes.IglooMetadataRemovalFix;
 | |
| import net.minecraft.util.datafix.fixes.InlineBlockPosFormatFix;
 | |
| import net.minecraft.util.datafix.fixes.InvalidBlockEntityLockFix;
 | |
| import net.minecraft.util.datafix.fixes.InvalidLockComponentFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemBannerColorFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemCustomNameToComponentFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemIdFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemLoreFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemPotionFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemShulkerBoxColorFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemSpawnEggFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemStackComponentizationFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemStackCustomNameToOverrideComponentFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemStackEnchantmentNamesFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemStackMapIdFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemStackSpawnEggFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemStackTheFlatteningFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemStackUUIDFix;
 | |
| import net.minecraft.util.datafix.fixes.ItemWaterPotionFix;
 | |
| import net.minecraft.util.datafix.fixes.JigsawPropertiesFix;
 | |
| import net.minecraft.util.datafix.fixes.JigsawRotationFix;
 | |
| import net.minecraft.util.datafix.fixes.JukeboxTicksSinceSongStartedFix;
 | |
| import net.minecraft.util.datafix.fixes.LeavesFix;
 | |
| import net.minecraft.util.datafix.fixes.LegacyDimensionIdFix;
 | |
| import net.minecraft.util.datafix.fixes.LegacyDragonFightFix;
 | |
| import net.minecraft.util.datafix.fixes.LegacyHoverEventFix;
 | |
| import net.minecraft.util.datafix.fixes.LevelDataGeneratorOptionsFix;
 | |
| import net.minecraft.util.datafix.fixes.LevelFlatGeneratorInfoFix;
 | |
| import net.minecraft.util.datafix.fixes.LevelLegacyWorldGenSettingsFix;
 | |
| import net.minecraft.util.datafix.fixes.LevelUUIDFix;
 | |
| import net.minecraft.util.datafix.fixes.LockComponentPredicateFix;
 | |
| import net.minecraft.util.datafix.fixes.LodestoneCompassComponentFix;
 | |
| import net.minecraft.util.datafix.fixes.MapBannerBlockPosFormatFix;
 | |
| import net.minecraft.util.datafix.fixes.MapIdFix;
 | |
| import net.minecraft.util.datafix.fixes.MemoryExpiryDataFix;
 | |
| import net.minecraft.util.datafix.fixes.MissingDimensionFix;
 | |
| import net.minecraft.util.datafix.fixes.MobEffectIdFix;
 | |
| import net.minecraft.util.datafix.fixes.MobSpawnerEntityIdentifiersFix;
 | |
| import net.minecraft.util.datafix.fixes.NamedEntityConvertUncheckedFix;
 | |
| import net.minecraft.util.datafix.fixes.NamedEntityWriteReadFix;
 | |
| import net.minecraft.util.datafix.fixes.NamespacedTypeRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.NewVillageFix;
 | |
| import net.minecraft.util.datafix.fixes.ObjectiveRenderTypeFix;
 | |
| import net.minecraft.util.datafix.fixes.OminousBannerBlockEntityRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.OminousBannerRarityFix;
 | |
| import net.minecraft.util.datafix.fixes.OminousBannerRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.OptionsAccessibilityOnboardFix;
 | |
| import net.minecraft.util.datafix.fixes.OptionsAddTextBackgroundFix;
 | |
| import net.minecraft.util.datafix.fixes.OptionsAmbientOcclusionFix;
 | |
| import net.minecraft.util.datafix.fixes.OptionsForceVBOFix;
 | |
| import net.minecraft.util.datafix.fixes.OptionsKeyLwjgl3Fix;
 | |
| import net.minecraft.util.datafix.fixes.OptionsKeyTranslationFix;
 | |
| import net.minecraft.util.datafix.fixes.OptionsLowerCaseLanguageFix;
 | |
| import net.minecraft.util.datafix.fixes.OptionsMenuBlurrinessFix;
 | |
| import net.minecraft.util.datafix.fixes.OptionsProgrammerArtFix;
 | |
| import net.minecraft.util.datafix.fixes.OptionsRenameFieldFix;
 | |
| import net.minecraft.util.datafix.fixes.OverreachingTickFix;
 | |
| import net.minecraft.util.datafix.fixes.ParticleUnflatteningFix;
 | |
| import net.minecraft.util.datafix.fixes.PlayerEquipmentFix;
 | |
| import net.minecraft.util.datafix.fixes.PlayerHeadBlockProfileFix;
 | |
| import net.minecraft.util.datafix.fixes.PlayerUUIDFix;
 | |
| import net.minecraft.util.datafix.fixes.PoiTypeRemoveFix;
 | |
| import net.minecraft.util.datafix.fixes.PoiTypeRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.PrimedTntBlockStateFixer;
 | |
| import net.minecraft.util.datafix.fixes.ProjectileStoredWeaponFix;
 | |
| import net.minecraft.util.datafix.fixes.RaidRenamesDataFix;
 | |
| import net.minecraft.util.datafix.fixes.RandomSequenceSettingsFix;
 | |
| import net.minecraft.util.datafix.fixes.RecipesFix;
 | |
| import net.minecraft.util.datafix.fixes.RecipesRenameningFix;
 | |
| import net.minecraft.util.datafix.fixes.RedstoneWireConnectionsFix;
 | |
| import net.minecraft.util.datafix.fixes.References;
 | |
| import net.minecraft.util.datafix.fixes.RemapChunkStatusFix;
 | |
| import net.minecraft.util.datafix.fixes.RemoveBlockEntityTagFix;
 | |
| import net.minecraft.util.datafix.fixes.RemoveEmptyItemInBrushableBlockFix;
 | |
| import net.minecraft.util.datafix.fixes.RemoveGolemGossipFix;
 | |
| import net.minecraft.util.datafix.fixes.RenameEnchantmentsFix;
 | |
| import net.minecraft.util.datafix.fixes.RenamedCoralFansFix;
 | |
| import net.minecraft.util.datafix.fixes.RenamedCoralFix;
 | |
| import net.minecraft.util.datafix.fixes.ReorganizePoi;
 | |
| import net.minecraft.util.datafix.fixes.SaddleEquipmentSlotFix;
 | |
| import net.minecraft.util.datafix.fixes.SavedDataFeaturePoolElementFix;
 | |
| import net.minecraft.util.datafix.fixes.SavedDataUUIDFix;
 | |
| import net.minecraft.util.datafix.fixes.ScoreboardDisplayNameFix;
 | |
| import net.minecraft.util.datafix.fixes.ScoreboardDisplaySlotFix;
 | |
| import net.minecraft.util.datafix.fixes.SignTextStrictJsonFix;
 | |
| import net.minecraft.util.datafix.fixes.SpawnerDataFix;
 | |
| import net.minecraft.util.datafix.fixes.StatsCounterFix;
 | |
| import net.minecraft.util.datafix.fixes.StatsRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.StriderGravityFix;
 | |
| import net.minecraft.util.datafix.fixes.StructureReferenceCountFix;
 | |
| import net.minecraft.util.datafix.fixes.StructureSettingsFlattenFix;
 | |
| import net.minecraft.util.datafix.fixes.StructuresBecomeConfiguredFix;
 | |
| import net.minecraft.util.datafix.fixes.TextComponentHoverAndClickEventFix;
 | |
| import net.minecraft.util.datafix.fixes.TextComponentStringifiedFlagsFix;
 | |
| import net.minecraft.util.datafix.fixes.ThrownPotionSplitFix;
 | |
| import net.minecraft.util.datafix.fixes.TippedArrowPotionToItemFix;
 | |
| import net.minecraft.util.datafix.fixes.TooltipDisplayComponentFix;
 | |
| import net.minecraft.util.datafix.fixes.TrappedChestBlockEntityFix;
 | |
| import net.minecraft.util.datafix.fixes.TrialSpawnerConfigFix;
 | |
| import net.minecraft.util.datafix.fixes.TrialSpawnerConfigInRegistryFix;
 | |
| import net.minecraft.util.datafix.fixes.UnflattenTextComponentFix;
 | |
| import net.minecraft.util.datafix.fixes.VariantRenameFix;
 | |
| import net.minecraft.util.datafix.fixes.VillagerDataFix;
 | |
| import net.minecraft.util.datafix.fixes.VillagerFollowRangeFix;
 | |
| import net.minecraft.util.datafix.fixes.VillagerRebuildLevelAndXpFix;
 | |
| import net.minecraft.util.datafix.fixes.VillagerSetCanPickUpLootFix;
 | |
| import net.minecraft.util.datafix.fixes.VillagerTradeFix;
 | |
| import net.minecraft.util.datafix.fixes.WallPropertyFix;
 | |
| import net.minecraft.util.datafix.fixes.WeaponSmithChestLootTableFix;
 | |
| import net.minecraft.util.datafix.fixes.WorldGenSettingsDisallowOldCustomWorldsFix;
 | |
| import net.minecraft.util.datafix.fixes.WorldGenSettingsFix;
 | |
| import net.minecraft.util.datafix.fixes.WorldGenSettingsHeightAndBiomeFix;
 | |
| import net.minecraft.util.datafix.fixes.WriteAndReadFix;
 | |
| import net.minecraft.util.datafix.fixes.WrittenBookPagesStrictJsonFix;
 | |
| import net.minecraft.util.datafix.fixes.ZombieVillagerRebuildXpFix;
 | |
| import net.minecraft.util.datafix.schemas.NamespacedSchema;
 | |
| import net.minecraft.util.datafix.schemas.V100;
 | |
| import net.minecraft.util.datafix.schemas.V102;
 | |
| import net.minecraft.util.datafix.schemas.V1022;
 | |
| import net.minecraft.util.datafix.schemas.V106;
 | |
| import net.minecraft.util.datafix.schemas.V107;
 | |
| import net.minecraft.util.datafix.schemas.V1125;
 | |
| import net.minecraft.util.datafix.schemas.V135;
 | |
| import net.minecraft.util.datafix.schemas.V143;
 | |
| import net.minecraft.util.datafix.schemas.V1451;
 | |
| import net.minecraft.util.datafix.schemas.V1451_1;
 | |
| import net.minecraft.util.datafix.schemas.V1451_2;
 | |
| import net.minecraft.util.datafix.schemas.V1451_3;
 | |
| import net.minecraft.util.datafix.schemas.V1451_4;
 | |
| import net.minecraft.util.datafix.schemas.V1451_5;
 | |
| import net.minecraft.util.datafix.schemas.V1451_6;
 | |
| import net.minecraft.util.datafix.schemas.V1458;
 | |
| import net.minecraft.util.datafix.schemas.V1460;
 | |
| import net.minecraft.util.datafix.schemas.V1466;
 | |
| import net.minecraft.util.datafix.schemas.V1470;
 | |
| import net.minecraft.util.datafix.schemas.V1481;
 | |
| import net.minecraft.util.datafix.schemas.V1483;
 | |
| import net.minecraft.util.datafix.schemas.V1486;
 | |
| import net.minecraft.util.datafix.schemas.V1488;
 | |
| import net.minecraft.util.datafix.schemas.V1510;
 | |
| import net.minecraft.util.datafix.schemas.V1800;
 | |
| import net.minecraft.util.datafix.schemas.V1801;
 | |
| import net.minecraft.util.datafix.schemas.V1904;
 | |
| import net.minecraft.util.datafix.schemas.V1906;
 | |
| import net.minecraft.util.datafix.schemas.V1909;
 | |
| import net.minecraft.util.datafix.schemas.V1920;
 | |
| import net.minecraft.util.datafix.schemas.V1928;
 | |
| import net.minecraft.util.datafix.schemas.V1929;
 | |
| import net.minecraft.util.datafix.schemas.V1931;
 | |
| import net.minecraft.util.datafix.schemas.V2100;
 | |
| import net.minecraft.util.datafix.schemas.V2501;
 | |
| import net.minecraft.util.datafix.schemas.V2502;
 | |
| import net.minecraft.util.datafix.schemas.V2505;
 | |
| import net.minecraft.util.datafix.schemas.V2509;
 | |
| import net.minecraft.util.datafix.schemas.V2511_1;
 | |
| import net.minecraft.util.datafix.schemas.V2519;
 | |
| import net.minecraft.util.datafix.schemas.V2522;
 | |
| import net.minecraft.util.datafix.schemas.V2551;
 | |
| import net.minecraft.util.datafix.schemas.V2568;
 | |
| import net.minecraft.util.datafix.schemas.V2571;
 | |
| import net.minecraft.util.datafix.schemas.V2684;
 | |
| import net.minecraft.util.datafix.schemas.V2686;
 | |
| import net.minecraft.util.datafix.schemas.V2688;
 | |
| import net.minecraft.util.datafix.schemas.V2704;
 | |
| import net.minecraft.util.datafix.schemas.V2707;
 | |
| import net.minecraft.util.datafix.schemas.V2831;
 | |
| import net.minecraft.util.datafix.schemas.V2832;
 | |
| import net.minecraft.util.datafix.schemas.V2842;
 | |
| import net.minecraft.util.datafix.schemas.V3076;
 | |
| import net.minecraft.util.datafix.schemas.V3078;
 | |
| import net.minecraft.util.datafix.schemas.V3081;
 | |
| import net.minecraft.util.datafix.schemas.V3082;
 | |
| import net.minecraft.util.datafix.schemas.V3083;
 | |
| import net.minecraft.util.datafix.schemas.V3202;
 | |
| import net.minecraft.util.datafix.schemas.V3203;
 | |
| import net.minecraft.util.datafix.schemas.V3204;
 | |
| import net.minecraft.util.datafix.schemas.V3325;
 | |
| import net.minecraft.util.datafix.schemas.V3326;
 | |
| import net.minecraft.util.datafix.schemas.V3327;
 | |
| import net.minecraft.util.datafix.schemas.V3328;
 | |
| import net.minecraft.util.datafix.schemas.V3438;
 | |
| import net.minecraft.util.datafix.schemas.V3439;
 | |
| import net.minecraft.util.datafix.schemas.V3439_1;
 | |
| import net.minecraft.util.datafix.schemas.V3448;
 | |
| import net.minecraft.util.datafix.schemas.V3682;
 | |
| import net.minecraft.util.datafix.schemas.V3683;
 | |
| import net.minecraft.util.datafix.schemas.V3685;
 | |
| import net.minecraft.util.datafix.schemas.V3689;
 | |
| import net.minecraft.util.datafix.schemas.V3799;
 | |
| import net.minecraft.util.datafix.schemas.V3807;
 | |
| import net.minecraft.util.datafix.schemas.V3808;
 | |
| import net.minecraft.util.datafix.schemas.V3808_1;
 | |
| import net.minecraft.util.datafix.schemas.V3808_2;
 | |
| import net.minecraft.util.datafix.schemas.V3813;
 | |
| import net.minecraft.util.datafix.schemas.V3816;
 | |
| import net.minecraft.util.datafix.schemas.V3818;
 | |
| import net.minecraft.util.datafix.schemas.V3818_3;
 | |
| import net.minecraft.util.datafix.schemas.V3818_4;
 | |
| import net.minecraft.util.datafix.schemas.V3818_5;
 | |
| import net.minecraft.util.datafix.schemas.V3825;
 | |
| import net.minecraft.util.datafix.schemas.V3938;
 | |
| import net.minecraft.util.datafix.schemas.V4059;
 | |
| import net.minecraft.util.datafix.schemas.V4067;
 | |
| import net.minecraft.util.datafix.schemas.V4070;
 | |
| import net.minecraft.util.datafix.schemas.V4071;
 | |
| import net.minecraft.util.datafix.schemas.V4290;
 | |
| import net.minecraft.util.datafix.schemas.V4292;
 | |
| import net.minecraft.util.datafix.schemas.V4300;
 | |
| import net.minecraft.util.datafix.schemas.V4301;
 | |
| import net.minecraft.util.datafix.schemas.V4302;
 | |
| import net.minecraft.util.datafix.schemas.V4306;
 | |
| import net.minecraft.util.datafix.schemas.V4307;
 | |
| import net.minecraft.util.datafix.schemas.V4312;
 | |
| import net.minecraft.util.datafix.schemas.V4420;
 | |
| import net.minecraft.util.datafix.schemas.V4421;
 | |
| import net.minecraft.util.datafix.schemas.V501;
 | |
| import net.minecraft.util.datafix.schemas.V700;
 | |
| import net.minecraft.util.datafix.schemas.V701;
 | |
| import net.minecraft.util.datafix.schemas.V702;
 | |
| import net.minecraft.util.datafix.schemas.V703;
 | |
| import net.minecraft.util.datafix.schemas.V704;
 | |
| import net.minecraft.util.datafix.schemas.V705;
 | |
| import net.minecraft.util.datafix.schemas.V808;
 | |
| import net.minecraft.util.datafix.schemas.V99;
 | |
| 
 | |
| public class DataFixers {
 | |
| 	private static final BiFunction<Integer, Schema, Schema> SAME = Schema::new;
 | |
| 	private static final BiFunction<Integer, Schema, Schema> SAME_NAMESPACED = NamespacedSchema::new;
 | |
| 	private static final Result DATA_FIXER = createFixerUpper();
 | |
| 	public static final int BLENDING_VERSION = 4295;
 | |
| 
 | |
| 	private DataFixers() {
 | |
| 	}
 | |
| 
 | |
| 	public static DataFixer getDataFixer() {
 | |
| 		return DATA_FIXER.fixer();
 | |
| 	}
 | |
| 
 | |
| 	private static Result createFixerUpper() {
 | |
| 		DataFixerBuilder dataFixerBuilder = new DataFixerBuilder(SharedConstants.getCurrentVersion().dataVersion().version());
 | |
| 		addFixers(dataFixerBuilder);
 | |
| 		return dataFixerBuilder.build();
 | |
| 	}
 | |
| 
 | |
| 	public static CompletableFuture<?> optimize(Set<TypeReference> references) {
 | |
| 		if (references.isEmpty()) {
 | |
| 			return CompletableFuture.completedFuture(null);
 | |
| 		} else {
 | |
| 			Executor executor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("Datafixer Bootstrap").setDaemon(true).setPriority(1).build());
 | |
| 			return DATA_FIXER.optimize(references, executor);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	private static void addFixers(DataFixerBuilder builder) {
 | |
| 		builder.addSchema(99, V99::new);
 | |
| 		Schema schema = builder.addSchema(100, V100::new);
 | |
| 		builder.addFixer(new EntityEquipmentToArmorAndHandFix(schema));
 | |
| 		Schema schema2 = builder.addSchema(101, SAME);
 | |
| 		builder.addFixer(new VillagerSetCanPickUpLootFix(schema2));
 | |
| 		Schema schema3 = builder.addSchema(102, V102::new);
 | |
| 		builder.addFixer(new ItemIdFix(schema3, true));
 | |
| 		builder.addFixer(new ItemPotionFix(schema3, false));
 | |
| 		Schema schema4 = builder.addSchema(105, SAME);
 | |
| 		builder.addFixer(new ItemSpawnEggFix(schema4, true));
 | |
| 		Schema schema5 = builder.addSchema(106, V106::new);
 | |
| 		builder.addFixer(new MobSpawnerEntityIdentifiersFix(schema5, true));
 | |
| 		Schema schema6 = builder.addSchema(107, V107::new);
 | |
| 		builder.addFixer(new EntityMinecartIdentifiersFix(schema6));
 | |
| 		Schema schema7 = builder.addSchema(108, SAME);
 | |
| 		builder.addFixer(new EntityStringUuidFix(schema7, true));
 | |
| 		Schema schema8 = builder.addSchema(109, SAME);
 | |
| 		builder.addFixer(new EntityHealthFix(schema8, true));
 | |
| 		Schema schema9 = builder.addSchema(110, SAME);
 | |
| 		builder.addFixer(new EntityHorseSaddleFix(schema9, true));
 | |
| 		Schema schema10 = builder.addSchema(111, SAME);
 | |
| 		builder.addFixer(new EntityPaintingItemFrameDirectionFix(schema10, true));
 | |
| 		Schema schema11 = builder.addSchema(113, SAME);
 | |
| 		builder.addFixer(new EntityRedundantChanceTagsFix(schema11, true));
 | |
| 		Schema schema12 = builder.addSchema(135, V135::new);
 | |
| 		builder.addFixer(new EntityRidingToPassengersFix(schema12, true));
 | |
| 		Schema schema13 = builder.addSchema(143, V143::new);
 | |
| 		builder.addFixer(new EntityTippedArrowFix(schema13, true));
 | |
| 		Schema schema14 = builder.addSchema(147, SAME);
 | |
| 		builder.addFixer(new EntityArmorStandSilentFix(schema14, true));
 | |
| 		Schema schema15 = builder.addSchema(165, SAME);
 | |
| 		builder.addFixer(new SignTextStrictJsonFix(schema15));
 | |
| 		builder.addFixer(new WrittenBookPagesStrictJsonFix(schema15));
 | |
| 		Schema schema16 = builder.addSchema(501, V501::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema16, "Add 1.10 entities fix", References.ENTITY));
 | |
| 		Schema schema17 = builder.addSchema(502, SAME);
 | |
| 		builder.addFixer(
 | |
| 			ItemRenameFix.create(
 | |
| 				schema17,
 | |
| 				"cooked_fished item renamer",
 | |
| 				string -> Objects.equals(NamespacedSchema.ensureNamespaced(string), "minecraft:cooked_fished") ? "minecraft:cooked_fish" : string
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(new EntityZombieVillagerTypeFix(schema17, false));
 | |
| 		Schema schema18 = builder.addSchema(505, SAME);
 | |
| 		builder.addFixer(new OptionsForceVBOFix(schema18, false));
 | |
| 		Schema schema19 = builder.addSchema(700, V700::new);
 | |
| 		builder.addFixer(new EntityElderGuardianSplitFix(schema19, true));
 | |
| 		Schema schema20 = builder.addSchema(701, V701::new);
 | |
| 		builder.addFixer(new EntitySkeletonSplitFix(schema20, true));
 | |
| 		Schema schema21 = builder.addSchema(702, V702::new);
 | |
| 		builder.addFixer(new EntityZombieSplitFix(schema21));
 | |
| 		Schema schema22 = builder.addSchema(703, V703::new);
 | |
| 		builder.addFixer(new EntityHorseSplitFix(schema22, true));
 | |
| 		Schema schema23 = builder.addSchema(704, V704::new);
 | |
| 		builder.addFixer(new BlockEntityIdFix(schema23, true));
 | |
| 		Schema schema24 = builder.addSchema(705, V705::new);
 | |
| 		builder.addFixer(new EntityIdFix(schema24, true));
 | |
| 		Schema schema25 = builder.addSchema(804, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ItemBannerColorFix(schema25, true));
 | |
| 		Schema schema26 = builder.addSchema(806, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ItemWaterPotionFix(schema26, false));
 | |
| 		Schema schema27 = builder.addSchema(808, V808::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema27, "added shulker box", References.BLOCK_ENTITY));
 | |
| 		Schema schema28 = builder.addSchema(808, 1, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EntityShulkerColorFix(schema28, false));
 | |
| 		Schema schema29 = builder.addSchema(813, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ItemShulkerBoxColorFix(schema29, false));
 | |
| 		builder.addFixer(new BlockEntityShulkerBoxColorFix(schema29, false));
 | |
| 		Schema schema30 = builder.addSchema(816, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OptionsLowerCaseLanguageFix(schema30, false));
 | |
| 		Schema schema31 = builder.addSchema(820, SAME_NAMESPACED);
 | |
| 		builder.addFixer(ItemRenameFix.create(schema31, "totem item renamer", createRenamer("minecraft:totem", "minecraft:totem_of_undying")));
 | |
| 		Schema schema32 = builder.addSchema(1022, V1022::new);
 | |
| 		builder.addFixer(new WriteAndReadFix(schema32, "added shoulder entities to players", References.PLAYER));
 | |
| 		Schema schema33 = builder.addSchema(1125, V1125::new);
 | |
| 		builder.addFixer(new ChunkBedBlockEntityInjecterFix(schema33, true));
 | |
| 		builder.addFixer(new BedItemColorFix(schema33, false));
 | |
| 		Schema schema34 = builder.addSchema(1344, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OptionsKeyLwjgl3Fix(schema34, false));
 | |
| 		Schema schema35 = builder.addSchema(1446, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OptionsKeyTranslationFix(schema35, false));
 | |
| 		Schema schema36 = builder.addSchema(1450, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new BlockStateStructureTemplateFix(schema36, false));
 | |
| 		Schema schema37 = builder.addSchema(1451, V1451::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema37, "AddTrappedChestFix", References.BLOCK_ENTITY));
 | |
| 		Schema schema38 = builder.addSchema(1451, 1, V1451_1::new);
 | |
| 		builder.addFixer(new ChunkPalettedStorageFix(schema38, true));
 | |
| 		Schema schema39 = builder.addSchema(1451, 2, V1451_2::new);
 | |
| 		builder.addFixer(new BlockEntityBlockStateFix(schema39, true));
 | |
| 		Schema schema40 = builder.addSchema(1451, 3, V1451_3::new);
 | |
| 		builder.addFixer(new EntityBlockStateFix(schema40, true));
 | |
| 		builder.addFixer(new ItemStackMapIdFix(schema40, false));
 | |
| 		Schema schema41 = builder.addSchema(1451, 4, V1451_4::new);
 | |
| 		builder.addFixer(new BlockNameFlatteningFix(schema41, true));
 | |
| 		builder.addFixer(new ItemStackTheFlatteningFix(schema41, false));
 | |
| 		Schema schema42 = builder.addSchema(1451, 5, V1451_5::new);
 | |
| 		builder.addFixer(new RemoveBlockEntityTagFix(schema42, Set.of("minecraft:noteblock", "minecraft:flower_pot")));
 | |
| 		builder.addFixer(new ItemStackSpawnEggFix(schema42, false, "minecraft:spawn_egg"));
 | |
| 		builder.addFixer(new EntityWolfColorFix(schema42, false));
 | |
| 		builder.addFixer(new BlockEntityBannerColorFix(schema42, false));
 | |
| 		builder.addFixer(new LevelFlatGeneratorInfoFix(schema42, false));
 | |
| 		Schema schema43 = builder.addSchema(1451, 6, V1451_6::new);
 | |
| 		builder.addFixer(new StatsCounterFix(schema43, true));
 | |
| 		builder.addFixer(new BlockEntityJukeboxFix(schema43, false));
 | |
| 		Schema schema44 = builder.addSchema(1451, 7, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new VillagerTradeFix(schema44));
 | |
| 		Schema schema45 = builder.addSchema(1456, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EntityItemFrameDirectionFix(schema45, false));
 | |
| 		Schema schema46 = builder.addSchema(1458, V1458::new);
 | |
| 		builder.addFixer(new EntityCustomNameToComponentFix(schema46));
 | |
| 		builder.addFixer(new ItemCustomNameToComponentFix(schema46));
 | |
| 		builder.addFixer(new BlockEntityCustomNameToComponentFix(schema46));
 | |
| 		Schema schema47 = builder.addSchema(1460, V1460::new);
 | |
| 		builder.addFixer(new EntityPaintingMotiveFix(schema47, false));
 | |
| 		Schema schema48 = builder.addSchema(1466, V1466::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema48, "Add DUMMY block entity", References.BLOCK_ENTITY));
 | |
| 		builder.addFixer(new ChunkToProtochunkFix(schema48, true));
 | |
| 		Schema schema49 = builder.addSchema(1470, V1470::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema49, "Add 1.13 entities fix", References.ENTITY));
 | |
| 		Schema schema50 = builder.addSchema(1474, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ColorlessShulkerEntityFix(schema50, false));
 | |
| 		builder.addFixer(
 | |
| 			BlockRenameFix.create(
 | |
| 				schema50,
 | |
| 				"Colorless shulker block fixer",
 | |
| 				string -> Objects.equals(NamespacedSchema.ensureNamespaced(string), "minecraft:purple_shulker_box") ? "minecraft:shulker_box" : string
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(
 | |
| 			ItemRenameFix.create(
 | |
| 				schema50,
 | |
| 				"Colorless shulker item fixer",
 | |
| 				string -> Objects.equals(NamespacedSchema.ensureNamespaced(string), "minecraft:purple_shulker_box") ? "minecraft:shulker_box" : string
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema51 = builder.addSchema(1475, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			BlockRenameFix.create(
 | |
| 				schema51, "Flowing fixer", createRenamer(ImmutableMap.of("minecraft:flowing_water", "minecraft:water", "minecraft:flowing_lava", "minecraft:lava"))
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema52 = builder.addSchema(1480, SAME_NAMESPACED);
 | |
| 		builder.addFixer(BlockRenameFix.create(schema52, "Rename coral blocks", createRenamer(RenamedCoralFix.RENAMED_IDS)));
 | |
| 		builder.addFixer(ItemRenameFix.create(schema52, "Rename coral items", createRenamer(RenamedCoralFix.RENAMED_IDS)));
 | |
| 		Schema schema53 = builder.addSchema(1481, V1481::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema53, "Add conduit", References.BLOCK_ENTITY));
 | |
| 		Schema schema54 = builder.addSchema(1483, V1483::new);
 | |
| 		builder.addFixer(new EntityPufferfishRenameFix(schema54, true));
 | |
| 		builder.addFixer(ItemRenameFix.create(schema54, "Rename pufferfish egg item", createRenamer(EntityPufferfishRenameFix.RENAMED_IDS)));
 | |
| 		Schema schema55 = builder.addSchema(1484, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			ItemRenameFix.create(
 | |
| 				schema55,
 | |
| 				"Rename seagrass items",
 | |
| 				createRenamer(ImmutableMap.of("minecraft:sea_grass", "minecraft:seagrass", "minecraft:tall_sea_grass", "minecraft:tall_seagrass"))
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(
 | |
| 			BlockRenameFix.create(
 | |
| 				schema55,
 | |
| 				"Rename seagrass blocks",
 | |
| 				createRenamer(ImmutableMap.of("minecraft:sea_grass", "minecraft:seagrass", "minecraft:tall_sea_grass", "minecraft:tall_seagrass"))
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(new HeightmapRenamingFix(schema55, false));
 | |
| 		Schema schema56 = builder.addSchema(1486, V1486::new);
 | |
| 		builder.addFixer(new EntityCodSalmonFix(schema56, true));
 | |
| 		builder.addFixer(ItemRenameFix.create(schema56, "Rename cod/salmon egg items", createRenamer(EntityCodSalmonFix.RENAMED_EGG_IDS)));
 | |
| 		Schema schema57 = builder.addSchema(1487, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			ItemRenameFix.create(
 | |
| 				schema57,
 | |
| 				"Rename prismarine_brick(s)_* blocks",
 | |
| 				createRenamer(
 | |
| 					ImmutableMap.of(
 | |
| 						"minecraft:prismarine_bricks_slab", "minecraft:prismarine_brick_slab", "minecraft:prismarine_bricks_stairs", "minecraft:prismarine_brick_stairs"
 | |
| 					)
 | |
| 				)
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(
 | |
| 			BlockRenameFix.create(
 | |
| 				schema57,
 | |
| 				"Rename prismarine_brick(s)_* items",
 | |
| 				createRenamer(
 | |
| 					ImmutableMap.of(
 | |
| 						"minecraft:prismarine_bricks_slab", "minecraft:prismarine_brick_slab", "minecraft:prismarine_bricks_stairs", "minecraft:prismarine_brick_stairs"
 | |
| 					)
 | |
| 				)
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema58 = builder.addSchema(1488, V1488::new);
 | |
| 		builder.addFixer(
 | |
| 			BlockRenameFix.create(
 | |
| 				schema58, "Rename kelp/kelptop", createRenamer(ImmutableMap.of("minecraft:kelp_top", "minecraft:kelp", "minecraft:kelp", "minecraft:kelp_plant"))
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(ItemRenameFix.create(schema58, "Rename kelptop", createRenamer("minecraft:kelp_top", "minecraft:kelp")));
 | |
| 		builder.addFixer(
 | |
| 			new NamedEntityWriteReadFix(schema58, true, "Command block block entity custom name fix", References.BLOCK_ENTITY, "minecraft:command_block") {
 | |
| 				@Override
 | |
| 				protected <T> Dynamic<T> fix(Dynamic<T> tag) {
 | |
| 					return BlockEntityCustomNameToComponentFix.fixTagCustomName(tag);
 | |
| 				}
 | |
| 			}
 | |
| 		);
 | |
| 		builder.addFixer(
 | |
| 			new DataFix(schema58, false) {
 | |
| 				@Override
 | |
| 				protected TypeRewriteRule makeRule() {
 | |
| 					Type<?> type = this.getInputSchema().getType(References.ENTITY);
 | |
| 					OpticFinder<String> opticFinder = DSL.fieldFinder("id", NamespacedSchema.namespacedString());
 | |
| 					OpticFinder<?> opticFinder2 = type.findField("CustomName");
 | |
| 					OpticFinder<Pair<String, String>> opticFinder3 = DSL.typeFinder((Type<Pair<String, String>>)this.getInputSchema().getType(References.TEXT_COMPONENT));
 | |
| 					return this.fixTypeEverywhereTyped(
 | |
| 						"Command block minecart custom name fix",
 | |
| 						type,
 | |
| 						typed -> {
 | |
| 							String string = (String)typed.getOptional(opticFinder).orElse("");
 | |
| 							return !"minecraft:commandblock_minecart".equals(string)
 | |
| 								? typed
 | |
| 								: typed.updateTyped(opticFinder2, typedx -> typedx.update(opticFinder3, pair -> pair.mapSecond(LegacyComponentDataFixUtils::createTextComponentJson)));
 | |
| 						}
 | |
| 					);
 | |
| 				}
 | |
| 			}
 | |
| 		);
 | |
| 		builder.addFixer(new IglooMetadataRemovalFix(schema58, false));
 | |
| 		Schema schema59 = builder.addSchema(1490, SAME_NAMESPACED);
 | |
| 		builder.addFixer(BlockRenameFix.create(schema59, "Rename melon_block", createRenamer("minecraft:melon_block", "minecraft:melon")));
 | |
| 		builder.addFixer(
 | |
| 			ItemRenameFix.create(
 | |
| 				schema59,
 | |
| 				"Rename melon_block/melon/speckled_melon",
 | |
| 				createRenamer(
 | |
| 					ImmutableMap.of(
 | |
| 						"minecraft:melon_block", "minecraft:melon", "minecraft:melon", "minecraft:melon_slice", "minecraft:speckled_melon", "minecraft:glistering_melon_slice"
 | |
| 					)
 | |
| 				)
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema60 = builder.addSchema(1492, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ChunkStructuresTemplateRenameFix(schema60, false));
 | |
| 		Schema schema61 = builder.addSchema(1494, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ItemStackEnchantmentNamesFix(schema61, false));
 | |
| 		Schema schema62 = builder.addSchema(1496, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new LeavesFix(schema62, false));
 | |
| 		Schema schema63 = builder.addSchema(1500, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new BlockEntityKeepPacked(schema63, false));
 | |
| 		Schema schema64 = builder.addSchema(1501, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new AdvancementsFix(schema64, false));
 | |
| 		Schema schema65 = builder.addSchema(1502, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new NamespacedTypeRenameFix(schema65, "Recipes fix", References.RECIPE, createRenamer(RecipesFix.RECIPES)));
 | |
| 		Schema schema66 = builder.addSchema(1506, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new LevelDataGeneratorOptionsFix(schema66, false));
 | |
| 		Schema schema67 = builder.addSchema(1510, V1510::new);
 | |
| 		builder.addFixer(BlockRenameFix.create(schema67, "Block renamening fix", createRenamer(EntityTheRenameningFix.RENAMED_BLOCKS)));
 | |
| 		builder.addFixer(ItemRenameFix.create(schema67, "Item renamening fix", createRenamer(EntityTheRenameningFix.RENAMED_ITEMS)));
 | |
| 		builder.addFixer(new NamespacedTypeRenameFix(schema67, "Recipes renamening fix", References.RECIPE, createRenamer(RecipesRenameningFix.RECIPES)));
 | |
| 		builder.addFixer(new EntityTheRenameningFix(schema67, true));
 | |
| 		builder.addFixer(
 | |
| 			new StatsRenameFix(
 | |
| 				schema67,
 | |
| 				"SwimStatsRenameFix",
 | |
| 				ImmutableMap.of("minecraft:swim_one_cm", "minecraft:walk_on_water_one_cm", "minecraft:dive_one_cm", "minecraft:walk_under_water_one_cm")
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema68 = builder.addSchema(1514, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ScoreboardDisplayNameFix(schema68, "ObjectiveDisplayNameFix", References.OBJECTIVE));
 | |
| 		builder.addFixer(new ScoreboardDisplayNameFix(schema68, "TeamDisplayNameFix", References.TEAM));
 | |
| 		builder.addFixer(new ObjectiveRenderTypeFix(schema68));
 | |
| 		Schema schema69 = builder.addSchema(1515, SAME_NAMESPACED);
 | |
| 		builder.addFixer(BlockRenameFix.create(schema69, "Rename coral fan blocks", createRenamer(RenamedCoralFansFix.RENAMED_IDS)));
 | |
| 		Schema schema70 = builder.addSchema(1624, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new TrappedChestBlockEntityFix(schema70, false));
 | |
| 		Schema schema71 = builder.addSchema(1800, V1800::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema71, "Added 1.14 mobs fix", References.ENTITY));
 | |
| 		builder.addFixer(ItemRenameFix.create(schema71, "Rename dye items", createRenamer(DyeItemRenameFix.RENAMED_IDS)));
 | |
| 		Schema schema72 = builder.addSchema(1801, V1801::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema72, "Added Illager Beast", References.ENTITY));
 | |
| 		Schema schema73 = builder.addSchema(1802, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			BlockRenameFix.create(
 | |
| 				schema73,
 | |
| 				"Rename sign blocks & stone slabs",
 | |
| 				createRenamer(
 | |
| 					ImmutableMap.of(
 | |
| 						"minecraft:stone_slab", "minecraft:smooth_stone_slab", "minecraft:sign", "minecraft:oak_sign", "minecraft:wall_sign", "minecraft:oak_wall_sign"
 | |
| 					)
 | |
| 				)
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(
 | |
| 			ItemRenameFix.create(
 | |
| 				schema73,
 | |
| 				"Rename sign item & stone slabs",
 | |
| 				createRenamer(ImmutableMap.of("minecraft:stone_slab", "minecraft:smooth_stone_slab", "minecraft:sign", "minecraft:oak_sign"))
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema74 = builder.addSchema(1803, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ItemLoreFix(schema74));
 | |
| 		Schema schema75 = builder.addSchema(1904, V1904::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema75, "Added Cats", References.ENTITY));
 | |
| 		builder.addFixer(new EntityCatSplitFix(schema75, false));
 | |
| 		Schema schema76 = builder.addSchema(1905, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ChunkStatusFix(schema76, false));
 | |
| 		Schema schema77 = builder.addSchema(1906, V1906::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema77, "Add POI Blocks", References.BLOCK_ENTITY));
 | |
| 		Schema schema78 = builder.addSchema(1909, V1909::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema78, "Add jigsaw", References.BLOCK_ENTITY));
 | |
| 		Schema schema79 = builder.addSchema(1911, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ChunkStatusFix2(schema79, false));
 | |
| 		Schema schema80 = builder.addSchema(1914, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new WeaponSmithChestLootTableFix(schema80, false));
 | |
| 		Schema schema81 = builder.addSchema(1917, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new CatTypeFix(schema81, false));
 | |
| 		Schema schema82 = builder.addSchema(1918, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new VillagerDataFix(schema82, "minecraft:villager"));
 | |
| 		builder.addFixer(new VillagerDataFix(schema82, "minecraft:zombie_villager"));
 | |
| 		Schema schema83 = builder.addSchema(1920, V1920::new);
 | |
| 		builder.addFixer(new NewVillageFix(schema83, false));
 | |
| 		builder.addFixer(new AddNewChoices(schema83, "Add campfire", References.BLOCK_ENTITY));
 | |
| 		Schema schema84 = builder.addSchema(1925, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new MapIdFix(schema84));
 | |
| 		Schema schema85 = builder.addSchema(1928, V1928::new);
 | |
| 		builder.addFixer(new EntityRavagerRenameFix(schema85, true));
 | |
| 		builder.addFixer(ItemRenameFix.create(schema85, "Rename ravager egg item", createRenamer(EntityRavagerRenameFix.RENAMED_IDS)));
 | |
| 		Schema schema86 = builder.addSchema(1929, V1929::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema86, "Add Wandering Trader and Trader Llama", References.ENTITY));
 | |
| 		Schema schema87 = builder.addSchema(1931, V1931::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema87, "Added Fox", References.ENTITY));
 | |
| 		Schema schema88 = builder.addSchema(1936, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OptionsAddTextBackgroundFix(schema88, false));
 | |
| 		Schema schema89 = builder.addSchema(1946, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ReorganizePoi(schema89, false));
 | |
| 		Schema schema90 = builder.addSchema(1948, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OminousBannerRenameFix(schema90));
 | |
| 		Schema schema91 = builder.addSchema(1953, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OminousBannerBlockEntityRenameFix(schema91, false));
 | |
| 		Schema schema92 = builder.addSchema(1955, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new VillagerRebuildLevelAndXpFix(schema92, false));
 | |
| 		builder.addFixer(new ZombieVillagerRebuildXpFix(schema92, false));
 | |
| 		Schema schema93 = builder.addSchema(1961, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ChunkLightRemoveFix(schema93, false));
 | |
| 		Schema schema94 = builder.addSchema(1963, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new RemoveGolemGossipFix(schema94, false));
 | |
| 		Schema schema95 = builder.addSchema(2100, V2100::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema95, "Added Bee and Bee Stinger", References.ENTITY));
 | |
| 		builder.addFixer(new AddNewChoices(schema95, "Add beehive", References.BLOCK_ENTITY));
 | |
| 		builder.addFixer(
 | |
| 			new NamespacedTypeRenameFix(schema95, "Rename sugar recipe", References.RECIPE, createRenamer("minecraft:sugar", "minecraft:sugar_from_sugar_cane"))
 | |
| 		);
 | |
| 		builder.addFixer(
 | |
| 			new AdvancementsRenameFix(
 | |
| 				schema95, false, "Rename sugar recipe advancement", createRenamer("minecraft:recipes/misc/sugar", "minecraft:recipes/misc/sugar_from_sugar_cane")
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema96 = builder.addSchema(2202, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ChunkBiomeFix(schema96, false));
 | |
| 		Schema schema97 = builder.addSchema(2209, SAME_NAMESPACED);
 | |
| 		UnaryOperator<String> unaryOperator = createRenamer("minecraft:bee_hive", "minecraft:beehive");
 | |
| 		builder.addFixer(ItemRenameFix.create(schema97, "Rename bee_hive item to beehive", unaryOperator));
 | |
| 		builder.addFixer(new PoiTypeRenameFix(schema97, "Rename bee_hive poi to beehive", unaryOperator));
 | |
| 		builder.addFixer(BlockRenameFix.create(schema97, "Rename bee_hive block to beehive", unaryOperator));
 | |
| 		Schema schema98 = builder.addSchema(2211, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new StructureReferenceCountFix(schema98, false));
 | |
| 		Schema schema99 = builder.addSchema(2218, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ForcePoiRebuild(schema99, false));
 | |
| 		Schema schema100 = builder.addSchema(2501, V2501::new);
 | |
| 		builder.addFixer(new FurnaceRecipeFix(schema100, true));
 | |
| 		Schema schema101 = builder.addSchema(2502, V2502::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema101, "Added Hoglin", References.ENTITY));
 | |
| 		Schema schema102 = builder.addSchema(2503, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new WallPropertyFix(schema102, false));
 | |
| 		builder.addFixer(
 | |
| 			new AdvancementsRenameFix(
 | |
| 				schema102, false, "Composter category change", createRenamer("minecraft:recipes/misc/composter", "minecraft:recipes/decorations/composter")
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema103 = builder.addSchema(2505, V2505::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema103, "Added Piglin", References.ENTITY));
 | |
| 		builder.addFixer(new MemoryExpiryDataFix(schema103, "minecraft:villager"));
 | |
| 		Schema schema104 = builder.addSchema(2508, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			ItemRenameFix.create(
 | |
| 				schema104,
 | |
| 				"Renamed fungi items to fungus",
 | |
| 				createRenamer(ImmutableMap.of("minecraft:warped_fungi", "minecraft:warped_fungus", "minecraft:crimson_fungi", "minecraft:crimson_fungus"))
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(
 | |
| 			BlockRenameFix.create(
 | |
| 				schema104,
 | |
| 				"Renamed fungi blocks to fungus",
 | |
| 				createRenamer(ImmutableMap.of("minecraft:warped_fungi", "minecraft:warped_fungus", "minecraft:crimson_fungi", "minecraft:crimson_fungus"))
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema105 = builder.addSchema(2509, V2509::new);
 | |
| 		builder.addFixer(new EntityZombifiedPiglinRenameFix(schema105));
 | |
| 		builder.addFixer(ItemRenameFix.create(schema105, "Rename zombie pigman egg item", createRenamer(EntityZombifiedPiglinRenameFix.RENAMED_IDS)));
 | |
| 		Schema schema106 = builder.addSchema(2511, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EntityProjectileOwnerFix(schema106));
 | |
| 		Schema schema107 = builder.addSchema(2511, 1, V2511_1::new);
 | |
| 		builder.addFixer(new NamedEntityConvertUncheckedFix(schema107, "SplashPotionItemFieldRenameFix", References.ENTITY, "minecraft:potion"));
 | |
| 		Schema schema108 = builder.addSchema(2514, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EntityUUIDFix(schema108));
 | |
| 		builder.addFixer(new BlockEntityUUIDFix(schema108));
 | |
| 		builder.addFixer(new PlayerUUIDFix(schema108));
 | |
| 		builder.addFixer(new LevelUUIDFix(schema108));
 | |
| 		builder.addFixer(new SavedDataUUIDFix(schema108));
 | |
| 		builder.addFixer(new ItemStackUUIDFix(schema108));
 | |
| 		Schema schema109 = builder.addSchema(2516, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new GossipUUIDFix(schema109, "minecraft:villager"));
 | |
| 		builder.addFixer(new GossipUUIDFix(schema109, "minecraft:zombie_villager"));
 | |
| 		Schema schema110 = builder.addSchema(2518, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new JigsawPropertiesFix(schema110, false));
 | |
| 		builder.addFixer(new JigsawRotationFix(schema110));
 | |
| 		Schema schema111 = builder.addSchema(2519, V2519::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema111, "Added Strider", References.ENTITY));
 | |
| 		Schema schema112 = builder.addSchema(2522, V2522::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema112, "Added Zoglin", References.ENTITY));
 | |
| 		Schema schema113 = builder.addSchema(2523, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new AttributesRenameLegacy(
 | |
| 				schema113,
 | |
| 				"Attribute renames",
 | |
| 				createRenamerNoNamespace(
 | |
| 					ImmutableMap.<String, String>builder()
 | |
| 						.put("generic.maxHealth", "minecraft:generic.max_health")
 | |
| 						.put("Max Health", "minecraft:generic.max_health")
 | |
| 						.put("zombie.spawnReinforcements", "minecraft:zombie.spawn_reinforcements")
 | |
| 						.put("Spawn Reinforcements Chance", "minecraft:zombie.spawn_reinforcements")
 | |
| 						.put("horse.jumpStrength", "minecraft:horse.jump_strength")
 | |
| 						.put("Jump Strength", "minecraft:horse.jump_strength")
 | |
| 						.put("generic.followRange", "minecraft:generic.follow_range")
 | |
| 						.put("Follow Range", "minecraft:generic.follow_range")
 | |
| 						.put("generic.knockbackResistance", "minecraft:generic.knockback_resistance")
 | |
| 						.put("Knockback Resistance", "minecraft:generic.knockback_resistance")
 | |
| 						.put("generic.movementSpeed", "minecraft:generic.movement_speed")
 | |
| 						.put("Movement Speed", "minecraft:generic.movement_speed")
 | |
| 						.put("generic.flyingSpeed", "minecraft:generic.flying_speed")
 | |
| 						.put("Flying Speed", "minecraft:generic.flying_speed")
 | |
| 						.put("generic.attackDamage", "minecraft:generic.attack_damage")
 | |
| 						.put("generic.attackKnockback", "minecraft:generic.attack_knockback")
 | |
| 						.put("generic.attackSpeed", "minecraft:generic.attack_speed")
 | |
| 						.put("generic.armorToughness", "minecraft:generic.armor_toughness")
 | |
| 						.build()
 | |
| 				)
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema114 = builder.addSchema(2527, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new BitStorageAlignFix(schema114));
 | |
| 		Schema schema115 = builder.addSchema(2528, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			ItemRenameFix.create(
 | |
| 				schema115,
 | |
| 				"Rename soul fire torch and soul fire lantern",
 | |
| 				createRenamer(ImmutableMap.of("minecraft:soul_fire_torch", "minecraft:soul_torch", "minecraft:soul_fire_lantern", "minecraft:soul_lantern"))
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(
 | |
| 			BlockRenameFix.create(
 | |
| 				schema115,
 | |
| 				"Rename soul fire torch and soul fire lantern",
 | |
| 				createRenamer(
 | |
| 					ImmutableMap.of(
 | |
| 						"minecraft:soul_fire_torch",
 | |
| 						"minecraft:soul_torch",
 | |
| 						"minecraft:soul_fire_wall_torch",
 | |
| 						"minecraft:soul_wall_torch",
 | |
| 						"minecraft:soul_fire_lantern",
 | |
| 						"minecraft:soul_lantern"
 | |
| 					)
 | |
| 				)
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema116 = builder.addSchema(2529, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new StriderGravityFix(schema116, false));
 | |
| 		Schema schema117 = builder.addSchema(2531, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new RedstoneWireConnectionsFix(schema117));
 | |
| 		Schema schema118 = builder.addSchema(2533, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new VillagerFollowRangeFix(schema118));
 | |
| 		Schema schema119 = builder.addSchema(2535, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EntityShulkerRotationFix(schema119));
 | |
| 		Schema schema120 = builder.addSchema(2537, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new LegacyDimensionIdFix(schema120));
 | |
| 		Schema schema121 = builder.addSchema(2538, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new LevelLegacyWorldGenSettingsFix(schema121));
 | |
| 		Schema schema122 = builder.addSchema(2550, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new WorldGenSettingsFix(schema122));
 | |
| 		Schema schema123 = builder.addSchema(2551, V2551::new);
 | |
| 		builder.addFixer(new WriteAndReadFix(schema123, "add types to WorldGenData", References.WORLD_GEN_SETTINGS));
 | |
| 		Schema schema124 = builder.addSchema(2552, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new NamespacedTypeRenameFix(schema124, "Nether biome rename", References.BIOME, createRenamer("minecraft:nether", "minecraft:nether_wastes"))
 | |
| 		);
 | |
| 		Schema schema125 = builder.addSchema(2553, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new NamespacedTypeRenameFix(schema125, "Biomes fix", References.BIOME, createRenamer(BiomeFix.BIOMES)));
 | |
| 		Schema schema126 = builder.addSchema(2558, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new MissingDimensionFix(schema126, false));
 | |
| 		builder.addFixer(new OptionsRenameFieldFix(schema126, false, "Rename swapHands setting", "key_key.swapHands", "key_key.swapOffhand"));
 | |
| 		Schema schema127 = builder.addSchema(2568, V2568::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema127, "Added Piglin Brute", References.ENTITY));
 | |
| 		Schema schema128 = builder.addSchema(2571, V2571::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema128, "Added Goat", References.ENTITY));
 | |
| 		Schema schema129 = builder.addSchema(2679, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new CauldronRenameFix(schema129, false));
 | |
| 		Schema schema130 = builder.addSchema(2680, SAME_NAMESPACED);
 | |
| 		builder.addFixer(ItemRenameFix.create(schema130, "Renamed grass path item to dirt path", createRenamer("minecraft:grass_path", "minecraft:dirt_path")));
 | |
| 		builder.addFixer(BlockRenameFix.create(schema130, "Renamed grass path block to dirt path", createRenamer("minecraft:grass_path", "minecraft:dirt_path")));
 | |
| 		Schema schema131 = builder.addSchema(2684, V2684::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema131, "Added Sculk Sensor", References.BLOCK_ENTITY));
 | |
| 		Schema schema132 = builder.addSchema(2686, V2686::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema132, "Added Axolotl", References.ENTITY));
 | |
| 		Schema schema133 = builder.addSchema(2688, V2688::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema133, "Added Glow Squid", References.ENTITY));
 | |
| 		builder.addFixer(new AddNewChoices(schema133, "Added Glow Item Frame", References.ENTITY));
 | |
| 		Schema schema134 = builder.addSchema(2690, SAME_NAMESPACED);
 | |
| 		ImmutableMap<String, String> immutableMap = ImmutableMap.<String, String>builder()
 | |
| 			.put("minecraft:weathered_copper_block", "minecraft:oxidized_copper_block")
 | |
| 			.put("minecraft:semi_weathered_copper_block", "minecraft:weathered_copper_block")
 | |
| 			.put("minecraft:lightly_weathered_copper_block", "minecraft:exposed_copper_block")
 | |
| 			.put("minecraft:weathered_cut_copper", "minecraft:oxidized_cut_copper")
 | |
| 			.put("minecraft:semi_weathered_cut_copper", "minecraft:weathered_cut_copper")
 | |
| 			.put("minecraft:lightly_weathered_cut_copper", "minecraft:exposed_cut_copper")
 | |
| 			.put("minecraft:weathered_cut_copper_stairs", "minecraft:oxidized_cut_copper_stairs")
 | |
| 			.put("minecraft:semi_weathered_cut_copper_stairs", "minecraft:weathered_cut_copper_stairs")
 | |
| 			.put("minecraft:lightly_weathered_cut_copper_stairs", "minecraft:exposed_cut_copper_stairs")
 | |
| 			.put("minecraft:weathered_cut_copper_slab", "minecraft:oxidized_cut_copper_slab")
 | |
| 			.put("minecraft:semi_weathered_cut_copper_slab", "minecraft:weathered_cut_copper_slab")
 | |
| 			.put("minecraft:lightly_weathered_cut_copper_slab", "minecraft:exposed_cut_copper_slab")
 | |
| 			.put("minecraft:waxed_semi_weathered_copper", "minecraft:waxed_weathered_copper")
 | |
| 			.put("minecraft:waxed_lightly_weathered_copper", "minecraft:waxed_exposed_copper")
 | |
| 			.put("minecraft:waxed_semi_weathered_cut_copper", "minecraft:waxed_weathered_cut_copper")
 | |
| 			.put("minecraft:waxed_lightly_weathered_cut_copper", "minecraft:waxed_exposed_cut_copper")
 | |
| 			.put("minecraft:waxed_semi_weathered_cut_copper_stairs", "minecraft:waxed_weathered_cut_copper_stairs")
 | |
| 			.put("minecraft:waxed_lightly_weathered_cut_copper_stairs", "minecraft:waxed_exposed_cut_copper_stairs")
 | |
| 			.put("minecraft:waxed_semi_weathered_cut_copper_slab", "minecraft:waxed_weathered_cut_copper_slab")
 | |
| 			.put("minecraft:waxed_lightly_weathered_cut_copper_slab", "minecraft:waxed_exposed_cut_copper_slab")
 | |
| 			.build();
 | |
| 		builder.addFixer(ItemRenameFix.create(schema134, "Renamed copper block items to new oxidized terms", createRenamer(immutableMap)));
 | |
| 		builder.addFixer(BlockRenameFix.create(schema134, "Renamed copper blocks to new oxidized terms", createRenamer(immutableMap)));
 | |
| 		Schema schema135 = builder.addSchema(2691, SAME_NAMESPACED);
 | |
| 		ImmutableMap<String, String> immutableMap2 = ImmutableMap.<String, String>builder()
 | |
| 			.put("minecraft:waxed_copper", "minecraft:waxed_copper_block")
 | |
| 			.put("minecraft:oxidized_copper_block", "minecraft:oxidized_copper")
 | |
| 			.put("minecraft:weathered_copper_block", "minecraft:weathered_copper")
 | |
| 			.put("minecraft:exposed_copper_block", "minecraft:exposed_copper")
 | |
| 			.build();
 | |
| 		builder.addFixer(ItemRenameFix.create(schema135, "Rename copper item suffixes", createRenamer(immutableMap2)));
 | |
| 		builder.addFixer(BlockRenameFix.create(schema135, "Rename copper blocks suffixes", createRenamer(immutableMap2)));
 | |
| 		Schema schema136 = builder.addSchema(2693, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new AddFlagIfNotPresentFix(schema136, References.WORLD_GEN_SETTINGS, "has_increased_height_already", false));
 | |
| 		Schema schema137 = builder.addSchema(2696, SAME_NAMESPACED);
 | |
| 		ImmutableMap<String, String> immutableMap3 = ImmutableMap.<String, String>builder()
 | |
| 			.put("minecraft:grimstone", "minecraft:deepslate")
 | |
| 			.put("minecraft:grimstone_slab", "minecraft:cobbled_deepslate_slab")
 | |
| 			.put("minecraft:grimstone_stairs", "minecraft:cobbled_deepslate_stairs")
 | |
| 			.put("minecraft:grimstone_wall", "minecraft:cobbled_deepslate_wall")
 | |
| 			.put("minecraft:polished_grimstone", "minecraft:polished_deepslate")
 | |
| 			.put("minecraft:polished_grimstone_slab", "minecraft:polished_deepslate_slab")
 | |
| 			.put("minecraft:polished_grimstone_stairs", "minecraft:polished_deepslate_stairs")
 | |
| 			.put("minecraft:polished_grimstone_wall", "minecraft:polished_deepslate_wall")
 | |
| 			.put("minecraft:grimstone_tiles", "minecraft:deepslate_tiles")
 | |
| 			.put("minecraft:grimstone_tile_slab", "minecraft:deepslate_tile_slab")
 | |
| 			.put("minecraft:grimstone_tile_stairs", "minecraft:deepslate_tile_stairs")
 | |
| 			.put("minecraft:grimstone_tile_wall", "minecraft:deepslate_tile_wall")
 | |
| 			.put("minecraft:grimstone_bricks", "minecraft:deepslate_bricks")
 | |
| 			.put("minecraft:grimstone_brick_slab", "minecraft:deepslate_brick_slab")
 | |
| 			.put("minecraft:grimstone_brick_stairs", "minecraft:deepslate_brick_stairs")
 | |
| 			.put("minecraft:grimstone_brick_wall", "minecraft:deepslate_brick_wall")
 | |
| 			.put("minecraft:chiseled_grimstone", "minecraft:chiseled_deepslate")
 | |
| 			.build();
 | |
| 		builder.addFixer(ItemRenameFix.create(schema137, "Renamed grimstone block items to deepslate", createRenamer(immutableMap3)));
 | |
| 		builder.addFixer(BlockRenameFix.create(schema137, "Renamed grimstone blocks to deepslate", createRenamer(immutableMap3)));
 | |
| 		Schema schema138 = builder.addSchema(2700, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			BlockRenameFix.create(
 | |
| 				schema138,
 | |
| 				"Renamed cave vines blocks",
 | |
| 				createRenamer(ImmutableMap.of("minecraft:cave_vines_head", "minecraft:cave_vines", "minecraft:cave_vines_body", "minecraft:cave_vines_plant"))
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema139 = builder.addSchema(2701, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new SavedDataFeaturePoolElementFix(schema139));
 | |
| 		Schema schema140 = builder.addSchema(2702, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new AbstractArrowPickupFix(schema140));
 | |
| 		Schema schema141 = builder.addSchema(2704, V2704::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema141, "Added Goat", References.ENTITY));
 | |
| 		Schema schema142 = builder.addSchema(2707, V2707::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema142, "Added Marker", References.ENTITY));
 | |
| 		builder.addFixer(new AddFlagIfNotPresentFix(schema142, References.WORLD_GEN_SETTINGS, "has_increased_height_already", true));
 | |
| 		Schema schema143 = builder.addSchema(2710, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new StatsRenameFix(schema143, "Renamed play_one_minute stat to play_time", ImmutableMap.of("minecraft:play_one_minute", "minecraft:play_time"))
 | |
| 		);
 | |
| 		Schema schema144 = builder.addSchema(2717, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			ItemRenameFix.create(
 | |
| 				schema144, "Rename azalea_leaves_flowers", createRenamer(ImmutableMap.of("minecraft:azalea_leaves_flowers", "minecraft:flowering_azalea_leaves"))
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(
 | |
| 			BlockRenameFix.create(
 | |
| 				schema144, "Rename azalea_leaves_flowers items", createRenamer(ImmutableMap.of("minecraft:azalea_leaves_flowers", "minecraft:flowering_azalea_leaves"))
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema145 = builder.addSchema(2825, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new AddFlagIfNotPresentFix(schema145, References.WORLD_GEN_SETTINGS, "has_increased_height_already", false));
 | |
| 		Schema schema146 = builder.addSchema(2831, V2831::new);
 | |
| 		builder.addFixer(new SpawnerDataFix(schema146));
 | |
| 		Schema schema147 = builder.addSchema(2832, V2832::new);
 | |
| 		builder.addFixer(new WorldGenSettingsHeightAndBiomeFix(schema147));
 | |
| 		builder.addFixer(new ChunkHeightAndBiomeFix(schema147));
 | |
| 		Schema schema148 = builder.addSchema(2833, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new WorldGenSettingsDisallowOldCustomWorldsFix(schema148));
 | |
| 		Schema schema149 = builder.addSchema(2838, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new NamespacedTypeRenameFix(schema149, "Caves and Cliffs biome renames", References.BIOME, createRenamer(CavesAndCliffsRenames.RENAMES)));
 | |
| 		Schema schema150 = builder.addSchema(2841, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ChunkProtoTickListFix(schema150));
 | |
| 		Schema schema151 = builder.addSchema(2842, V2842::new);
 | |
| 		builder.addFixer(new ChunkRenamesFix(schema151));
 | |
| 		Schema schema152 = builder.addSchema(2843, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OverreachingTickFix(schema152));
 | |
| 		builder.addFixer(
 | |
| 			new NamespacedTypeRenameFix(schema152, "Remove Deep Warm Ocean", References.BIOME, createRenamer("minecraft:deep_warm_ocean", "minecraft:warm_ocean"))
 | |
| 		);
 | |
| 		Schema schema153 = builder.addSchema(2846, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new AdvancementsRenameFix(
 | |
| 				schema153,
 | |
| 				false,
 | |
| 				"Rename some C&C part 2 advancements",
 | |
| 				createRenamer(
 | |
| 					ImmutableMap.of(
 | |
| 						"minecraft:husbandry/play_jukebox_in_meadows",
 | |
| 						"minecraft:adventure/play_jukebox_in_meadows",
 | |
| 						"minecraft:adventure/caves_and_cliff",
 | |
| 						"minecraft:adventure/fall_from_world_height",
 | |
| 						"minecraft:adventure/ride_strider_in_overworld_lava",
 | |
| 						"minecraft:nether/ride_strider_in_overworld_lava"
 | |
| 					)
 | |
| 				)
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema154 = builder.addSchema(2852, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new WorldGenSettingsDisallowOldCustomWorldsFix(schema154));
 | |
| 		Schema schema155 = builder.addSchema(2967, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new StructureSettingsFlattenFix(schema155));
 | |
| 		Schema schema156 = builder.addSchema(2970, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new StructuresBecomeConfiguredFix(schema156));
 | |
| 		Schema schema157 = builder.addSchema(3076, V3076::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema157, "Added Sculk Catalyst", References.BLOCK_ENTITY));
 | |
| 		Schema schema158 = builder.addSchema(3077, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ChunkDeleteIgnoredLightDataFix(schema158));
 | |
| 		Schema schema159 = builder.addSchema(3078, V3078::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema159, "Added Frog", References.ENTITY));
 | |
| 		builder.addFixer(new AddNewChoices(schema159, "Added Tadpole", References.ENTITY));
 | |
| 		builder.addFixer(new AddNewChoices(schema159, "Added Sculk Shrieker", References.BLOCK_ENTITY));
 | |
| 		Schema schema160 = builder.addSchema(3081, V3081::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema160, "Added Warden", References.ENTITY));
 | |
| 		Schema schema161 = builder.addSchema(3082, V3082::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema161, "Added Chest Boat", References.ENTITY));
 | |
| 		Schema schema162 = builder.addSchema(3083, V3083::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema162, "Added Allay", References.ENTITY));
 | |
| 		Schema schema163 = builder.addSchema(3084, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new NamespacedTypeRenameFix(
 | |
| 				schema163,
 | |
| 				"game_event_renames_3084",
 | |
| 				References.GAME_EVENT_NAME,
 | |
| 				createRenamer(
 | |
| 					ImmutableMap.<String, String>builder()
 | |
| 						.put("minecraft:block_press", "minecraft:block_activate")
 | |
| 						.put("minecraft:block_switch", "minecraft:block_activate")
 | |
| 						.put("minecraft:block_unpress", "minecraft:block_deactivate")
 | |
| 						.put("minecraft:block_unswitch", "minecraft:block_deactivate")
 | |
| 						.put("minecraft:drinking_finish", "minecraft:drink")
 | |
| 						.put("minecraft:elytra_free_fall", "minecraft:elytra_glide")
 | |
| 						.put("minecraft:entity_damaged", "minecraft:entity_damage")
 | |
| 						.put("minecraft:entity_dying", "minecraft:entity_die")
 | |
| 						.put("minecraft:entity_killed", "minecraft:entity_die")
 | |
| 						.put("minecraft:mob_interact", "minecraft:entity_interact")
 | |
| 						.put("minecraft:ravager_roar", "minecraft:entity_roar")
 | |
| 						.put("minecraft:ring_bell", "minecraft:block_change")
 | |
| 						.put("minecraft:shulker_close", "minecraft:container_close")
 | |
| 						.put("minecraft:shulker_open", "minecraft:container_open")
 | |
| 						.put("minecraft:wolf_shaking", "minecraft:entity_shake")
 | |
| 						.build()
 | |
| 				)
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema164 = builder.addSchema(3086, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new EntityVariantFix(
 | |
| 				schema164, "Change cat variant type", References.ENTITY, "minecraft:cat", "CatType", Util.make(new Int2ObjectOpenHashMap(), int2ObjectOpenHashMap -> {
 | |
| 					int2ObjectOpenHashMap.defaultReturnValue("minecraft:tabby");
 | |
| 					int2ObjectOpenHashMap.put(0, "minecraft:tabby");
 | |
| 					int2ObjectOpenHashMap.put(1, "minecraft:black");
 | |
| 					int2ObjectOpenHashMap.put(2, "minecraft:red");
 | |
| 					int2ObjectOpenHashMap.put(3, "minecraft:siamese");
 | |
| 					int2ObjectOpenHashMap.put(4, "minecraft:british");
 | |
| 					int2ObjectOpenHashMap.put(5, "minecraft:calico");
 | |
| 					int2ObjectOpenHashMap.put(6, "minecraft:persian");
 | |
| 					int2ObjectOpenHashMap.put(7, "minecraft:ragdoll");
 | |
| 					int2ObjectOpenHashMap.put(8, "minecraft:white");
 | |
| 					int2ObjectOpenHashMap.put(9, "minecraft:jellie");
 | |
| 					int2ObjectOpenHashMap.put(10, "minecraft:all_black");
 | |
| 				})::get
 | |
| 			)
 | |
| 		);
 | |
| 		ImmutableMap<String, String> immutableMap4 = ImmutableMap.<String, String>builder()
 | |
| 			.put("textures/entity/cat/tabby.png", "minecraft:tabby")
 | |
| 			.put("textures/entity/cat/black.png", "minecraft:black")
 | |
| 			.put("textures/entity/cat/red.png", "minecraft:red")
 | |
| 			.put("textures/entity/cat/siamese.png", "minecraft:siamese")
 | |
| 			.put("textures/entity/cat/british_shorthair.png", "minecraft:british")
 | |
| 			.put("textures/entity/cat/calico.png", "minecraft:calico")
 | |
| 			.put("textures/entity/cat/persian.png", "minecraft:persian")
 | |
| 			.put("textures/entity/cat/ragdoll.png", "minecraft:ragdoll")
 | |
| 			.put("textures/entity/cat/white.png", "minecraft:white")
 | |
| 			.put("textures/entity/cat/jellie.png", "minecraft:jellie")
 | |
| 			.put("textures/entity/cat/all_black.png", "minecraft:all_black")
 | |
| 			.build();
 | |
| 		builder.addFixer(
 | |
| 			new CriteriaRenameFix(
 | |
| 				schema164, "Migrate cat variant advancement", "minecraft:husbandry/complete_catalogue", string -> immutableMap4.getOrDefault(string, string)
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema165 = builder.addSchema(3087, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new EntityVariantFix(
 | |
| 				schema165, "Change frog variant type", References.ENTITY, "minecraft:frog", "Variant", Util.make(new Int2ObjectOpenHashMap(), int2ObjectOpenHashMap -> {
 | |
| 					int2ObjectOpenHashMap.put(0, "minecraft:temperate");
 | |
| 					int2ObjectOpenHashMap.put(1, "minecraft:warm");
 | |
| 					int2ObjectOpenHashMap.put(2, "minecraft:cold");
 | |
| 				})::get
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema166 = builder.addSchema(3090, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EntityFieldsRenameFix(schema166, "EntityPaintingFieldsRenameFix", "minecraft:painting", Map.of("Motive", "variant", "Facing", "facing")));
 | |
| 		Schema schema167 = builder.addSchema(3093, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EntityGoatMissingStateFix(schema167));
 | |
| 		Schema schema168 = builder.addSchema(3094, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new GoatHornIdFix(schema168));
 | |
| 		Schema schema169 = builder.addSchema(3097, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new FilteredBooksFix(schema169));
 | |
| 		builder.addFixer(new FilteredSignsFix(schema169));
 | |
| 		Map<String, String> map = Map.of("minecraft:british", "minecraft:british_shorthair");
 | |
| 		builder.addFixer(new VariantRenameFix(schema169, "Rename british shorthair", References.ENTITY, "minecraft:cat", map));
 | |
| 		builder.addFixer(
 | |
| 			new CriteriaRenameFix(
 | |
| 				schema169,
 | |
| 				"Migrate cat variant advancement for british shorthair",
 | |
| 				"minecraft:husbandry/complete_catalogue",
 | |
| 				string -> (String)map.getOrDefault(string, string)
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(new PoiTypeRemoveFix(schema169, "Remove unpopulated villager PoI types", Set.of("minecraft:unemployed", "minecraft:nitwit")::contains));
 | |
| 		Schema schema170 = builder.addSchema(3108, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new BlendingDataRemoveFromNetherEndFix(schema170));
 | |
| 		Schema schema171 = builder.addSchema(3201, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OptionsProgrammerArtFix(schema171));
 | |
| 		Schema schema172 = builder.addSchema(3202, V3202::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema172, "Added Hanging Sign", References.BLOCK_ENTITY));
 | |
| 		Schema schema173 = builder.addSchema(3203, V3203::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema173, "Added Camel", References.ENTITY));
 | |
| 		Schema schema174 = builder.addSchema(3204, V3204::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema174, "Added Chiseled Bookshelf", References.BLOCK_ENTITY));
 | |
| 		Schema schema175 = builder.addSchema(3209, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ItemStackSpawnEggFix(schema175, false, "minecraft:pig_spawn_egg"));
 | |
| 		Schema schema176 = builder.addSchema(3214, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OptionsAmbientOcclusionFix(schema176));
 | |
| 		Schema schema177 = builder.addSchema(3319, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OptionsAccessibilityOnboardFix(schema177));
 | |
| 		Schema schema178 = builder.addSchema(3322, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EffectDurationFix(schema178));
 | |
| 		Schema schema179 = builder.addSchema(3325, V3325::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema179, "Added displays", References.ENTITY));
 | |
| 		Schema schema180 = builder.addSchema(3326, V3326::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema180, "Added Sniffer", References.ENTITY));
 | |
| 		Schema schema181 = builder.addSchema(3327, V3327::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema181, "Archaeology", References.BLOCK_ENTITY));
 | |
| 		Schema schema182 = builder.addSchema(3328, V3328::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema182, "Added interaction", References.ENTITY));
 | |
| 		Schema schema183 = builder.addSchema(3438, V3438::new);
 | |
| 		builder.addFixer(
 | |
| 			BlockEntityRenameFix.create(schema183, "Rename Suspicious Sand to Brushable Block", createRenamer("minecraft:suspicious_sand", "minecraft:brushable_block"))
 | |
| 		);
 | |
| 		builder.addFixer(new EntityBrushableBlockFieldsRenameFix(schema183));
 | |
| 		builder.addFixer(
 | |
| 			ItemRenameFix.create(
 | |
| 				schema183,
 | |
| 				"Pottery shard renaming",
 | |
| 				createRenamer(
 | |
| 					ImmutableMap.of(
 | |
| 						"minecraft:pottery_shard_archer",
 | |
| 						"minecraft:archer_pottery_shard",
 | |
| 						"minecraft:pottery_shard_prize",
 | |
| 						"minecraft:prize_pottery_shard",
 | |
| 						"minecraft:pottery_shard_arms_up",
 | |
| 						"minecraft:arms_up_pottery_shard",
 | |
| 						"minecraft:pottery_shard_skull",
 | |
| 						"minecraft:skull_pottery_shard"
 | |
| 					)
 | |
| 				)
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(new AddNewChoices(schema183, "Added calibrated sculk sensor", References.BLOCK_ENTITY));
 | |
| 		Schema schema184 = builder.addSchema(3439, V3439::new);
 | |
| 		builder.addFixer(new BlockEntitySignDoubleSidedEditableTextFix(schema184, "Updated sign text format for Signs", "minecraft:sign"));
 | |
| 		Schema schema185 = builder.addSchema(3439, 1, V3439_1::new);
 | |
| 		builder.addFixer(new BlockEntitySignDoubleSidedEditableTextFix(schema185, "Updated sign text format for Hanging Signs", "minecraft:hanging_sign"));
 | |
| 		Schema schema186 = builder.addSchema(3440, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new NamespacedTypeRenameFix(
 | |
| 				schema186,
 | |
| 				"Replace experimental 1.20 overworld",
 | |
| 				References.MULTI_NOISE_BIOME_SOURCE_PARAMETER_LIST,
 | |
| 				createRenamer("minecraft:overworld_update_1_20", "minecraft:overworld")
 | |
| 			)
 | |
| 		);
 | |
| 		builder.addFixer(new FeatureFlagRemoveFix(schema186, "Remove 1.20 feature toggle", Set.of("minecraft:update_1_20")));
 | |
| 		Schema schema187 = builder.addSchema(3447, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			ItemRenameFix.create(
 | |
| 				schema187,
 | |
| 				"Pottery shard item renaming to Pottery sherd",
 | |
| 				createRenamer(
 | |
| 					(Map<String, String>)Stream.of(
 | |
| 							"minecraft:angler_pottery_shard",
 | |
| 							"minecraft:archer_pottery_shard",
 | |
| 							"minecraft:arms_up_pottery_shard",
 | |
| 							"minecraft:blade_pottery_shard",
 | |
| 							"minecraft:brewer_pottery_shard",
 | |
| 							"minecraft:burn_pottery_shard",
 | |
| 							"minecraft:danger_pottery_shard",
 | |
| 							"minecraft:explorer_pottery_shard",
 | |
| 							"minecraft:friend_pottery_shard",
 | |
| 							"minecraft:heart_pottery_shard",
 | |
| 							"minecraft:heartbreak_pottery_shard",
 | |
| 							"minecraft:howl_pottery_shard",
 | |
| 							"minecraft:miner_pottery_shard",
 | |
| 							"minecraft:mourner_pottery_shard",
 | |
| 							"minecraft:plenty_pottery_shard",
 | |
| 							"minecraft:prize_pottery_shard",
 | |
| 							"minecraft:sheaf_pottery_shard",
 | |
| 							"minecraft:shelter_pottery_shard",
 | |
| 							"minecraft:skull_pottery_shard",
 | |
| 							"minecraft:snort_pottery_shard"
 | |
| 						)
 | |
| 						.collect(Collectors.toMap(Function.identity(), string -> string.replace("_pottery_shard", "_pottery_sherd")))
 | |
| 				)
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema188 = builder.addSchema(3448, V3448::new);
 | |
| 		builder.addFixer(new DecoratedPotFieldRenameFix(schema188));
 | |
| 		Schema schema189 = builder.addSchema(3450, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new RemapChunkStatusFix(
 | |
| 				schema189,
 | |
| 				"Remove liquid_carvers and heightmap chunk statuses",
 | |
| 				createRenamer(Map.of("minecraft:liquid_carvers", "minecraft:carvers", "minecraft:heightmaps", "minecraft:spawn"))
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema190 = builder.addSchema(3451, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ChunkDeleteLightFix(schema190));
 | |
| 		Schema schema191 = builder.addSchema(3459, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new LegacyDragonFightFix(schema191));
 | |
| 		Schema schema192 = builder.addSchema(3564, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new DropInvalidSignDataFix(schema192, "minecraft:sign"));
 | |
| 		Schema schema193 = builder.addSchema(3564, 1, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new DropInvalidSignDataFix(schema193, "minecraft:hanging_sign"));
 | |
| 		Schema schema194 = builder.addSchema(3565, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new RandomSequenceSettingsFix(schema194));
 | |
| 		Schema schema195 = builder.addSchema(3566, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ScoreboardDisplaySlotFix(schema195));
 | |
| 		Schema schema196 = builder.addSchema(3568, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new MobEffectIdFix(schema196));
 | |
| 		Schema schema197 = builder.addSchema(3682, V3682::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema197, "Added Crafter", References.BLOCK_ENTITY));
 | |
| 		Schema schema198 = builder.addSchema(3683, V3683::new);
 | |
| 		builder.addFixer(new PrimedTntBlockStateFixer(schema198));
 | |
| 		Schema schema199 = builder.addSchema(3685, V3685::new);
 | |
| 		builder.addFixer(new FixProjectileStoredItem(schema199));
 | |
| 		Schema schema200 = builder.addSchema(3689, V3689::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema200, "Added Breeze", References.ENTITY));
 | |
| 		builder.addFixer(new AddNewChoices(schema200, "Added Trial Spawner", References.BLOCK_ENTITY));
 | |
| 		Schema schema201 = builder.addSchema(3692, SAME_NAMESPACED);
 | |
| 		UnaryOperator<String> unaryOperator2 = createRenamer(Map.of("minecraft:grass", "minecraft:short_grass"));
 | |
| 		builder.addFixer(BlockRenameFix.create(schema201, "Rename grass block to short_grass", unaryOperator2));
 | |
| 		builder.addFixer(ItemRenameFix.create(schema201, "Rename grass item to short_grass", unaryOperator2));
 | |
| 		Schema schema202 = builder.addSchema(3799, V3799::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema202, "Added Armadillo", References.ENTITY));
 | |
| 		Schema schema203 = builder.addSchema(3800, SAME_NAMESPACED);
 | |
| 		UnaryOperator<String> unaryOperator3 = createRenamer(Map.of("minecraft:scute", "minecraft:turtle_scute"));
 | |
| 		builder.addFixer(ItemRenameFix.create(schema203, "Rename scute item to turtle_scute", unaryOperator3));
 | |
| 		Schema schema204 = builder.addSchema(3803, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new RenameEnchantmentsFix(schema204, "Rename sweeping enchant to sweeping_edge", Map.of("minecraft:sweeping", "minecraft:sweeping_edge")));
 | |
| 		Schema schema205 = builder.addSchema(3807, V3807::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema205, "Added Vault", References.BLOCK_ENTITY));
 | |
| 		Schema schema206 = builder.addSchema(3807, 1, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new MapBannerBlockPosFormatFix(schema206));
 | |
| 		Schema schema207 = builder.addSchema(3808, V3808::new);
 | |
| 		builder.addFixer(new HorseBodyArmorItemFix(schema207, "minecraft:horse", "ArmorItem", true));
 | |
| 		Schema schema208 = builder.addSchema(3808, 1, V3808_1::new);
 | |
| 		builder.addFixer(new HorseBodyArmorItemFix(schema208, "minecraft:llama", "DecorItem", false));
 | |
| 		Schema schema209 = builder.addSchema(3808, 2, V3808_2::new);
 | |
| 		builder.addFixer(new HorseBodyArmorItemFix(schema209, "minecraft:trader_llama", "DecorItem", false));
 | |
| 		Schema schema210 = builder.addSchema(3809, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ChestedHorsesInventoryZeroIndexingFix(schema210));
 | |
| 		Schema schema211 = builder.addSchema(3812, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new FixWolfHealth(schema211));
 | |
| 		Schema schema212 = builder.addSchema(3813, V3813::new);
 | |
| 		builder.addFixer(new BlockPosFormatAndRenamesFix(schema212));
 | |
| 		Schema schema213 = builder.addSchema(3814, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new AttributesRenameLegacy(schema213, "Rename jump strength attribute", createRenamer("minecraft:horse.jump_strength", "minecraft:generic.jump_strength"))
 | |
| 		);
 | |
| 		Schema schema214 = builder.addSchema(3816, V3816::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema214, "Added Bogged", References.ENTITY));
 | |
| 		Schema schema215 = builder.addSchema(3818, V3818::new);
 | |
| 		builder.addFixer(new BeehiveFieldRenameFix(schema215));
 | |
| 		builder.addFixer(new EmptyItemInHotbarFix(schema215));
 | |
| 		Schema schema216 = builder.addSchema(3818, 1, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new BannerPatternFormatFix(schema216));
 | |
| 		Schema schema217 = builder.addSchema(3818, 2, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new TippedArrowPotionToItemFix(schema217));
 | |
| 		Schema schema218 = builder.addSchema(3818, 3, V3818_3::new);
 | |
| 		builder.addFixer(new WriteAndReadFix(schema218, "Inject data component types", References.DATA_COMPONENTS));
 | |
| 		Schema schema219 = builder.addSchema(3818, 4, V3818_4::new);
 | |
| 		builder.addFixer(new ParticleUnflatteningFix(schema219));
 | |
| 		Schema schema220 = builder.addSchema(3818, 5, V3818_5::new);
 | |
| 		builder.addFixer(new ItemStackComponentizationFix(schema220));
 | |
| 		Schema schema221 = builder.addSchema(3818, 6, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new AreaEffectCloudPotionFix(schema221));
 | |
| 		Schema schema222 = builder.addSchema(3820, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new PlayerHeadBlockProfileFix(schema222));
 | |
| 		builder.addFixer(new LodestoneCompassComponentFix(schema222));
 | |
| 		Schema schema223 = builder.addSchema(3825, V3825::new);
 | |
| 		builder.addFixer(new ItemStackCustomNameToOverrideComponentFix(schema223));
 | |
| 		builder.addFixer(new BannerEntityCustomNameToOverrideComponentFix(schema223));
 | |
| 		builder.addFixer(new TrialSpawnerConfigFix(schema223));
 | |
| 		builder.addFixer(new AddNewChoices(schema223, "Added Ominous Item Spawner", References.ENTITY));
 | |
| 		Schema schema224 = builder.addSchema(3828, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EmptyItemInVillagerTradeFix(schema224));
 | |
| 		Schema schema225 = builder.addSchema(3833, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new RemoveEmptyItemInBrushableBlockFix(schema225));
 | |
| 		Schema schema226 = builder.addSchema(3938, V3938::new);
 | |
| 		builder.addFixer(new ProjectileStoredWeaponFix(schema226));
 | |
| 		Schema schema227 = builder.addSchema(3939, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new FeatureFlagRemoveFix(schema227, "Remove 1.21 feature toggle", Set.of("minecraft:update_1_21")));
 | |
| 		Schema schema228 = builder.addSchema(3943, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OptionsMenuBlurrinessFix(schema228));
 | |
| 		Schema schema229 = builder.addSchema(3945, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new AttributeModifierIdFix(schema229));
 | |
| 		builder.addFixer(new JukeboxTicksSinceSongStartedFix(schema229));
 | |
| 		Schema schema230 = builder.addSchema(4054, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new OminousBannerRarityFix(schema230));
 | |
| 		Schema schema231 = builder.addSchema(4055, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new AttributeIdPrefixFix(schema231));
 | |
| 		Schema schema232 = builder.addSchema(4057, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new CarvingStepRemoveFix(schema232));
 | |
| 		Schema schema233 = builder.addSchema(4059, V4059::new);
 | |
| 		builder.addFixer(new FoodToConsumableFix(schema233));
 | |
| 		Schema schema234 = builder.addSchema(4061, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new TrialSpawnerConfigInRegistryFix(schema234));
 | |
| 		Schema schema235 = builder.addSchema(4064, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new FireResistantToDamageResistantComponentFix(schema235));
 | |
| 		Schema schema236 = builder.addSchema(4067, V4067::new);
 | |
| 		builder.addFixer(new BoatSplitFix(schema236));
 | |
| 		builder.addFixer(new FeatureFlagRemoveFix(schema236, "Remove Bundle experimental feature flag", Set.of("minecraft:bundle")));
 | |
| 		Schema schema237 = builder.addSchema(4068, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new LockComponentPredicateFix(schema237));
 | |
| 		builder.addFixer(new ContainerBlockEntityLockPredicateFix(schema237));
 | |
| 		Schema schema238 = builder.addSchema(4070, V4070::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema238, "Added Pale Oak Boat and Pale Oak Chest Boat", References.ENTITY));
 | |
| 		Schema schema239 = builder.addSchema(4071, V4071::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema239, "Added Creaking", References.ENTITY));
 | |
| 		builder.addFixer(new AddNewChoices(schema239, "Added Creaking Heart", References.BLOCK_ENTITY));
 | |
| 		Schema schema240 = builder.addSchema(4081, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EntitySalmonSizeFix(schema240));
 | |
| 		Schema schema241 = builder.addSchema(4173, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EntityFieldsRenameFix(schema241, "Rename TNT Minecart fuse", "minecraft:tnt_minecart", Map.of("TNTFuse", "fuse")));
 | |
| 		Schema schema242 = builder.addSchema(4175, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EquippableAssetRenameFix(schema242));
 | |
| 		builder.addFixer(new CustomModelDataExpandFix(schema242));
 | |
| 		Schema schema243 = builder.addSchema(4176, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new InvalidBlockEntityLockFix(schema243));
 | |
| 		builder.addFixer(new InvalidLockComponentFix(schema243));
 | |
| 		Schema schema244 = builder.addSchema(4180, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new FeatureFlagRemoveFix(schema244, "Remove Winter Drop toggle", Set.of("minecraft:winter_drop")));
 | |
| 		Schema schema245 = builder.addSchema(4181, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new BlockEntityFurnaceBurnTimeFix(schema245, "minecraft:furnace"));
 | |
| 		builder.addFixer(new BlockEntityFurnaceBurnTimeFix(schema245, "minecraft:smoker"));
 | |
| 		builder.addFixer(new BlockEntityFurnaceBurnTimeFix(schema245, "minecraft:blast_furnace"));
 | |
| 		Schema schema246 = builder.addSchema(4187, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new EntityAttributeBaseValueFix(schema246, "Villager follow range fix undo", "minecraft:villager", "minecraft:follow_range", d -> d == 48.0 ? 16.0 : d)
 | |
| 		);
 | |
| 		builder.addFixer(new EntityAttributeBaseValueFix(schema246, "Bee follow range fix", "minecraft:bee", "minecraft:follow_range", d -> d == 48.0 ? 16.0 : d));
 | |
| 		builder.addFixer(new EntityAttributeBaseValueFix(schema246, "Allay follow range fix", "minecraft:allay", "minecraft:follow_range", d -> d == 48.0 ? 16.0 : d));
 | |
| 		builder.addFixer(new EntityAttributeBaseValueFix(schema246, "Llama follow range fix", "minecraft:llama", "minecraft:follow_range", d -> d == 40.0 ? 16.0 : d));
 | |
| 		builder.addFixer(
 | |
| 			new EntityAttributeBaseValueFix(schema246, "Piglin Brute follow range fix", "minecraft:piglin_brute", "minecraft:follow_range", d -> d == 16.0 ? 12.0 : d)
 | |
| 		);
 | |
| 		builder.addFixer(
 | |
| 			new EntityAttributeBaseValueFix(schema246, "Warden follow range fix", "minecraft:warden", "minecraft:follow_range", d -> d == 16.0 ? 24.0 : d)
 | |
| 		);
 | |
| 		Schema schema247 = builder.addSchema(4290, V4290::new);
 | |
| 		builder.addFixer(new UnflattenTextComponentFix(schema247));
 | |
| 		Schema schema248 = builder.addSchema(4291, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new LegacyHoverEventFix(schema248));
 | |
| 		builder.addFixer(new TextComponentStringifiedFlagsFix(schema248));
 | |
| 		Schema schema249 = builder.addSchema(4292, V4292::new);
 | |
| 		builder.addFixer(new TextComponentHoverAndClickEventFix(schema249));
 | |
| 		Schema schema250 = builder.addSchema(4293, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new DropChancesFormatFix(schema250));
 | |
| 		Schema schema251 = builder.addSchema(4294, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new BlockPropertyRenameAndFix(
 | |
| 				schema251,
 | |
| 				"CreakingHeartBlockStateFix",
 | |
| 				"minecraft:creaking_heart",
 | |
| 				"active",
 | |
| 				"creaking_heart_state",
 | |
| 				string -> string.equals("true") ? "awake" : "uprooted"
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema252 = builder.addSchema(4295, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new BlendingDataFix(schema252));
 | |
| 		Schema schema253 = builder.addSchema(4296, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new AreaEffectCloudDurationScaleFix(schema253));
 | |
| 		Schema schema254 = builder.addSchema(4297, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new ForcedChunkToTicketFix(schema254));
 | |
| 		Schema schema255 = builder.addSchema(4299, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EntitySpawnerItemVariantComponentFix(schema255));
 | |
| 		Schema schema256 = builder.addSchema(4300, V4300::new);
 | |
| 		builder.addFixer(new SaddleEquipmentSlotFix(schema256));
 | |
| 		Schema schema257 = builder.addSchema(4301, V4301::new);
 | |
| 		builder.addFixer(new EquipmentFormatFix(schema257));
 | |
| 		Schema schema258 = builder.addSchema(4302, V4302::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema258, "Added Test and Test Instance Block Entities", References.BLOCK_ENTITY));
 | |
| 		Schema schema259 = builder.addSchema(4303, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new EntityFallDistanceFloatToDoubleFix(schema259, References.ENTITY));
 | |
| 		builder.addFixer(new EntityFallDistanceFloatToDoubleFix(schema259, References.PLAYER));
 | |
| 		Schema schema260 = builder.addSchema(4305, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new BlockPropertyRenameAndFix(schema260, "rename test block mode", "minecraft:test_block", "test_block_mode", "mode", string -> string));
 | |
| 		Schema schema261 = builder.addSchema(4306, V4306::new);
 | |
| 		builder.addFixer(new ThrownPotionSplitFix(schema261));
 | |
| 		Schema schema262 = builder.addSchema(4307, V4307::new);
 | |
| 		builder.addFixer(new TooltipDisplayComponentFix(schema262));
 | |
| 		Schema schema263 = builder.addSchema(4309, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new RaidRenamesDataFix(schema263));
 | |
| 		builder.addFixer(new ChunkTicketUnpackPosFix(schema263));
 | |
| 		Schema schema264 = builder.addSchema(4311, SAME_NAMESPACED);
 | |
| 		builder.addFixer(
 | |
| 			new AdvancementsRenameFix(
 | |
| 				schema264, false, "Use lodestone category change", createRenamer("minecraft:nether/use_lodestone", "minecraft:adventure/use_lodestone")
 | |
| 			)
 | |
| 		);
 | |
| 		Schema schema265 = builder.addSchema(4312, V4312::new);
 | |
| 		builder.addFixer(new PlayerEquipmentFix(schema265));
 | |
| 		Schema schema266 = builder.addSchema(4314, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new InlineBlockPosFormatFix(schema266));
 | |
| 		Schema schema267 = builder.addSchema(4420, V4420::new);
 | |
| 		builder.addFixer(new NamedEntityConvertUncheckedFix(schema267, "AreaEffectCloudCustomParticleFix", References.ENTITY, "minecraft:area_effect_cloud"));
 | |
| 		Schema schema268 = builder.addSchema(4421, V4421::new);
 | |
| 		builder.addFixer(new AddNewChoices(schema268, "Added Happy Ghast", References.ENTITY));
 | |
| 		Schema schema269 = builder.addSchema(4424, SAME_NAMESPACED);
 | |
| 		builder.addFixer(new FeatureFlagRemoveFix(schema269, "Remove Locator Bar experimental feature flag", Set.of("minecraft:locator_bar")));
 | |
| 	}
 | |
| 
 | |
| 	private static UnaryOperator<String> createRenamerNoNamespace(Map<String, String> renameMap) {
 | |
| 		return string -> (String)renameMap.getOrDefault(string, string);
 | |
| 	}
 | |
| 
 | |
| 	private static UnaryOperator<String> createRenamer(Map<String, String> renameMap) {
 | |
| 		return string -> (String)renameMap.getOrDefault(NamespacedSchema.ensureNamespaced(string), string);
 | |
| 	}
 | |
| 
 | |
| 	private static UnaryOperator<String> createRenamer(String oldName, String newName) {
 | |
| 		return string3 -> Objects.equals(NamespacedSchema.ensureNamespaced(string3), oldName) ? newName : string3;
 | |
| 	}
 | |
| }
 |