# Comment each AT with where it needed to be used

# EntityTFTowerGhast
public net.minecraft.entity.monster.GhastEntity$LookAroundGoal

# TileEntityTFCinderFurnace
protected net.minecraft.tileentity.AbstractFurnaceTileEntity *

# EntityTFFallingIce
protected net.minecraft.entity.item.FallingBlockEntity field_145809_g # hurtEntities
protected net.minecraft.entity.item.FallingBlockEntity field_145815_h # fallHurtMax
protected net.minecraft.entity.item.FallingBlockEntity field_145816_i # fallHurtAmount

# EntityTFHydraMortar and other projectiles
# public net.minecraft.entity.projectile.EntityThrowable field_70192_c # thrower NOTE: Needs evaluation

# TFSkyRenderer
public net.minecraft.client.renderer.WorldRenderer field_175012_t # skyVBO
public net.minecraft.client.renderer.WorldRenderer field_175011_u # sky2VBO

# ShaderManager
# public net.minecraft.client.renderer.OpenGlHelper field_153214_y # arbShaders NOTE: Unused

# StructureTFComponent
protected net.minecraft.world.gen.feature.structure.StructurePiece field_186169_c # rotation
protected net.minecraft.world.gen.feature.structure.StructurePiece field_186168_b # mirror
protected net.minecraft.world.gen.feature.structure.StructurePiece field_74885_f # coordBaseMode

# TFBiomeProvider
# protected net.minecraft.world.biome.BiomeProvider field_76944_d # genBiomes
# protected net.minecraft.world.biome.BiomeProvider field_76945_e # biomeIndexLayer

# MapGenTFMajorFeature
# protected net.minecraft.world.gen.structure.MapGenStructure field_143029_e # structureData NOTE: Field does not exist

# TFClientProxy
public net.minecraft.client.multiplayer.ClientAdvancementManager field_192803_d # advancementToProgress

# TextureAtlasSprite
# public net.minecraft.client.renderer.texture.TextureAtlasSprite field_110982_k # animationMetadata NOTE: Unused

# TFEventListener
public net.minecraft.entity.LivingEntity func_184583_d(Lnet/minecraft/util/DamageSource;)Z # canBlockDamageSource

# EntityTFBighorn
protected net.minecraft.entity.passive.SheepEntity func_175511_a(Lnet/minecraft/entity/passive/AnimalEntity;Lnet/minecraft/entity/passive/AnimalEntity;)Lnet/minecraft/item/DyeColor; # getDyeColorMixFromParents

# Entity Sizes because argh otherwise how does hydra work
public net.minecraft.entity.Entity field_213325_aI # size

# EntityTFGoblinKnightLower
public net.minecraft.entity.LivingEntity func_70669_a(Lnet/minecraft/item/ItemStack;)V # renderBrokenItemStack

# TFClientEvents
public net.minecraft.client.gui.IngameGui field_73843_a # prevVignetteBrightness

# ParticleLeafRune
public net.minecraft.client.particle.EnchantmentTableParticle <init>(Lnet/minecraft/world/World;DDDDDD)V #constructor

# ParticleProtection
public net.minecraft.client.particle.SuspendedTownParticle <init>(Lnet/minecraft/client/world/ClientWorld;DDDDDD)V #constructor

# ModelTFIceExploder
public net.minecraft.client.renderer.model.ModelRenderer field_78805_m # childModels

# EntityAITFGroundAttack
public net.minecraft.entity.ai.controller.MovementController field_188491_h # action

# GoalSelector.goals so we can remove goals
public net.minecraft.entity.ai.goal.GoalSelector field_220892_d # goals

#GameRules.BooleanValue.create we need creatable gamerules
public net.minecraft.world.GameRules$BooleanValue func_223568_b(Z)Lnet/minecraft/world/GameRules$RuleType; # create

#TFEventListener when parry, changed owner
public net.minecraft.entity.projectile.ThrowableEntity field_70192_c # owner

# TFBiomeProvider, because *someone* forgot to add this into Forge itself
public net.minecraft.world.biome.provider.BiomeProviderType <init>(Ljava/util/function/Function;Ljava/util/function/Function;)V #constructor

# PacketAreaProtection
public net.minecraft.client.world.ClientWorld field_217428_a # globalEntities

# DimensionSetting constructor
public net.minecraft.world.gen.DimensionSettings <init>(Lnet/minecraft/world/gen/settings/DimensionStructuresSettings;Lnet/minecraft/world/gen/settings/NoiseSettings;Lnet/minecraft/block/BlockState;Lnet/minecraft/block/BlockState;IIIZLjava/util/Optional;)V # constructor

# DimensionRenderInfo - So we can register our own skycolor - and do more?
public net.minecraft.client.world.DimensionRenderInfo field_239208_a_ # field_239208_a_

# Entity portal cooldown
public net.minecraft.entity.Entity field_82153_h # portalCounter

# TODO TEMPORARY - REMOVE THESE WHEN PROPER BIOMEPROVIDER API STUFF IS SETUP FOR DATAGEN ok finished yelling
# These are used in BiomeGenerator
protected net.minecraft.data.BiomeProvider field_244195_b
protected net.minecraft.data.BiomeProvider field_244196_c
protected net.minecraft.data.BiomeProvider field_244197_d

# No API yet for Foliage / Trunk Placers / Tree Decor yet
public net.minecraft.world.gen.foliageplacer.FoliagePlacerType <init>(Lcom/mojang/serialization/Codec;)V
public net.minecraft.world.gen.trunkplacer.TrunkPlacerType <init>(Lcom/mojang/serialization/Codec;)V
public net.minecraft.world.gen.treedecorator.TreeDecoratorType <init>(Lcom/mojang/serialization/Codec;)V

# Used in Trunk Mover Upper
public net.minecraft.world.gen.trunkplacer.AbstractTrunkPlacer field_236906_d_
public net.minecraft.world.gen.trunkplacer.AbstractTrunkPlacer field_236907_e_
public net.minecraft.world.gen.trunkplacer.AbstractTrunkPlacer field_236908_f_

# Used for FeatureUtil's Bresenham Branches
public net.minecraft.world.gen.trunkplacer.AbstractTrunkPlacer func_236911_a_(Lnet/minecraft/world/gen/IWorldGenerationReader;Ljava/util/Random;Lnet/minecraft/util/math/BlockPos;Ljava/util/Set;Lnet/minecraft/util/math/MutableBoundingBox;Lnet/minecraft/world/gen/feature/BaseTreeFeatureConfig;)Z # func_236911_a_

# Used in TFTeleporter, looks to be the old isChunkGeneratedAt method
public net.minecraft.world.server.ChunkManager func_241090_h_(Lnet/minecraft/util/math/ChunkPos;)Z

# Used in BlockTagGenerator
public net.minecraft.block.AbstractBlock field_149764_J # material

# Used in ParrotEntity
public net.minecraft.entity.passive.ParrotEntity field_192017_bK # IMITATION_SOUND_EVENTS

# Used in TFBlocks to allow composting
public net.minecraft.block.ComposterBlock func_220290_a(FLnet/minecraft/util/IItemProvider;)V # registerCompostable

# Used in TFBlocks to allow blocks to set fire
public net.minecraft.block.FireBlock func_180686_a(Lnet/minecraft/block/Block;II)V # setFireInfo

# Used in TwilightForestMod to allow block stripping
public-f net.minecraft.item.AxeItem field_203176_a # BLOCK_STRIPPING_MAP

# Used in ChunkGeneratorTFBase
public-f net.minecraft.world.gen.NoiseChunkGenerator

# Used in ChunkGeneratorTwilightForest
public net.minecraft.world.gen.NoiseChunkGenerator field_222571_r # surfaceDepthNoise

# Used in TFBiomeProvider
public net.minecraft.world.gen.layer.Layer field_215742_b # field_215742_b

# Used in TFStructures
public-f net.minecraft.world.gen.settings.DimensionStructuresSettings field_236191_b_ # field_236191_b_
public net.minecraft.world.gen.FlatGenerationSettings field_202247_j # STRUCTURES
public-f net.minecraft.world.gen.settings.DimensionStructuresSettings field_236193_d_ # field_236193_d_

# Used in TwilightWorldProvider
public net.minecraft.util.registry.WorldGenSettingsExport <init>(Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/util/registry/DynamicRegistries;)V

# Used in TFEventListener
public-f net.minecraft.entity.player.PlayerInventory field_70458_d # player

# Used in BlockTFMagicLogSpecial
public net.minecraft.world.biome.BiomeContainer field_227054_f_ # biomes

# Used in OutOfStructurePlacement
public net.minecraft.world.gen.feature.WorldDecoratingHelper field_242890_b # chunkGenerator
public net.minecraft.world.gen.feature.WorldDecoratingHelper field_242889_a # field_242889_a