set(PROJECT_NAME Minecraft.World)

################################################################################
# Source groups
################################################################################
set(ConsoleHelpers
    "ArrayWithLength.h"
#    "C4JThread.cpp"
#    "C4JThread.h"
    "Definitions.h"
    "HashExtension.h"
    "PerformanceTimer.cpp"
    "PerformanceTimer.h"
    "StringHelpers.cpp"
    "StringHelpers.h"
    "ThreadName.cpp"
    "ThreadName.h"
)
source_group("ConsoleHelpers" FILES ${ConsoleHelpers})

set(ConsoleHelpers__ConsoleSaveFileIO
    "ConsoleSaveFile.h"
    "ConsoleSaveFileConverter.cpp"
    "ConsoleSaveFileConverter.h"
    "ConsoleSaveFileInputStream.cpp"
    "ConsoleSaveFileInputStream.h"
    "ConsoleSaveFileIO.h"
    "ConsoleSaveFileOriginal.cpp"
    "ConsoleSaveFileOriginal.h"
    "ConsoleSaveFileOutputStream.cpp"
    "ConsoleSaveFileOutputStream.h"
#    "ConsoleSaveFileSplit.cpp"
#    "ConsoleSaveFileSplit.h"
    "ConsoleSavePath.h"
    "FileHeader.cpp"
    "FileHeader.h"
)
source_group("ConsoleHelpers/ConsoleSaveFileIO" FILES ${ConsoleHelpers__ConsoleSaveFileIO})

set(ConsoleJavaLibs
    "Arrays.h"
    "BasicTypeContainers.cpp"
    "BasicTypeContainers.h"
    "Buffer.cpp"
    "Buffer.h"
    "ByteBuffer.cpp"
    "ByteBuffer.h"
    "Class.cpp"
    "Class.h"
    "Color.cpp"
    "Color.h"
    "Exceptions.h"
    "File.cpp"
    "File.h"
    "FileFilter.h"
    "FilenameFilter.h"
    "FloatBuffer.cpp"
    "FloatBuffer.h"
    "IntBuffer.cpp"
    "IntBuffer.h"
    "JavaIntHash.h"
    "JavaMath.cpp"
    "JavaMath.h"
    "NumberFormaters.h"
    "Random.cpp"
    "Random.h"
    "ReadMe.txt"
    "Reference.h"
    "Socket.cpp"
    "Socket.h"
    "SocketAddress.h"
    "system.cpp"
    "System.h"
)
source_group("ConsoleJavaLibs" FILES ${ConsoleJavaLibs})

set(ConsoleJavaLibs__InputOutputStream
    "BufferedOutputStream.cpp"
    "BufferedOutputStream.h"
    "BufferedReader.cpp"
    "BufferedReader.h"
    "ByteArrayInputStream.cpp"
    "ByteArrayInputStream.h"
    "ByteArrayOutputStream.cpp"
    "ByteArrayOutputStream.h"
    "DataInput.h"
    "DataInputStream.cpp"
    "DataInputStream.h"
    "DataOutput.h"
    "DataOutputStream.cpp"
    "DataOutputStream.h"
    "FileInputStream.cpp"
    "FileInputStream.h"
    "FileOutputStream.cpp"
    "FileOutputStream.h"
    "GZIPInputStream.h"
    "GZIPOutputStream.h"
    "InputOutputStream.h"
    "InputStream.cpp"
    "InputStream.h"
    "InputStreamReader.cpp"
    "InputStreamReader.h"
    "OutputStream.h"
    "Reader.h"
)
source_group("ConsoleJavaLibs/InputOutputStream" FILES ${ConsoleJavaLibs__InputOutputStream})

set(Header_Files
    "compression.h"
    "LevelObjectInputStream.h"
    "Minecraft.World.h"
    "ParticleTypes.h"
    "SoundTypes.h"
    "stdafx.h"
)
source_group("Header Files" FILES ${Header_Files})

set(Source_Files
    "compression.cpp"
    "Minecraft.World.cpp"
    "stdafx.cpp"
)
source_group("Source Files" FILES ${Source_Files})

set(argo
    "../Minecraft.Client/Common/res/TitleUpdate/audio/Minecraft.xgs"
)

source_group("argo" FILES ${argo})

set(com__mojang__nbt
    "ByteArrayTag.h"
    "ByteTag.h"
    "com.mojang.nbt.h"
    "CompoundTag.h"
    "DoubleTag.h"
    "EndTag.h"
    "FloatTag.h"
    "IntArrayTag.h"
    "IntTag.h"
    "ListTag.h"
    "LongTag.h"
    "NbtIo.cpp"
    "NbtIo.h"
    "ShortTag.h"
    "StringTag.h"
    "Tag.cpp"
    "Tag.h"
)
source_group("com/mojang/nbt" FILES ${com__mojang__nbt})

set(net__minecraft
    "Direction.cpp"
    "Direction.h"
    "Facing.cpp"
    "Facing.h"
    "net.minecraft.h"
    "Pos.cpp"
    "Pos.h"
    "SharedConstants.cpp"
    "SharedConstants.h"
)
source_group("net/minecraft" FILES ${net__minecraft})

set(net__minecraft__commands
    "AdminLogCommand.h"
    "Command.cpp"
    "Command.h"
    "CommandDispatcher.cpp"
    "CommandDispatcher.h"
    "CommandSender.h"
    "CommandsEnum.h"
    "net.minecraft.commands.h"
)
source_group("net/minecraft/commands" FILES ${net__minecraft__commands})

set(net__minecraft__commands__common
    "DefaultGameModeCommand.cpp"
    "DefaultGameModeCommand.h"
    "EnchantItemCommand.cpp"
    "EnchantItemCommand.h"
    "ExperienceCommand.cpp"
    "ExperienceCommand.h"
    "GameModeCommand.cpp"
    "GameModeCommand.h"
    "GiveItemCommand.cpp"
    "GiveItemCommand.h"
    "KillCommand.cpp"
    "KillCommand.h"
    "net.minecraft.commands.common.h"
    "TimeCommand.cpp"
    "TimeCommand.h"
    "ToggleDownfallCommand.cpp"
    "ToggleDownfallCommand.h"
)
source_group("net/minecraft/commands/common" FILES ${net__minecraft__commands__common})

set(net__minecraft__locale
    "I18n.cpp"
    "I18n.h"
    "Language.cpp"
    "Language.h"
    "net.minecraft.locale.h"
)
source_group("net/minecraft/locale" FILES ${net__minecraft__locale})

set(net__minecraft__network
    "Connection.cpp"
    "Connection.h"
    "net.minecraft.network.h"
)
source_group("net/minecraft/network" FILES ${net__minecraft__network})

set(net__minecraft__network__packet
    "AddEntityPacket.cpp"
    "AddEntityPacket.h"
    "AddExperienceOrbPacket.cpp"
    "AddExperienceOrbPacket.h"
    "AddGlobalEntityPacket.cpp"
    "AddGlobalEntityPacket.h"
    "AddMobPacket.cpp"
    "AddMobPacket.h"
    "AddPaintingPacket.cpp"
    "AddPaintingPacket.h"
    "AddPlayerPacket.cpp"
    "AddPlayerPacket.h"
    "AnimatePacket.cpp"
    "AnimatePacket.h"
    "AwardStatPacket.cpp"
    "AwardStatPacket.h"
    "BlockRegionUpdatePacket.cpp"
    "BlockRegionUpdatePacket.h"
    "ChatAutoCompletePacket.h"
    "ChatPacket.cpp"
    "ChatPacket.h"
    "ChunkTilesUpdatePacket.cpp"
    "ChunkTilesUpdatePacket.h"
    "ChunkVisibilityAreaPacket.cpp"
    "ChunkVisibilityAreaPacket.h"
    "ChunkVisibilityPacket.cpp"
    "ChunkVisibilityPacket.h"
    "ClientCommandPacket.cpp"
    "ClientCommandPacket.h"
    "ClientInformationPacket.h"
    "ClientProtocolPacket.h"
    "ComplexItemDataPacket.cpp"
    "ComplexItemDataPacket.h"
    "ContainerAckPacket.cpp"
    "ContainerAckPacket.h"
    "ContainerButtonClickPacket.cpp"
    "ContainerButtonClickPacket.h"
    "ContainerClickPacket.cpp"
    "ContainerClickPacket.h"
    "ContainerClosePacket.cpp"
    "ContainerClosePacket.h"
    "ContainerOpenPacket.cpp"
    "ContainerOpenPacket.h"
    "ContainerSetContentPacket.cpp"
    "ContainerSetContentPacket.h"
    "ContainerSetDataPacket.cpp"
    "ContainerSetDataPacket.h"
    "ContainerSetSlotPacket.cpp"
    "ContainerSetSlotPacket.h"
    "CraftItemPacket.cpp"
    "CraftItemPacket.h"
    "CustomPayloadPacket.cpp"
    "CustomPayloadPacket.h"
    "DebugOptionsPacket.cpp"
    "DebugOptionsPacket.h"
    "DisconnectPacket.cpp"
    "DisconnectPacket.h"
    "EntityActionAtPositionPacket.cpp"
    "EntityActionAtPositionPacket.h"
    "EntityEventPacket.cpp"
    "EntityEventPacket.h"
    "ExplodePacket.cpp"
    "ExplodePacket.h"
    "GameCommandPacket.cpp"
    "GameCommandPacket.h"
    "GameEventPacket.cpp"
    "GameEventPacket.h"
    "GetInfoPacket.cpp"
    "GetInfoPacket.h"
    "InteractPacket.cpp"
    "InteractPacket.h"
    "KeepAlivePacket.cpp"
    "KeepAlivePacket.h"
    "KickPlayerPacket.cpp"
    "KickPlayerPacket.h"
    "LevelEventPacket.cpp"
    "LevelEventPacket.h"
    "LevelSoundPacket.cpp"
    "LevelSoundPacket.h"
    "LoginPacket.cpp"
    "LoginPacket.h"
    "MoveEntityPacket.cpp"
    "MoveEntityPacket.h"
    "MoveEntityPacketSmall.cpp"
    "MoveEntityPacketSmall.h"
    "MovePlayerPacket.cpp"
    "MovePlayerPacket.h"
    "net.minecraft.network.packet.h"
    "Packet.cpp"
    "Packet.h"
    "PacketListener.cpp"
    "PacketListener.h"
    "PlayerAbilitiesPacket.cpp"
    "PlayerAbilitiesPacket.h"
    "PlayerActionPacket.cpp"
    "PlayerActionPacket.h"
    "PlayerCommandPacket.cpp"
    "PlayerCommandPacket.h"
    "PlayerInfoPacket.cpp"
    "PlayerInfoPacket.h"
    "PlayerInputPacket.cpp"
    "PlayerInputPacket.h"
    "PreLoginPacket.cpp"
    "PreLoginPacket.h"
    "RemoveEntitiesPacket.cpp"
    "RemoveEntitiesPacket.h"
    "RemoveMobEffectPacket.cpp"
    "RemoveMobEffectPacket.h"
    "RespawnPacket.cpp"
    "RespawnPacket.h"
    "RotateHeadPacket.cpp"
    "RotateHeadPacket.h"
    "ServerAuthDataPacket.h"
    "ServerSettingsChangedPacket.cpp"
    "ServerSettingsChangedPacket.h"
    "SetCarriedItemPacket.cpp"
    "SetCarriedItemPacket.h"
    "SetCreativeModeSlotPacket.cpp"
    "SetCreativeModeSlotPacket.h"
    "SetEntityDataPacket.cpp"
    "SetEntityDataPacket.h"
    "SetEntityMotionPacket.cpp"
    "SetEntityMotionPacket.h"
    "SetEquippedItemPacket.cpp"
    "SetEquippedItemPacket.h"
    "SetExperiencePacket.cpp"
    "SetExperiencePacket.h"
    "SetHealthPacket.cpp"
    "SetHealthPacket.h"
    "SetRidingPacket.cpp"
    "SetRidingPacket.h"
    "SetSpawnPositionPacket.cpp"
    "SetSpawnPositionPacket.h"
    "SetTimePacket.cpp"
    "SetTimePacket.h"
    "SharedKeyPacket.h"
    "SignUpdatePacket.cpp"
    "SignUpdatePacket.h"
    "TakeItemEntityPacket.cpp"
    "TakeItemEntityPacket.h"
    "TeleportEntityPacket.cpp"
    "TeleportEntityPacket.h"
    "TextureAndGeometryChangePacket.cpp"
    "TextureAndGeometryChangePacket.h"
    "TextureAndGeometryPacket.cpp"
    "TextureAndGeometryPacket.h"
    "TextureChangePacket.cpp"
    "TextureChangePacket.h"
    "TexturePacket.cpp"
    "TexturePacket.h"
    "TileDestructionPacket.cpp"
    "TileDestructionPacket.h"
    "TileEntityDataPacket.cpp"
    "TileEntityDataPacket.h"
    "TileEventPacket.cpp"
    "TileEventPacket.h"
    "TileUpdatePacket.cpp"
    "TileUpdatePacket.h"
    "TradeItemPacket.cpp"
    "TradeItemPacket.h"
    "UpdateGameRuleProgressPacket.cpp"
    "UpdateGameRuleProgressPacket.h"
    "UpdateMobEffectPacket.cpp"
    "UpdateMobEffectPacket.h"
    "UpdateProgressPacket.cpp"
    "UpdateProgressPacket.h"
    "UseItemPacket.cpp"
    "UseItemPacket.h"
    "XZPacket.cpp"
    "XZPacket.h"
)
source_group("net/minecraft/network/packet" FILES ${net__minecraft__network__packet})

set(net__minecraft__stats
    "Achievement.cpp"
    "Achievement.h"
    "Achievements.cpp"
    "Achievements.h"
    "CommonStats.cpp"
    "CommonStats.h"
    "DescFormatter.h"
#    "DurangoStats.cpp"
#    "DurangoStats.h"
    "GeneralStat.cpp"
    "GeneralStat.h"
    "GenericStats.cpp"
    "GenericStats.h"
    "ItemStat.cpp"
    "ItemStat.h"
    "net.minecraft.stats.h"
    "Stat.cpp"
    "Stat.h"
    "StatFormatter.h"
    "Stats.cpp"
    "Stats.h"
)
source_group("net/minecraft/stats" FILES ${net__minecraft__stats})

set(net__minecraft__util
    "Hasher.cpp"
    "Hasher.h"
    "Mth.cpp"
    "Mth.h"
    "ProgressListener.h"
    "SmoothFloat.cpp"
    "SmoothFloat.h"
    "WeighedRandom.cpp"
    "WeighedRandom.h"
    "WeighedTreasure.cpp"
    "WeighedTreasure.h"
)
source_group("net/minecraft/util" FILES ${net__minecraft__util})

set(net__minecraft__world
    "CompoundContainer.cpp"
    "CompoundContainer.h"
    "Container.cpp"
    "Container.h"
    "Difficulty.h"
    "FlippedIcon.cpp"
    "FlippedIcon.h"
    "Icon.h"
    "IconRegister.h"
    "MouseInventoryClickHandler.h"
    "net.minecraft.world.ContainerListener.h"
    "net.minecraft.world.h"
    "SimpleContainer.cpp"
    "SimpleContainer.h"
)
source_group("net/minecraft/world" FILES ${net__minecraft__world})

set(net__minecraft__world__damageSource
    "DamageSource.cpp"
    "DamageSource.h"
    "EntityDamageSource.cpp"
    "EntityDamageSource.h"
    "IndirectEntityDamageSource.cpp"
    "IndirectEntityDamageSource.h"
    "net.minecraft.world.damagesource.h"
)
source_group("net/minecraft/world/damageSource" FILES ${net__minecraft__world__damageSource})

set(net__minecraft__world__effect
    "InstantenousMobEffect.cpp"
    "InstantenousMobEffect.h"
    "MobEffect.cpp"
    "MobEffect.h"
    "MobEffectInstance.cpp"
    "MobEffectInstance.h"
    "net.minecraft.world.effect.h"
)
source_group("net/minecraft/world/effect" FILES ${net__minecraft__world__effect})

set(net__minecraft__world__entity
    "AgableMob.cpp"
    "AgableMob.h"
    "Creature.cpp"
    "Creature.h"
    "DelayedRelease.cpp"
    "DelayedRelease.h"
    "Entity.cpp"
    "Entity.h"
    "EntityEvent.h"
    "EntityIO.cpp"
    "EntityIO.h"
    "EntityPos.cpp"
    "EntityPos.h"
    "ExperienceOrb.cpp"
    "ExperienceOrb.h"
    "FlyingMob.cpp"
    "FlyingMob.h"
    "HangingEntity.cpp"
    "HangingEntity.h"
    "ItemFrame.cpp"
    "ItemFrame.h"
    "Mob.cpp"
    "Mob.h"
    "MobCategory.cpp"
    "MobCategory.h"
    "MobType.h"
    "net.minecraft.world.entity.h"
    "Painting.cpp"
    "Painting.h"
    "PathfinderMob.cpp"
    "PathfinderMob.h"
    "SynchedEntityData.cpp"
    "SynchedEntityData.h"
)
source_group("net/minecraft/world/entity" FILES ${net__minecraft__world__entity})

set(net__minecraft__world__entity__ai__control
    "BodyControl.cpp"
    "BodyControl.h"
    "Control.h"
    "JumpControl.cpp"
    "JumpControl.h"
    "LookControl.cpp"
    "LookControl.h"
    "MoveControl.cpp"
    "MoveControl.h"
    "net.minecraft.world.entity.ai.control.h"
)
source_group("net/minecraft/world/entity/ai/control" FILES ${net__minecraft__world__entity__ai__control})

set(net__minecraft__world__entity__ai__goal
    "ArrowAttackGoal.cpp"
    "ArrowAttackGoal.h"
    "AvoidPlayerGoal.cpp"
    "AvoidPlayerGoal.h"
    "BegGoal.cpp"
    "BegGoal.h"
    "BreakDoorGoal.cpp"
    "BreakDoorGoal.h"
    "BreedGoal.cpp"
    "BreedGoal.h"
    "ControlledByPlayerGoal.cpp"
    "ControlledByPlayerGoal.h"
    "DoorInteractGoal.cpp"
    "DoorInteractGoal.h"
    "EatTileGoal.cpp"
    "EatTileGoal.h"
    "FleeSunGoal.cpp"
    "FleeSunGoal.h"
    "FloatGoal.cpp"
    "FloatGoal.h"
    "FollowOwnerGoal.cpp"
    "FollowOwnerGoal.h"
    "FollowParentGoal.cpp"
    "FollowParentGoal.h"
    "Goal.cpp"
    "Goal.h"
    "GoalSelector.cpp"
    "GoalSelector.h"
    "InteractGoal.cpp"
    "InteractGoal.h"
    "LeapAtTargetGoal.cpp"
    "LeapAtTargetGoal.h"
    "LookAtPlayerGoal.cpp"
    "LookAtPlayerGoal.h"
    "LookAtTradingPlayerGoal.cpp"
    "LookAtTradingPlayerGoal.h"
    "MakeLoveGoal.cpp"
    "MakeLoveGoal.h"
    "MeleeAttackGoal.cpp"
    "MeleeAttackGoal.h"
    "MoveIndoorsGoal.cpp"
    "MoveIndoorsGoal.h"
    "MoveThroughVillageGoal.cpp"
    "MoveThroughVillageGoal.h"
    "MoveTowardsRestrictionGoal.cpp"
    "MoveTowardsRestrictionGoal.h"
    "MoveTowardsTargetGoal.cpp"
    "MoveTowardsTargetGoal.h"
    "net.minecraft.world.entity.ai.goal.h"
    "OcelotSitOnTileGoal.cpp"
    "OcelotSitOnTileGoal.h"
    "OfferFlowerGoal.cpp"
    "OfferFlowerGoal.h"
    "OpenDoorGoal.cpp"
    "OpenDoorGoal.h"
    "OzelotAttackGoal.cpp"
    "OzelotAttackGoal.h"
    "PanicGoal.cpp"
    "PanicGoal.h"
    "PlayGoal.cpp"
    "PlayGoal.h"
    "RandomLookAroundGoal.cpp"
    "RandomLookAroundGoal.h"
    "RandomStrollGoal.cpp"
    "RandomStrollGoal.h"
    "RestrictOpenDoorGoal.cpp"
    "RestrictOpenDoorGoal.h"
    "RestrictSunGoal.cpp"
    "RestrictSunGoal.h"
    "SitGoal.cpp"
    "SitGoal.h"
    "SwellGoal.cpp"
    "SwellGoal.h"
    "TakeFlowerGoal.cpp"
    "TakeFlowerGoal.h"
    "TemptGoal.cpp"
    "TemptGoal.h"
    "TradeWithPlayerGoal.cpp"
    "TradeWithPlayerGoal.h"
)
source_group("net/minecraft/world/entity/ai/goal" FILES ${net__minecraft__world__entity__ai__goal})

set(net__minecraft__world__entity__ai__goal__target
    "DefendVillageTargetGoal.cpp"
    "DefendVillageTargetGoal.h"
    "HurtByTargetGoal.cpp"
    "HurtByTargetGoal.h"
    "NearestAttackableTargetGoal.cpp"
    "NearestAttackableTargetGoal.h"
    "net.minecraft.world.entity.ai.goal.target.h"
    "NonTameRandomTargetGoal.cpp"
    "NonTameRandomTargetGoal.h"
    "OwnerHurtByTargetGoal.cpp"
    "OwnerHurtByTargetGoal.h"
    "OwnerHurtTargetGoal.cpp"
    "OwnerHurtTargetGoal.h"
    "TargetGoal.cpp"
    "TargetGoal.h"
)
source_group("net/minecraft/world/entity/ai/goal/target" FILES ${net__minecraft__world__entity__ai__goal__target})

set(net__minecraft__world__entity__ai__navigation
    "net.minecraft.world.entity.ai.navigation.h"
    "PathNavigation.cpp"
    "PathNavigation.h"
)
source_group("net/minecraft/world/entity/ai/navigation" FILES ${net__minecraft__world__entity__ai__navigation})

set(net__minecraft__world__entity__ai__sensing
    "net.minecraft.world.entity.ai.sensing.h"
    "Sensing.cpp"
    "Sensing.h"
)
source_group("net/minecraft/world/entity/ai/sensing" FILES ${net__minecraft__world__entity__ai__sensing})

set(net__minecraft__world__entity__ai__util
    "net.minecraft.world.entity.ai.util.h"
    "RandomPos.cpp"
    "RandomPos.h"
)
source_group("net/minecraft/world/entity/ai/util" FILES ${net__minecraft__world__entity__ai__util})

set(net__minecraft__world__entity__ai__village
    "DoorInfo.cpp"
    "DoorInfo.h"
    "net.minecraft.world.entity.ai.village.h"
    "Village.cpp"
    "Village.h"
    "Villages.cpp"
    "Villages.h"
    "VillageSiege.cpp"
    "VillageSiege.h"
)
source_group("net/minecraft/world/entity/ai/village" FILES ${net__minecraft__world__entity__ai__village})

set(net__minecraft__world__entity__animal
    "Animal.cpp"
    "Animal.h"
    "Chicken.cpp"
    "Chicken.h"
    "Cow.cpp"
    "Cow.h"
    "Golem.cpp"
    "Golem.h"
    "MushroomCow.cpp"
    "MushroomCow.h"
    "net.minecraft.world.entity.animal.h"
    "Ozelot.cpp"
    "Ozelot.h"
    "Pig.cpp"
    "Pig.h"
    "Sheep.cpp"
    "Sheep.h"
    "SnowMan.cpp"
    "SnowMan.h"
    "Squid.cpp"
    "Squid.h"
    "TamableAnimal.cpp"
    "TamableAnimal.h"
    "VillagerGolem.cpp"
    "VillagerGolem.h"
    "WaterAnimal.cpp"
    "WaterAnimal.h"
    "Wolf.cpp"
    "Wolf.h"
)
source_group("net/minecraft/world/entity/animal" FILES ${net__minecraft__world__entity__animal})

set(net__minecraft__world__entity__boss
    "BossMob.cpp"
    "BossMob.h"
    "BossMobPart.cpp"
    "BossMobPart.h"
    "net.minecraft.world.entity.boss.h"
)
source_group("net/minecraft/world/entity/boss" FILES ${net__minecraft__world__entity__boss})

set(net__minecraft__world__entity__boss__enderdragon
    "EnderCrystal.cpp"
    "EnderCrystal.h"
    "EnderDragon.cpp"
    "EnderDragon.h"
    "net.minecraft.world.entity.boss.enderdragon.h"
    "NetherSphere.cpp"
    "NetherSphere.h"
)
source_group("net/minecraft/world/entity/boss/enderdragon" FILES ${net__minecraft__world__entity__boss__enderdragon})

set(net__minecraft__world__entity__global
    "GlobalEntity.cpp"
    "GlobalEntity.h"
    "LightningBolt.cpp"
    "LightningBolt.h"
    "net.minecraft.world.entity.global.h"
)
source_group("net/minecraft/world/entity/global" FILES ${net__minecraft__world__entity__global})

set(net__minecraft__world__entity__item
    "Boat.cpp"
    "Boat.h"
    "FallingTile.cpp"
    "FallingTile.h"
    "ItemEntity.cpp"
    "ItemEntity.h"
    "Minecart.cpp"
    "Minecart.h"
    "net.minecraft.world.entity.item.h"
    "PrimedTnt.cpp"
    "PrimedTnt.h"
)
source_group("net/minecraft/world/entity/item" FILES ${net__minecraft__world__entity__item})

set(net__minecraft__world__entity__monster
    "Blaze.cpp"
    "Blaze.h"
    "CaveSpider.cpp"
    "CaveSpider.h"
    "Creeper.cpp"
    "Creeper.h"
    "EnderMan.cpp"
    "EnderMan.h"
    "Enemy.cpp"
    "Enemy.h"
    "Ghast.cpp"
    "Ghast.h"
    "Giant.cpp"
    "Giant.h"
    "LavaSlime.cpp"
    "LavaSlime.h"
    "Monster.cpp"
    "Monster.h"
    "net.minecraft.world.entity.monster.h"
    "PigZombie.cpp"
    "PigZombie.h"
    "Silverfish.cpp"
    "Silverfish.h"
    "Skeleton.cpp"
    "Skeleton.h"
    "Slime.cpp"
    "Slime.h"
    "Spider.cpp"
    "Spider.h"
    "Zombie.cpp"
    "Zombie.h"
)
source_group("net/minecraft/world/entity/monster" FILES ${net__minecraft__world__entity__monster})

set(net__minecraft__world__entity__npc
    "ClientSideMerchant.cpp"
    "ClientSideMerchant.h"
    "net.minecraft.world.entity.npc.h"
    "Npc.cpp"
    "Npc.h"
    "Villager.cpp"
    "Villager.h"
)
source_group("net/minecraft/world/entity/npc" FILES ${net__minecraft__world__entity__npc})

set(net__minecraft__world__entity__player
    "Abilities.cpp"
    "Abilities.h"
    "Inventory.cpp"
    "Inventory.h"
    "net.minecraft.world.entity.player.h"
    "Player.cpp"
    "Player.h"
)
source_group("net/minecraft/world/entity/player" FILES ${net__minecraft__world__entity__player})

set(net__minecraft__world__entity__projectile
    "Arrow.cpp"
    "Arrow.h"
    "DragonFireball.cpp"
    "DragonFireball.h"
    "EyeOfEnderSignal.cpp"
    "EyeOfEnderSignal.h"
    "Fireball.cpp"
    "Fireball.h"
    "FishingHook.cpp"
    "FishingHook.h"
    "net.minecraft.world.entity.projectile.h"
    "SmallFireball.cpp"
    "SmallFireball.h"
    "Snowball.cpp"
    "Snowball.h"
    "Throwable.cpp"
    "Throwable.h"
    "ThrownEgg.cpp"
    "ThrownEgg.h"
    "ThrownEnderpearl.cpp"
    "ThrownEnderpearl.h"
    "ThrownExpBottle.cpp"
    "ThrownExpBottle.h"
    "ThrownPotion.cpp"
    "ThrownPotion.h"
)
source_group("net/minecraft/world/entity/projectile" FILES ${net__minecraft__world__entity__projectile})

set(net__minecraft__world__food
    "FoodConstants.cpp"
    "FoodConstants.h"
    "FoodData.cpp"
    "FoodData.h"
    "net.minecraft.world.food.h"
)
source_group("net/minecraft/world/food" FILES ${net__minecraft__world__food})

set(net__minecraft__world__inventory
    "AbstractContainerMenu.cpp"
    "AbstractContainerMenu.h"
    "ArmorSlot.cpp"
    "ArmorSlot.h"
    "BrewingStandMenu.cpp"
    "BrewingStandMenu.h"
    "ContainerMenu.cpp"
    "ContainerMenu.h"
    "CraftingContainer.cpp"
    "CraftingContainer.h"
    "CraftingMenu.cpp"
    "CraftingMenu.h"
    "EnchantmentContainer.cpp"
    "EnchantmentContainer.h"
    "EnchantmentMenu.cpp"
    "EnchantmentMenu.h"
    "EnchantmentSlot.h"
    "FurnaceMenu.cpp"
    "FurnaceMenu.h"
    "FurnaceResultSlot.cpp"
    "FurnaceResultSlot.h"
    "InventoryMenu.cpp"
    "InventoryMenu.h"
    "MenuBackup.cpp"
    "MenuBackup.h"
    "MerchantContainer.cpp"
    "MerchantContainer.h"
    "MerchantMenu.cpp"
    "MerchantMenu.h"
    "MerchantResultSlot.cpp"
    "MerchantResultSlot.h"
    "net.minecraft.world.inventory.ContainerListener.h"
    "net.minecraft.world.inventory.h"
    "PlayerEnderChestContainer.cpp"
    "PlayerEnderChestContainer.h"
    "RepairContainer.cpp"
    "RepairContainer.h"
    "RepairMenu.cpp"
    "RepairMenu.h"
    "RepairResultSlot.cpp"
    "RepairResultSlot.h"
    "ResultContainer.cpp"
    "ResultContainer.h"
    "ResultSlot.cpp"
    "ResultSlot.h"
    "Slot.cpp"
    "Slot.h"
    "TrapMenu.cpp"
    "TrapMenu.h"
)
source_group("net/minecraft/world/inventory" FILES ${net__minecraft__world__inventory})

set(net__minecraft__world__item
    "AnvilTileItem.cpp"
    "AnvilTileItem.h"
    "ArmorItem.cpp"
    "ArmorItem.h"
    "AuxDataTileItem.cpp"
    "AuxDataTileItem.h"
    "BedItem.cpp"
    "BedItem.h"
    "BoatItem.cpp"
    "BoatItem.h"
    "BookItem.cpp"
    "BookItem.h"
    "BottleItem.cpp"
    "BottleItem.h"
    "BowItem.cpp"
    "BowItem.h"
    "BowlFoodItem.cpp"
    "BowlFoodItem.h"
    "BucketItem.cpp"
    "BucketItem.h"
    "CarrotOnAStickItem.cpp"
    "CarrotOnAStickItem.h"
    "ClockItem.cpp"
    "ClockItem.h"
    "ClothTileItem.cpp"
    "ClothTileItem.h"
    "CoalItem.cpp"
    "CoalItem.h"
    "ColoredTileItem.cpp"
    "ColoredTileItem.h"
    "CompassItem.cpp"
    "CompassItem.h"
    "ComplexItem.cpp"
    "ComplexItem.h"
    "DiggerItem.cpp"
    "DiggerItem.h"
    "DoorItem.cpp"
    "DoorItem.h"
    "DyePowderItem.cpp"
    "DyePowderItem.h"
    "EggItem.cpp"
    "EggItem.h"
    "EnchantedBookItem.cpp"
    "EnchantedBookItem.h"
    "EnderEyeItem.cpp"
    "EnderEyeItem.h"
    "EnderpearlItem.cpp"
    "EnderpearlItem.h"
    "ExperienceItem.cpp"
    "ExperienceItem.h"
    "FireChargeItem.cpp"
    "FireChargeItem.h"
    "FishingRodItem.cpp"
    "FishingRodItem.h"
    "FlintAndSteelItem.cpp"
    "FlintAndSteelItem.h"
    "FoodItem.cpp"
    "FoodItem.h"
    "GoldenAppleItem.cpp"
    "GoldenAppleItem.h"
    "HangingEntityItem.cpp"
    "HangingEntityItem.h"
    "HatchetItem.cpp"
    "HatchetItem.h"
    "HoeItem.cpp"
    "HoeItem.h"
    "Item.cpp"
    "Item.h"
    "ItemInstance.cpp"
    "ItemInstance.h"
    "LeafTileItem.cpp"
    "LeafTileItem.h"
    "MapItem.cpp"
    "MapItem.h"
    "MilkBucketItem.cpp"
    "MilkBucketItem.h"
    "MinecartItem.cpp"
    "MinecartItem.h"
    "MonsterPlacerItem.cpp"
    "MonsterPlacerItem.h"
    "MultiTextureTileItem.cpp"
    "MultiTextureTileItem.h"
    "net.minecraft.world.item.h"
    "PickaxeItem.cpp"
    "PickaxeItem.h"
    "PistonTileItem.cpp"
    "PistonTileItem.h"
    "PotionItem.cpp"
    "PotionItem.h"
    "Rarity.cpp"
    "Rarity.h"
    "RecordingItem.cpp"
    "RecordingItem.h"
    "RedStoneItem.cpp"
    "RedStoneItem.h"
    "SaddleItem.cpp"
    "SaddleItem.h"
    "SaplingTileItem.cpp"
    "SaplingTileItem.h"
    "SeedFoodItem.cpp"
    "SeedFoodItem.h"
    "SeedItem.cpp"
    "SeedItem.h"
    "ShearsItem.cpp"
    "ShearsItem.h"
    "ShovelItem.cpp"
    "ShovelItem.h"
    "SignItem.cpp"
    "SignItem.h"
    "SkullItem.cpp"
    "SkullItem.h"
    "SmoothStoneBrickTileItem.cpp"
    "SmoothStoneBrickTileItem.h"
    "SnowballItem.cpp"
    "SnowballItem.h"
    "StoneMonsterTileItem.cpp"
    "StoneMonsterTileItem.h"
    "StoneSlabTileItem.cpp"
    "StoneSlabTileItem.h"
    "TileItem.cpp"
    "TileItem.h"
    "TilePlanterItem.cpp"
    "TilePlanterItem.h"
    "TreeTileItem.cpp"
    "TreeTileItem.h"
    "UseAnim.h"
    "WaterLilyTileItem.cpp"
    "WaterLilyTileItem.h"
    "WeaponItem.cpp"
    "WeaponItem.h"
)
source_group("net/minecraft/world/item" FILES ${net__minecraft__world__item})

set(net__minecraft__world__item__alchemy
    "net.minecraft.world.item.alchemy.h"
    "PotionBrewing.cpp"
    "PotionBrewing.h"
)
source_group("net/minecraft/world/item/alchemy" FILES ${net__minecraft__world__item__alchemy})

set(net__minecraft__world__item__crafting
    "ArmorDyeRecipe.cpp"
    "ArmorDyeRecipe.h"
    "ArmorRecipes.cpp"
    "ArmorRecipes.h"
    "ClothDyeRecipes.cpp"
    "ClothDyeRecipes.h"
    "FoodRecipies.cpp"
    "FoodRecipies.h"
    "FurnaceRecipes.cpp"
    "FurnaceRecipes.h"
    "net.minecraft.world.item.crafting.h"
    "OreRecipies.cpp"
    "OreRecipies.h"
    "Recipes.cpp"
    "Recipes.h"
    "Recipy.h"
    "ShapedRecipy.cpp"
    "ShapedRecipy.h"
    "ShapelessRecipy.cpp"
    "ShapelessRecipy.h"
    "StructureRecipies.cpp"
    "StructureRecipies.h"
    "ToolRecipies.cpp"
    "ToolRecipies.h"
    "WeaponRecipies.cpp"
    "WeaponRecipies.h"
)
source_group("net/minecraft/world/item/crafting" FILES ${net__minecraft__world__item__crafting})

set(net__minecraft__world__item__enchantment
    "ArrowDamageEnchantment.cpp"
    "ArrowDamageEnchantment.h"
    "ArrowFireEnchantment.cpp"
    "ArrowFireEnchantment.h"
    "ArrowInfiniteEnchantment.cpp"
    "ArrowInfiniteEnchantment.h"
    "ArrowKnockbackEnchantment.cpp"
    "ArrowKnockbackEnchantment.h"
    "DamageEnchantment.cpp"
    "DamageEnchantment.h"
    "DigDurabilityEnchantment.cpp"
    "DigDurabilityEnchantment.h"
    "DiggingEnchantment.cpp"
    "DiggingEnchantment.h"
    "Enchantment.cpp"
    "Enchantment.h"
    "EnchantmentCategory.cpp"
    "EnchantmentCategory.h"
    "EnchantmentHelper.cpp"
    "EnchantmentHelper.h"
    "EnchantmentInstance.cpp"
    "EnchantmentInstance.h"
    "FireAspectEnchantment.cpp"
    "FireAspectEnchantment.h"
    "KnockbackEnchantment.cpp"
    "KnockbackEnchantment.h"
    "LootBonusEnchantment.cpp"
    "LootBonusEnchantment.h"
    "net.minecraft.world.item.enchantment.h"
    "OxygenEnchantment.cpp"
    "OxygenEnchantment.h"
    "ProtectionEnchantment.cpp"
    "ProtectionEnchantment.h"
    "ThornsEnchantment.cpp"
    "ThornsEnchantment.h"
    "UntouchingEnchantment.cpp"
    "UntouchingEnchantment.h"
    "WaterWorkerEnchantment.cpp"
    "WaterWorkerEnchantment.h"
)
source_group("net/minecraft/world/item/enchantment" FILES ${net__minecraft__world__item__enchantment})

set(net__minecraft__world__item__trading
    "Merchant.h"
    "MerchantRecipe.cpp"
    "MerchantRecipe.h"
    "MerchantRecipeList.cpp"
    "MerchantRecipeList.h"
    "net.minecraft.world.item.trading.h"
)
source_group("net/minecraft/world/item/trading" FILES ${net__minecraft__world__item__trading})

set(net__minecraft__world__level
    "BlockDestructionProgress.cpp"
    "BlockDestructionProgress.h"
    "ChunkPos.cpp"
    "ChunkPos.h"
    "Coord.h"
    "Explosion.cpp"
    "Explosion.h"
    "FoliageColor.cpp"
    "FoliageColor.h"
    "GrassColor.cpp"
    "GrassColor.h"
    "Level.cpp"
    "Level.h"
    "LevelConflictException.cpp"
    "LevelConflictException.h"
    "LevelListener.h"
    "LevelSettings.cpp"
    "LevelSettings.h"
    "LevelSource.h"
    "LevelType.cpp"
    "LevelType.h"
    "LightLayer.h"
    "MobSpawner.cpp"
    "MobSpawner.h"
    "net.minecraft.world.level.h"
    "PortalForcer.cpp"
    "PortalForcer.h"
    "Region.cpp"
    "Region.h"
    "TickNextTickData.cpp"
    "TickNextTickData.h"
    "TileEventData.cpp"
    "TileEventData.h"
    "TilePos.cpp"
    "TilePos.h"
    "WaterColor.cpp"
    "WaterColor.h"
)
source_group("net/minecraft/world/level" FILES ${net__minecraft__world__level})

set(net__minecraft__world__level__biome
    "BeachBiome.cpp"
    "BeachBiome.h"
    "Biome.cpp"
    "Biome.h"
    "BiomeCache.cpp"
    "BiomeCache.h"
    "BiomeDecorator.cpp"
    "BiomeDecorator.h"
    "BiomeSource.cpp"
    "BiomeSource.h"
    "DesertBiome.cpp"
    "DesertBiome.h"
    "ExtremeHillsBiome.cpp"
    "ExtremeHillsBiome.h"
    "FixedBiomeSource.cpp"
    "FixedBiomeSource.h"
    "ForestBiome.cpp"
    "ForestBiome.h"
    "HellBiome.cpp"
    "HellBiome.h"
    "IceBiome.cpp"
    "IceBiome.h"
    "JungleBiome.cpp"
    "JungleBiome.h"
    "MushroomIslandBiome.cpp"
    "MushroomIslandBiome.h"
    "net.minecraft.world.level.biome.h"
    "OceanBiome.h"
    "PlainsBiome.cpp"
    "PlainsBiome.h"
    "RainforestBiome.cpp"
    "RainforestBiome.h"
    "RiverBiome.h"
    "SwampBiome.cpp"
    "SwampBiome.h"
    "TaigaBiome.cpp"
    "TaigaBiome.h"
    "TheEndBiome.cpp"
    "TheEndBiome.h"
    "TheEndBiomeDecorator.cpp"
    "TheEndBiomeDecorator.h"
    "WaterlilyFeature.cpp"
    "WaterlilyFeature.h"
)
source_group("net/minecraft/world/level/biome" FILES ${net__minecraft__world__level__biome})

set(net__minecraft__world__level__chunk
    "BlockReplacements.cpp"
    "BlockReplacements.h"
    "ChunkSource.h"
    "CompressedTileStorage.cpp"
    "CompressedTileStorage.h"
    "DataLayer.cpp"
    "DataLayer.h"
    "EmptyLevelChunk.cpp"
    "EmptyLevelChunk.h"
    "LevelChunk.cpp"
    "LevelChunk.h"
    "net.minecraft.world.level.chunk.h"
    "ReadOnlyChunkCache.cpp"
    "ReadOnlyChunkCache.h"
    "SparseDataStorage.cpp"
    "SparseDataStorage.h"
    "SparseLightStorage.cpp"
    "SparseLightStorage.h"
    "WaterLevelChunk.cpp"
    "WaterLevelChunk.h"
)
source_group("net/minecraft/world/level/chunk" FILES ${net__minecraft__world__level__chunk})

set(net__minecraft__world__level__chunk__storage
    "ChunkStorage.h"
    "ChunkStorageProfileDecorator.cpp"
    "ChunkStorageProfileDecorator.h"
    "McRegionChunkStorage.cpp"
    "McRegionChunkStorage.h"
#    "MemoryChunkStorage.cpp"
    "MemoryChunkStorage.h"
#    "NbtSlotFile.cpp"
    "NbtSlotFile.h"
    "net.minecraft.world.level.chunk.storage.h"
    "OldChunkStorage.cpp"
    "OldChunkStorage.h"
    "RegionFile.cpp"
    "RegionFile.h"
    "RegionFileCache.cpp"
    "RegionFileCache.h"
#    "ZonedChunkStorage.cpp"
    "ZonedChunkStorage.h"
#    "ZoneFile.cpp"
    "ZoneFile.h"
#    "ZoneIo.cpp"
    "ZoneIo.h"
)
source_group("net/minecraft/world/level/chunk/storage" FILES ${net__minecraft__world__level__chunk__storage})

set(net__minecraft__world__level__dimension
    "Dimension.cpp"
    "Dimension.h"
    "HellDimension.cpp"
    "HellDimension.h"
    "net.minecraft.world.level.dimension.h"
    "NormalDimension.h"
    "TheEndDimension.cpp"
    "TheEndDimension.h"
)
source_group("net/minecraft/world/level/dimension" FILES ${net__minecraft__world__level__dimension})

set(net__minecraft__world__level__levelgen
    "CanyonFeature.cpp"
    "CanyonFeature.h"
    "CustomLevelSource.cpp"
    "CustomLevelSource.h"
    "DungeonFeature.cpp"
    "DungeonFeature.h"
    "FlatLevelSource.cpp"
    "FlatLevelSource.h"
    "HellFlatLevelSource.cpp"
    "HellFlatLevelSource.h"
    "HellRandomLevelSource.cpp"
    "HellRandomLevelSource.h"
    "LargeCaveFeature.cpp"
    "LargeCaveFeature.h"
    "LargeFeature.cpp"
    "LargeFeature.h"
    "LargeHellCaveFeature.cpp"
    "LargeHellCaveFeature.h"
    "net.minecraft.world.level.levelgen.h"
    "RandomLevelSource.cpp"
    "RandomLevelSource.h"
    "TheEndLevelRandomLevelSource.cpp"
    "TheEndLevelRandomLevelSource.h"
    "TownFeature.h"
)
source_group("net/minecraft/world/level/levelgen" FILES ${net__minecraft__world__level__levelgen})

set(net__minecraft__world__level__levelgen__feature
    "BasicTree.cpp"
    "BasicTree.h"
    "BirchFeature.cpp"
    "BirchFeature.h"
    "BonusChestFeature.cpp"
    "BonusChestFeature.h"
    "CactusFeature.cpp"
    "CactusFeature.h"
    "CaveFeature.cpp"
    "CaveFeature.h"
    "ClayFeature.cpp"
    "ClayFeature.h"
    "DeadBushFeature.cpp"
    "DeadBushFeature.h"
    "DesertWellFeature.cpp"
    "DesertWellFeature.h"
    "EndPodiumFeature.cpp"
    "EndPodiumFeature.h"
    "Feature.cpp"
    "Feature.h"
    "FlowerFeature.cpp"
    "FlowerFeature.h"
    "GroundBushFeature.cpp"
    "GroundBushFeature.h"
    "HellFireFeature.cpp"
    "HellFireFeature.h"
    "HellPortalFeature.cpp"
    "HellPortalFeature.h"
    "HellSpringFeature.cpp"
    "HellSpringFeature.h"
    "HouseFeature.cpp"
    "HouseFeature.h"
    "HugeMushroomFeature.cpp"
    "HugeMushroomFeature.h"
    "LakeFeature.cpp"
    "LakeFeature.h"
    "LightGemFeature.cpp"
    "LightGemFeature.h"
    "MegaTreeFeature.cpp"
    "MegaTreeFeature.h"
    "MonsterRoomFeature.cpp"
    "MonsterRoomFeature.h"
    "net.minecraft.world.level.levelgen.feature.h"
    "OreFeature.cpp"
    "OreFeature.h"
    "PineFeature.cpp"
    "PineFeature.h"
    "PumpkinFeature.cpp"
    "PumpkinFeature.h"
    "ReedsFeature.cpp"
    "ReedsFeature.h"
    "SandFeature.cpp"
    "SandFeature.h"
    "SpikeFeature.cpp"
    "SpikeFeature.h"
    "SpringFeature.cpp"
    "SpringFeature.h"
    "SpruceFeature.cpp"
    "SpruceFeature.h"
    "SwampTreeFeature.cpp"
    "SwampTreeFeature.h"
    "TallGrassFeature.cpp"
    "TallGrassFeature.h"
    "TreeFeature.cpp"
    "TreeFeature.h"
    "VinesFeature.cpp"
    "VinesFeature.h"
)
source_group("net/minecraft/world/level/levelgen/feature" FILES ${net__minecraft__world__level__levelgen__feature})

set(net__minecraft__world__level__levelgen__structure
    "BlockGenMethods.cpp"
    "BlockGenMethods.h"
    "BoundingBox.cpp"
    "BoundingBox.h"
    "MineShaftFeature.cpp"
    "MineShaftFeature.h"
    "MineShaftPieces.cpp"
    "MineShaftPieces.h"
    "MineShaftStart.cpp"
    "MineShaftStart.h"
    "net.minecraft.world.level.levelgen.structure.h"
    "NetherBridgeFeature.cpp"
    "NetherBridgeFeature.h"
    "NetherBridgePieces.cpp"
    "NetherBridgePieces.h"
    "RandomScatteredLargeFeature.cpp"
    "RandomScatteredLargeFeature.h"
    "ScatteredFeaturePieces.cpp"
    "ScatteredFeaturePieces.h"
#    "SkyIslandDimension.cpp"
    "StrongholdFeature.cpp"
    "StrongholdFeature.h"
    "StrongholdPieces.cpp"
    "StrongholdPieces.h"
    "StructureFeature.cpp"
    "StructureFeature.h"
    "StructurePiece.cpp"
    "StructurePiece.h"
    "StructureStart.cpp"
    "StructureStart.h"
    "VillageFeature.cpp"
    "VillageFeature.h"
    "VillagePieces.cpp"
    "VillagePieces.h"
)
source_group("net/minecraft/world/level/levelgen/structure" FILES ${net__minecraft__world__level__levelgen__structure})

set(net__minecraft__world__level__levelgen__synth
    "Distort.cpp"
    "Distort.h"
    "Emboss.cpp"
    "Emboss.h"
    "FastNoise.cpp"
    "FastNoise.h"
    "ImprovedNoise.cpp"
    "ImprovedNoise.h"
    "net.minecraft.world.level.levelgen.synth.h"
    "PerlinNoise.cpp"
    "PerlinNoise.h"
    "PerlinSimplexNoise.cpp"
    "PerlinSimplexNoise.h"
    "Rotate.cpp"
    "Rotate.h"
    "Scale.cpp"
    "Scale.h"
    "SimplexNoise.cpp"
    "SimplexNoise.h"
    "Synth.cpp"
    "Synth.h"
)
source_group("net/minecraft/world/level/levelgen/synth" FILES ${net__minecraft__world__level__levelgen__synth})

set(net__minecraft__world__level__material
    "DecorationMaterial.h"
    "GasMaterial.h"
    "LiquidMaterial.h"
    "Material.cpp"
    "Material.h"
    "MaterialColor.cpp"
    "MaterialColor.h"
    "net.minecraft.world.level.material.h"
    "PortalMaterial.h"
    "WebMaterial.h"
)
source_group("net/minecraft/world/level/material" FILES ${net__minecraft__world__level__material})

set(net__minecraft__world__level__newbiome__layer
    "AddIslandLayer.cpp"
    "AddIslandLayer.h"
    "AddMushroomIslandLayer.cpp"
    "AddMushroomIslandLayer.h"
    "AddSnowLayer.cpp"
    "AddSnowLayer.h"
    "BiomeInitLayer.cpp"
    "BiomeInitLayer.h"
    "BiomeOverrideLayer.cpp"
    "BiomeOverrideLayer.h"
    "DownfallLayer.cpp"
    "DownfallLayer.h"
    "DownfallMixerLayer.cpp"
    "DownfallMixerLayer.h"
    "FlatLayer.cpp"
    "FlatLayer.h"
    "FuzzyZoomLayer.cpp"
    "FuzzyZoomLayer.h"
    "GrowMushroomIslandLayer.cpp"
    "GrowMushroomIslandLayer.h"
    "IntCache.cpp"
    "IntCache.h"
    "IslandLayer.cpp"
    "IslandLayer.h"
    "Layer.cpp"
    "Layer.h"
    "net.minecraft.world.level.newbiome.layer.h"
    "RegionHillsLayer.cpp"
    "RegionHillsLayer.h"
    "RiverInitLayer.cpp"
    "RiverInitLayer.h"
    "RiverLayer.cpp"
    "RiverLayer.h"
    "RiverMixerLayer.cpp"
    "RiverMixerLayer.h"
    "ShoreLayer.cpp"
    "ShoreLayer.h"
    "SmoothLayer.cpp"
    "SmoothLayer.h"
    "SmoothZoomLayer.cpp"
    "SmoothZoomLayer.h"
    "SwampRiversLayer.cpp"
    "SwampRiversLayer.h"
    "TemperatureLayer.cpp"
    "TemperatureLayer.h"
    "TemperatureMixerLayer.cpp"
    "TemperatureMixerLayer.h"
    "VoronoiZoom.cpp"
    "VoronoiZoom.h"
    "ZoomLayer.cpp"
    "ZoomLayer.h"
)
source_group("net/minecraft/world/level/newbiome/layer" FILES ${net__minecraft__world__level__newbiome__layer})

set(net__minecraft__world__level__pathfinder
    "BinaryHeap.cpp"
    "BinaryHeap.h"
    "net.minecraft.world.level.pathfinder.h"
    "Node.cpp"
    "Node.h"
    "Path.cpp"
    "Path.h"
    "PathFinder.cpp"
    "PathFinder.h"
)
source_group("net/minecraft/world/level/pathfinder" FILES ${net__minecraft__world__level__pathfinder})

set(net__minecraft__world__level__saveddata
    "MapItemSavedData.cpp"
    "MapItemSavedData.h"
    "net.minecraft.world.level.saveddata.h"
    "SavedData.cpp"
    "SavedData.h"
)
source_group("net/minecraft/world/level/saveddata" FILES ${net__minecraft__world__level__saveddata})

set(net__minecraft__world__level__storage
    "DerivedLevelData.cpp"
    "DerivedLevelData.h"
    "DirectoryLevelStorage.cpp"
    "DirectoryLevelStorage.h"
    "DirectoryLevelStorageSource.cpp"
    "DirectoryLevelStorageSource.h"
    "LevelData.cpp"
    "LevelData.h"
    "LevelStorage.cpp"
    "LevelStorage.h"
    "LevelStorageProfilerDecorator.cpp"
    "LevelStorageProfilerDecorator.h"
    "LevelStorageSource.h"
    "LevelSummary.cpp"
    "LevelSummary.h"
    "McRegionLevelStorage.cpp"
    "McRegionLevelStorage.h"
    "McRegionLevelStorageSource.cpp"
    "McRegionLevelStorageSource.h"
#    "MemoryLevelStorage.cpp"
    "MemoryLevelStorage.h"
#    "MemoryLevelStorageSource.cpp"
    "MemoryLevelStorageSource.h"
    "MockedLevelStorage.cpp"
    "MockedLevelStorage.h"
    "net.minecraft.world.level.storage.h"
    "PlayerIO.h"
    "SavedDataStorage.cpp"
    "SavedDataStorage.h"
)
source_group("net/minecraft/world/level/storage" FILES ${net__minecraft__world__level__storage})

set(net__minecraft__world__level__tile
    "AirTile.cpp"
    "AirTile.h"
    "AnvilTile.cpp"
    "AnvilTile.h"
    "BedTile.cpp"
    "BedTile.h"
    "BookshelfTile.cpp"
    "BookshelfTile.h"
    "BrewingStandTile.cpp"
    "BrewingStandTile.h"
    "Bush.cpp"
    "Bush.h"
    "ButtonTile.cpp"
    "ButtonTile.h"
    "CactusTile.cpp"
    "CactusTile.h"
    "CakeTile.cpp"
    "CakeTile.h"
    "CarrotTile.cpp"
    "CarrotTile.h"
    "CauldronTile.cpp"
    "CauldronTile.h"
    "ChestTile.cpp"
    "ChestTile.h"
    "ClayTile.cpp"
    "ClayTile.h"
    "ClothTile.cpp"
    "ClothTile.h"
    "CocoaTile.cpp"
    "CocoaTile.h"
    "CoralTile.cpp"
    "CoralTile.h"
    "CropTile.cpp"
    "CropTile.h"
    "DeadBushTile.cpp"
    "DeadBushTile.h"
    "DetectorRailTile.cpp"
    "DetectorRailTile.h"
    "DiodeTile.cpp"
    "DiodeTile.h"
    "DirectionalTile.cpp"
    "DirectionalTile.h"
    "DirtTile.cpp"
    "DirtTile.h"
    "DispenserTile.cpp"
    "DispenserTile.h"
    "DoorTile.cpp"
    "DoorTile.h"
    "EggTile.cpp"
    "EggTile.h"
    "EnchantmentTableTile.cpp"
    "EnchantmentTableTile.h"
    "EnderChestTile.cpp"
    "EnderChestTile.h"
    "EntityTile.cpp"
    "EntityTile.h"
    "FarmTile.cpp"
    "FarmTile.h"
    "FenceGateTile.cpp"
    "FenceGateTile.h"
    "FenceTile.cpp"
    "FenceTile.h"
    "FireTile.cpp"
    "FireTile.h"
    "FlowerPotTile.cpp"
    "FlowerPotTile.h"
    "FurnaceTile.cpp"
    "FurnaceTile.h"
    "GlassTile.cpp"
    "GlassTile.h"
    "GrassTile.cpp"
    "GrassTile.h"
    "GravelTile.cpp"
    "GravelTile.h"
    "HalfSlabTile.cpp"
    "HalfSlabTile.h"
    "HalfTransparentTile.cpp"
    "HalfTransparentTile.h"
    "HeavyTile.cpp"
    "HeavyTile.h"
    "HellSandTile.cpp"
    "HellSandTile.h"
    "HellStoneTile.cpp"
    "HellStoneTile.h"
    "HugeMushroomTile.cpp"
    "HugeMushroomTile.h"
    "IceTile.cpp"
    "IceTile.h"
    "LadderTile.cpp"
    "LadderTile.h"
    "LeafTile.cpp"
    "LeafTile.h"
    "LevelEvent.h"
    "LeverTile.cpp"
    "LeverTile.h"
    "LightGemTile.cpp"
    "LightGemTile.h"
    "LiquidTile.cpp"
    "LiquidTile.h"
    "LiquidTileDynamic.cpp"
    "LiquidTileDynamic.h"
    "LiquidTileStatic.cpp"
    "LiquidTileStatic.h"
    "LockedChestTile.cpp"
    "LockedChestTile.h"
    "MelonTile.cpp"
    "MelonTile.h"
    "MetalTile.cpp"
    "MetalTile.h"
    "MobSpawnerTile.cpp"
    "MobSpawnerTile.h"
    "Mushroom.cpp"
    "Mushroom.h"
    "MusicTile.cpp"
    "MusicTile.h"
    "MycelTile.cpp"
    "MycelTile.h"
    "net.minecraft.world.level.tile.h"
    "NetherStalkTile.cpp"
    "NetherStalkTile.h"
    "NotGateTile.cpp"
    "NotGateTile.h"
    "ObsidianTile.cpp"
    "ObsidianTile.h"
    "OreTile.cpp"
    "OreTile.h"
    "PortalTile.cpp"
    "PortalTile.h"
    "PotatoTile.cpp"
    "PotatoTile.h"
    "PressurePlateTile.cpp"
    "PressurePlateTile.h"
    "PumpkinTile.cpp"
    "PumpkinTile.h"
    "QuartzBlockTile.cpp"
    "QuartzBlockTile.h"
    "RailTile.cpp"
    "RailTile.h"
    "RecordPlayerTile.cpp"
    "RecordPlayerTile.h"
    "RedlightTile.cpp"
    "RedlightTile.h"
    "RedStoneDustTile.cpp"
    "RedStoneDustTile.h"
    "RedStoneOreTile.cpp"
    "RedStoneOreTile.h"
    "ReedTile.cpp"
    "ReedTile.h"
    "SandStoneTile.cpp"
    "SandStoneTile.h"
    "Sapling.cpp"
    "Sapling.h"
    "SignTile.cpp"
    "SignTile.h"
    "SkullTile.cpp"
    "SkullTile.h"
    "SmoothStoneBrickTile.cpp"
    "SmoothStoneBrickTile.h"
    "SnowTile.cpp"
    "SnowTile.h"
    "Sponge.cpp"
    "Sponge.h"
    "SpringTile.cpp"
    "SpringTile.h"
    "StairTile.cpp"
    "StairTile.h"
    "StemTile.cpp"
    "StemTile.h"
    "StoneMonsterTile.cpp"
    "StoneMonsterTile.h"
    "StoneSlabTile.cpp"
    "StoneSlabTile.h"
    "StoneTile.cpp"
    "StoneTile.h"
    "TallGrass.cpp"
    "TallGrass.h"
    "TheEndPortal.cpp"
    "TheEndPortal.h"
    "TheEndPortalFrameTile.cpp"
    "TheEndPortalFrameTile.h"
    "ThinFenceTile.cpp"
    "ThinFenceTile.h"
    "Tile.cpp"
    "Tile.h"
    "TntTile.cpp"
    "TntTile.h"
    "TopSnowTile.cpp"
    "TopSnowTile.h"
    "TorchTile.cpp"
    "TorchTile.h"
    "TransparentTile.cpp"
    "TransparentTile.h"
    "TrapDoorTile.cpp"
    "TrapDoorTile.h"
    "TreeTile.cpp"
    "TreeTile.h"
    "TripWireSourceTile.cpp"
    "TripWireSourceTile.h"
    "TripWireTile.cpp"
    "TripWireTile.h"
    "VineTile.cpp"
    "VineTile.h"
    "WallTile.cpp"
    "WallTile.h"
    "WaterLilyTile.cpp"
    "WaterLilyTile.h"
    "WebTile.cpp"
    "WebTile.h"
    "WoodSlabTile.cpp"
    "WoodSlabTile.h"
    "WoodTile.cpp"
    "WoodTile.h"
    "WoolCarpetTile.cpp"
    "WoolCarpetTile.h"
    "WorkbenchTile.cpp"
    "WorkbenchTile.h"
)
source_group("net/minecraft/world/level/tile" FILES ${net__minecraft__world__level__tile})

set(net__minecraft__world__level__tile__entity
    "BrewingStandTileEntity.cpp"
    "BrewingStandTileEntity.h"
    "ChestTileEntity.cpp"
    "ChestTileEntity.h"
    "DispenserTileEntity.cpp"
    "DispenserTileEntity.h"
    "EnchantmentTableEntity.cpp"
    "EnchantmentTableEntity.h"
    "EnderChestTileEntity.cpp"
    "EnderChestTileEntity.h"
    "FurnaceTileEntity.cpp"
    "FurnaceTileEntity.h"
    "MobSpawnerTileEntity.cpp"
    "MobSpawnerTileEntity.h"
    "MusicTileEntity.cpp"
    "MusicTileEntity.h"
    "net.minecraft.world.level.tile.entity.h"
    "SignTileEntity.cpp"
    "SignTileEntity.h"
    "SkullTileEntity.cpp"
    "SkullTileEntity.h"
    "TheEndPortalTileEntity.cpp"
    "TheEndPortalTileEntity.h"
    "TileEntity.cpp"
    "TileEntity.h"
)
source_group("net/minecraft/world/level/tile/entity" FILES ${net__minecraft__world__level__tile__entity})

set(net__minecraft__world__level__tile__piston
    "net.minecraft.world.level.tile.piston.h"
    "PistonBaseTile.cpp"
    "PistonBaseTile.h"
    "PistonExtensionTile.cpp"
    "PistonExtensionTile.h"
    "PistonMovingPiece.cpp"
    "PistonMovingPiece.h"
    "PistonPieceEntity.cpp"
    "PistonPieceEntity.h"
)
source_group("net/minecraft/world/level/tile/piston" FILES ${net__minecraft__world__level__tile__piston})

set(net__minecraft__world__phys
    "AABB.cpp"
    "AABB.h"
    "HitResult.cpp"
    "HitResult.h"
    "net.minecraft.world.phys.h"
    "Vec3.cpp"
    "Vec3.h"
)
source_group("net/minecraft/world/phys" FILES ${net__minecraft__world__phys})

set(x64headers
    "x64headers/extraX64.h"
    "x64headers/qnet.h"
    "x64headers/xmcore.h"
    "x64headers/xrnm.h"
    "x64headers/xsocialpost.h"
    "x64headers/xuiapp.h"
    "x64headers/xuiresource.h"
)
source_group("x64headers" FILES ${x64headers})

set(ALL_FILES
    ${ConsoleHelpers}
    ${ConsoleHelpers__ConsoleSaveFileIO}
    ${ConsoleJavaLibs}
    ${ConsoleJavaLibs__InputOutputStream}
    ${Header_Files}
    ${Source_Files}
    ${argo}
    ${com__mojang__nbt}
    ${net__minecraft}
    ${net__minecraft__commands}
    ${net__minecraft__commands__common}
    ${net__minecraft__locale}
    ${net__minecraft__network}
    ${net__minecraft__network__packet}
    ${net__minecraft__stats}
    ${net__minecraft__util}
    ${net__minecraft__world}
    ${net__minecraft__world__damageSource}
    ${net__minecraft__world__effect}
    ${net__minecraft__world__entity}
    ${net__minecraft__world__entity__ai__control}
    ${net__minecraft__world__entity__ai__goal}
    ${net__minecraft__world__entity__ai__goal__target}
    ${net__minecraft__world__entity__ai__navigation}
    ${net__minecraft__world__entity__ai__sensing}
    ${net__minecraft__world__entity__ai__util}
    ${net__minecraft__world__entity__ai__village}
    ${net__minecraft__world__entity__animal}
    ${net__minecraft__world__entity__boss}
    ${net__minecraft__world__entity__boss__enderdragon}
    ${net__minecraft__world__entity__global}
    ${net__minecraft__world__entity__item}
    ${net__minecraft__world__entity__monster}
    ${net__minecraft__world__entity__npc}
    ${net__minecraft__world__entity__player}
    ${net__minecraft__world__entity__projectile}
    ${net__minecraft__world__food}
    ${net__minecraft__world__inventory}
    ${net__minecraft__world__item}
    ${net__minecraft__world__item__alchemy}
    ${net__minecraft__world__item__crafting}
    ${net__minecraft__world__item__enchantment}
    ${net__minecraft__world__item__trading}
    ${net__minecraft__world__level}
    ${net__minecraft__world__level__biome}
    ${net__minecraft__world__level__chunk}
    ${net__minecraft__world__level__chunk__storage}
    ${net__minecraft__world__level__dimension}
    ${net__minecraft__world__level__levelgen}
    ${net__minecraft__world__level__levelgen__feature}
    ${net__minecraft__world__level__levelgen__structure}
    ${net__minecraft__world__level__levelgen__synth}
    ${net__minecraft__world__level__material}
    ${net__minecraft__world__level__newbiome__layer}
    ${net__minecraft__world__level__pathfinder}
    ${net__minecraft__world__level__saveddata}
    ${net__minecraft__world__level__storage}
    ${net__minecraft__world__level__tile}
    ${net__minecraft__world__level__tile__entity}
    ${net__minecraft__world__level__tile__piston}
    ${net__minecraft__world__phys}
    ${x64headers}
)

################################################################################
# Target
################################################################################
add_library(${PROJECT_NAME} STATIC ${ALL_FILES})

if (WIN32)
target_precompile_headers(${PROJECT_NAME} PRIVATE
    "$<$<COMPILE_LANGUAGE:CXX>:${CMAKE_CURRENT_SOURCE_DIR}/stdafx.h>"
)
endif()

use_props(${PROJECT_NAME} "${CMAKE_CONFIGURATION_TYPES}" "${DEFAULT_CXX_PROPS}")
if (MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES
    VS_GLOBAL_KEYWORD "Xbox360Proj"
)
endif()
################################################################################
# Target name
################################################################################
set_target_properties(${PROJECT_NAME} PROPERTIES
    TARGET_NAME_CONTENTPACKAGE_NO_TU   "${OUTPUT_DIRECTORY}${PROJECT_NAME}"
    TARGET_NAME_CONTENTPACKAGE_SYMBOLS "${OUTPUT_DIRECTORY}${PROJECT_NAME}"
    TARGET_NAME_CONTENTPACKAGE         "${OUTPUT_DIRECTORY}${PROJECT_NAME}"
    TARGET_NAME_DEBUG                  "${OUTPUT_DIRECTORY}${PROJECT_NAME}"
    TARGET_NAME_RELEASE                "${OUTPUT_DIRECTORY}${PROJECT_NAME}"
    TARGET_NAME_RELEASEFORART          "${OUTPUT_DIRECTORY}${PROJECT_NAME}")

################################################################################
# Output directory
################################################################################

set_target_properties(${PROJECT_NAME} PROPERTIES
    OUTPUT_DIRECTORY_CONTENTPACKAGE_NO_TU   "${CMAKE_CURRENT_SOURCE_DIR}/"
    OUTPUT_DIRECTORY_CONTENTPACKAGE_SYMBOLS "${CMAKE_CURRENT_SOURCE_DIR}/"
    OUTPUT_DIRECTORY_CONTENTPACKAGE         "${CMAKE_CURRENT_SOURCE_DIR}/"
    OUTPUT_DIRECTORY_DEBUG                  "${CMAKE_CURRENT_SOURCE_DIR}/"
    OUTPUT_DIRECTORY_RELEASE                "${CMAKE_CURRENT_SOURCE_DIR}/"
    OUTPUT_DIRECTORY_RELEASEFORART          "${CMAKE_CURRENT_SOURCE_DIR}/"
)

################################################################################
# GCC runtime library
################################################################################
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -DDEBUG")
elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
else()
# just assume it's Debug
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -DDEBUG")
endif()

################################################################################
# Compile definitions
################################################################################
target_compile_definitions(${PROJECT_NAME} PRIVATE
    "$<$<CONFIG:CONTENTPACKAGE_SYMBOLS>:"
        "SPLIT_SAVES;"
        "_LARGE_WORLDS;"
        "_EXTENDED_ACHIEVEMENTS;"
        "_CONTENT_PACKAGE;"
        "_FINAL_BUILD"
        "LINUX;"
        "_LINUX;"
    ">"
    "$<$<CONFIG:ContentPackage>:"
        "SPLIT_SAVES;"
        "_LARGE_WORLDS;"
        "_EXTENDED_ACHIEVEMENTS;"
        "_CONTENT_PACKAGE;"
        "LINUX;"
        "_LINUX;"
        "_FINAL_BUILD"
    ">"
    "$<$<CONFIG:Debug>:"
        "SPLIT_SAVES;"
        "_LARGE_WORLDS;"
        "_EXTENDED_ACHIEVEMENTS;"
        "_DEBUG_MENUS_ENABLED;"
        "_DEBUG"
        "LINUX;"
        "_LINUX;"
        ">"
        "$<$<CONFIG:Release>:"
        "SPLIT_SAVES;"
        "_LARGE_WORLDS;"
        "_EXTENDED_ACHIEVEMENTS;"
        "LINUX;"
        "_LINUX;"
        "_DEBUG_MENUS_ENABLED"
    ">"
    "$<$<CONFIG:ReleaseForArt>:"
        "SPLIT_SAVES;"
        "_LARGE_WORLDS;"
        "LINUX;"
        "_LINUX;"
        "_EXTENDED_ACHIEVEMENTS;"
        "_DEBUG_MENUS_ENABLED"
    ">"
)

target_compile_options(${PROJECT_NAME} PRIVATE
    -fpermissive
    -Wtemplate-body
    -Wshift-count-overflow
    -pthread
    -std=c++11
)

target_include_directories(${PROJECT_NAME} PRIVATE x64headers)
