Files

698 lines
35 KiB
CMake
Raw Permalink Normal View History

2024-04-30 22:07:50 -06:00
project(botcraft)
set(botcraft_PUBLIC_HDR
include/botcraft/AI/BaseNode.hpp
include/botcraft/AI/BehaviourClient.hpp
include/botcraft/AI/BehaviourTree.hpp
include/botcraft/AI/Blackboard.hpp
include/botcraft/AI/SimpleBehaviourClient.hpp
include/botcraft/AI/Status.hpp
include/botcraft/AI/TemplatedBehaviourClient.hpp
include/botcraft/AI/Tasks/AllTasks.hpp
include/botcraft/AI/Tasks/BaseTasks.hpp
include/botcraft/AI/Tasks/DigTask.hpp
include/botcraft/AI/Tasks/EntitiesTasks.hpp
include/botcraft/AI/Tasks/InventoryTasks.hpp
include/botcraft/AI/Tasks/PathfindingTask.hpp
include/botcraft/Game/AssetsManager.hpp
include/botcraft/Game/ManagersClient.hpp
include/botcraft/Game/ConnectionClient.hpp
include/botcraft/Game/Enums.hpp
include/botcraft/Game/Model.hpp
include/botcraft/Game/Vector3.hpp
include/botcraft/Game/World/Biome.hpp
include/botcraft/Game/World/Blockstate.hpp
include/botcraft/Game/World/Chunk.hpp
include/botcraft/Game/World/World.hpp
include/botcraft/Game/Entities/EntityAttribute.hpp
include/botcraft/Game/Entities/EntityManager.hpp
include/botcraft/Game/Entities/GlobalPos.hpp
include/botcraft/Game/Entities/LocalPlayer.hpp
include/botcraft/Game/Entities/VillagerData.hpp
include/botcraft/Game/Entities/entities/UnknownEntity.hpp
include/botcraft/Game/Entities/entities/animal/allay/AllayEntity.hpp
include/botcraft/Game/Entities/entities/AreaEffectCloudEntity.hpp
include/botcraft/Game/Entities/entities/decoration/ArmorStandEntity.hpp
include/botcraft/Game/Entities/entities/projectile/ArrowEntity.hpp
include/botcraft/Game/Entities/entities/animal/axolotl/AxolotlEntity.hpp
include/botcraft/Game/Entities/entities/ambient/BatEntity.hpp
include/botcraft/Game/Entities/entities/animal/BeeEntity.hpp
include/botcraft/Game/Entities/entities/monster/BlazeEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/BoatEntity.hpp
include/botcraft/Game/Entities/entities/monster/breeze/BreezeEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/ChestBoatEntity.hpp
include/botcraft/Game/Entities/entities/animal/CatEntity.hpp
include/botcraft/Game/Entities/entities/animal/camel/CamelEntity.hpp
include/botcraft/Game/Entities/entities/monster/CaveSpiderEntity.hpp
include/botcraft/Game/Entities/entities/animal/ChickenEntity.hpp
include/botcraft/Game/Entities/entities/animal/CodEntity.hpp
include/botcraft/Game/Entities/entities/animal/CowEntity.hpp
include/botcraft/Game/Entities/entities/monster/CreeperEntity.hpp
include/botcraft/Game/Entities/entities/animal/DolphinEntity.hpp
include/botcraft/Game/Entities/entities/animal/horse/DonkeyEntity.hpp
include/botcraft/Game/Entities/entities/projectile/DragonFireballEntity.hpp
include/botcraft/Game/Entities/entities/DisplayBlockDisplayEntity.hpp
include/botcraft/Game/Entities/entities/DisplayEntity.hpp
include/botcraft/Game/Entities/entities/DisplayItemDisplayEntity.hpp
include/botcraft/Game/Entities/entities/DisplayTextDisplayEntity.hpp
include/botcraft/Game/Entities/entities/monster/DrownedEntity.hpp
include/botcraft/Game/Entities/entities/monster/ElderGuardianEntity.hpp
include/botcraft/Game/Entities/entities/boss/enderdragon/EndCrystalEntity.hpp
include/botcraft/Game/Entities/entities/boss/enderdragon/EnderDragonEntity.hpp
include/botcraft/Game/Entities/entities/monster/EnderManEntity.hpp
include/botcraft/Game/Entities/entities/monster/EndermiteEntity.hpp
include/botcraft/Game/Entities/entities/monster/EvokerEntity.hpp
include/botcraft/Game/Entities/entities/projectile/EvokerFangsEntity.hpp
include/botcraft/Game/Entities/entities/ExperienceOrbEntity.hpp
include/botcraft/Game/Entities/entities/projectile/EyeOfEnderEntity.hpp
include/botcraft/Game/Entities/entities/item/FallingBlockEntity.hpp
include/botcraft/Game/Entities/entities/projectile/FireworkRocketEntity.hpp
include/botcraft/Game/Entities/entities/animal/FoxEntity.hpp
include/botcraft/Game/Entities/entities/animal/frog/FrogEntity.hpp
include/botcraft/Game/Entities/entities/monster/GhastEntity.hpp
include/botcraft/Game/Entities/entities/monster/GiantEntity.hpp
include/botcraft/Game/Entities/entities/decoration/GlowItemFrameEntity.hpp
include/botcraft/Game/Entities/entities/GlowSquidEntity.hpp
include/botcraft/Game/Entities/entities/animal/goat/GoatEntity.hpp
include/botcraft/Game/Entities/entities/monster/GuardianEntity.hpp
include/botcraft/Game/Entities/entities/monster/hoglin/HoglinEntity.hpp
include/botcraft/Game/Entities/entities/animal/horse/HorseEntity.hpp
include/botcraft/Game/Entities/entities/monster/HuskEntity.hpp
include/botcraft/Game/Entities/entities/monster/IllusionerEntity.hpp
include/botcraft/Game/Entities/entities/InteractionEntity.hpp
include/botcraft/Game/Entities/entities/animal/IronGolemEntity.hpp
include/botcraft/Game/Entities/entities/item/ItemEntity.hpp
include/botcraft/Game/Entities/entities/decoration/ItemFrameEntity.hpp
include/botcraft/Game/Entities/entities/projectile/LargeFireballEntity.hpp
include/botcraft/Game/Entities/entities/decoration/LeashFenceKnotEntity.hpp
include/botcraft/Game/Entities/entities/LightningBoltEntity.hpp
include/botcraft/Game/Entities/entities/animal/horse/LlamaEntity.hpp
include/botcraft/Game/Entities/entities/projectile/LlamaSpitEntity.hpp
include/botcraft/Game/Entities/entities/monster/MagmaCubeEntity.hpp
include/botcraft/Game/Entities/entities/MarkerEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/MinecartEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/MinecartChestEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/MinecartCommandBlockEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/MinecartFurnaceEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/MinecartHopperEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/MinecartSpawnerEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/MinecartTNTEntity.hpp
include/botcraft/Game/Entities/entities/animal/horse/MuleEntity.hpp
include/botcraft/Game/Entities/entities/animal/MushroomCowEntity.hpp
include/botcraft/Game/Entities/entities/animal/OcelotEntity.hpp
include/botcraft/Game/Entities/entities/decoration/PaintingEntity.hpp
include/botcraft/Game/Entities/entities/animal/PandaEntity.hpp
include/botcraft/Game/Entities/entities/animal/ParrotEntity.hpp
include/botcraft/Game/Entities/entities/monster/PhantomEntity.hpp
include/botcraft/Game/Entities/entities/monster/PigZombieEntity.hpp
include/botcraft/Game/Entities/entities/animal/PigEntity.hpp
include/botcraft/Game/Entities/entities/monster/piglin/PiglinEntity.hpp
include/botcraft/Game/Entities/entities/monster/piglin/PiglinBruteEntity.hpp
include/botcraft/Game/Entities/entities/monster/PillagerEntity.hpp
include/botcraft/Game/Entities/entities/animal/PolarBearEntity.hpp
include/botcraft/Game/Entities/entities/item/PrimedTntEntity.hpp
include/botcraft/Game/Entities/entities/animal/PufferfishEntity.hpp
include/botcraft/Game/Entities/entities/animal/RabbitEntity.hpp
include/botcraft/Game/Entities/entities/monster/RavagerEntity.hpp
include/botcraft/Game/Entities/entities/animal/SalmonEntity.hpp
include/botcraft/Game/Entities/entities/animal/SheepEntity.hpp
include/botcraft/Game/Entities/entities/monster/ShulkerEntity.hpp
include/botcraft/Game/Entities/entities/projectile/ShulkerBulletEntity.hpp
include/botcraft/Game/Entities/entities/monster/SilverfishEntity.hpp
include/botcraft/Game/Entities/entities/monster/SkeletonEntity.hpp
include/botcraft/Game/Entities/entities/animal/horse/SkeletonHorseEntity.hpp
include/botcraft/Game/Entities/entities/monster/SlimeEntity.hpp
include/botcraft/Game/Entities/entities/projectile/SmallFireballEntity.hpp
include/botcraft/Game/Entities/entities/animal/sniffer/SnifferEntity.hpp
include/botcraft/Game/Entities/entities/animal/SnowGolemEntity.hpp
include/botcraft/Game/Entities/entities/projectile/SnowballEntity.hpp
include/botcraft/Game/Entities/entities/projectile/SpectralArrowEntity.hpp
include/botcraft/Game/Entities/entities/monster/SpiderEntity.hpp
include/botcraft/Game/Entities/entities/animal/SquidEntity.hpp
include/botcraft/Game/Entities/entities/monster/StrayEntity.hpp
include/botcraft/Game/Entities/entities/monster/StriderEntity.hpp
include/botcraft/Game/Entities/entities/animal/frog/TadpoleEntity.hpp
include/botcraft/Game/Entities/entities/projectile/ThrownEggEntity.hpp
include/botcraft/Game/Entities/entities/projectile/ThrownEnderpearlEntity.hpp
include/botcraft/Game/Entities/entities/projectile/ThrownExperienceBottleEntity.hpp
include/botcraft/Game/Entities/entities/projectile/ThrownPotionEntity.hpp
include/botcraft/Game/Entities/entities/projectile/ThrownTridentEntity.hpp
include/botcraft/Game/Entities/entities/animal/horse/TraderLlamaEntity.hpp
include/botcraft/Game/Entities/entities/animal/TropicalFishEntity.hpp
include/botcraft/Game/Entities/entities/animal/TurtleEntity.hpp
include/botcraft/Game/Entities/entities/monster/VexEntity.hpp
include/botcraft/Game/Entities/entities/npc/VillagerEntity.hpp
include/botcraft/Game/Entities/entities/monster/VindicatorEntity.hpp
include/botcraft/Game/Entities/entities/npc/WanderingTraderEntity.hpp
include/botcraft/Game/Entities/entities/monster/warden/WardenEntity.hpp
include/botcraft/Game/Entities/entities/projectile/WindChargeEntity.hpp
include/botcraft/Game/Entities/entities/monster/WitchEntity.hpp
include/botcraft/Game/Entities/entities/boss/wither/WitherBossEntity.hpp
include/botcraft/Game/Entities/entities/monster/WitherSkeletonEntity.hpp
include/botcraft/Game/Entities/entities/projectile/WitherSkullEntity.hpp
include/botcraft/Game/Entities/entities/animal/WolfEntity.hpp
include/botcraft/Game/Entities/entities/monster/ZoglinEntity.hpp
include/botcraft/Game/Entities/entities/monster/ZombieEntity.hpp
include/botcraft/Game/Entities/entities/animal/horse/ZombieHorseEntity.hpp
include/botcraft/Game/Entities/entities/monster/ZombieVillagerEntity.hpp
include/botcraft/Game/Entities/entities/monster/ZombifiedPiglinEntity.hpp
include/botcraft/Game/Entities/entities/player/PlayerEntity.hpp
include/botcraft/Game/Entities/entities/projectile/FishingHookEntity.hpp
include/botcraft/Game/Entities/entities/Entity.hpp
include/botcraft/Game/Entities/entities/LivingEntity.hpp
include/botcraft/Game/Entities/entities/projectile/AbstractArrowEntity.hpp
include/botcraft/Game/Entities/entities/animal/AnimalEntity.hpp
include/botcraft/Game/Entities/entities/ambient/AmbientCreatureEntity.hpp
include/botcraft/Game/Entities/entities/monster/MonsterEntity.hpp
include/botcraft/Game/Entities/entities/TamableAnimalEntity.hpp
include/botcraft/Game/Entities/entities/animal/AbstractSchoolingFishEntity.hpp
include/botcraft/Game/Entities/entities/animal/WaterAnimalEntity.hpp
include/botcraft/Game/Entities/entities/animal/horse/AbstractChestedHorseEntity.hpp
include/botcraft/Game/Entities/entities/projectile/AbstractHurtingProjectileEntity.hpp
include/botcraft/Game/Entities/entities/MobEntity.hpp
include/botcraft/Game/Entities/entities/monster/SpellcasterIllagerEntity.hpp
include/botcraft/Game/Entities/entities/projectile/ProjectileEntity.hpp
include/botcraft/Game/Entities/entities/FlyingMobEntity.hpp
include/botcraft/Game/Entities/entities/animal/horse/AbstractHorseEntity.hpp
include/botcraft/Game/Entities/entities/animal/AbstractGolemEntity.hpp
include/botcraft/Game/Entities/entities/decoration/HangingEntity.hpp
include/botcraft/Game/Entities/entities/projectile/FireballEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/VehicleEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/AbstractMinecartEntity.hpp
include/botcraft/Game/Entities/entities/vehicle/AbstractMinecartContainerEntity.hpp
include/botcraft/Game/Entities/entities/animal/ShoulderRidingEntity.hpp
include/botcraft/Game/Entities/entities/monster/piglin/AbstractPiglinEntity.hpp
include/botcraft/Game/Entities/entities/monster/AbstractIllagerEntity.hpp
include/botcraft/Game/Entities/entities/animal/AbstractFishEntity.hpp
include/botcraft/Game/Entities/entities/raid/RaiderEntity.hpp
include/botcraft/Game/Entities/entities/monster/AbstractSkeletonEntity.hpp
include/botcraft/Game/Entities/entities/projectile/ThrowableItemProjectileEntity.hpp
include/botcraft/Game/Entities/entities/npc/AbstractVillagerEntity.hpp
include/botcraft/Game/Entities/entities/AgeableMobEntity.hpp
include/botcraft/Game/Entities/entities/PathfinderMobEntity.hpp
include/botcraft/Game/Entities/entities/monster/PatrollingMonsterEntity.hpp
include/botcraft/Game/Entities/entities/projectile/ThrowableProjectileEntity.hpp
include/botcraft/Game/Inventory/Window.hpp
include/botcraft/Game/Inventory/InventoryManager.hpp
include/botcraft/Game/Inventory/Item.hpp
include/botcraft/Game/Physics/AABB.hpp
include/botcraft/Game/Physics/PhysicsManager.hpp
include/botcraft/Network/NetworkManager.hpp
include/botcraft/Network/LastSeenMessagesTracker.hpp
include/botcraft/Utilities/DemanglingUtilities.hpp
include/botcraft/Utilities/EnumUtilities.hpp
include/botcraft/Utilities/Logger.hpp
include/botcraft/Utilities/MiscUtilities.hpp
include/botcraft/Utilities/NBTUtilities.hpp
include/botcraft/Utilities/ScopeLockedWrapper.hpp
include/botcraft/Utilities/SleepUtilities.hpp
include/botcraft/Utilities/StdAnyUtilities.hpp
include/botcraft/Utilities/Templates.hpp
)
set(botcraft_PRIVATE_HDR
private_include/botcraft/Network/Authentifier.hpp
private_include/botcraft/Network/AESEncrypter.hpp
private_include/botcraft/Network/Compression.hpp
private_include/botcraft/Network/TCP_Com.hpp
private_include/botcraft/Network/DNS/DNSMessage.hpp
private_include/botcraft/Network/DNS/DNSQuestion.hpp
private_include/botcraft/Network/DNS/DNSResourceRecord.hpp
private_include/botcraft/Network/DNS/DNSSrvData.hpp
private_include/botcraft/Utilities/StringUtilities.hpp
private_include/botcraft/Game/World/Section.hpp
)
set(botcraft_SRC
src/AI/BaseNode.cpp
src/AI/BehaviourClient.cpp
src/AI/Blackboard.cpp
src/AI/SimpleBehaviourClient.cpp
src/AI/Tasks/BaseTasks.cpp
src/AI/Tasks/DigTask.cpp
src/AI/Tasks/EntitiesTasks.cpp
src/AI/Tasks/InventoryTasks.cpp
src/AI/Tasks/PathfindingTask.cpp
src/Game/AssetsManager.cpp
src/Game/ConnectionClient.cpp
src/Game/Enums.cpp
src/Game/ManagersClient.cpp
src/Game/Model.cpp
src/Game/World/Biome.cpp
src/Game/World/Blockstate.cpp
src/Game/World/Chunk.cpp
src/Game/World/Section.cpp
src/Game/World/World.cpp
src/Game/Inventory/Window.cpp
src/Game/Inventory/InventoryManager.cpp
src/Game/Inventory/Item.cpp
src/Game/Entities/EntityAttribute.cpp
src/Game/Entities/EntityManager.cpp
src/Game/Entities/LocalPlayer.cpp
src/Game/Entities/entities/UnknownEntity.cpp
src/Game/Entities/entities/animal/allay/AllayEntity.cpp
src/Game/Entities/entities/AreaEffectCloudEntity.cpp
src/Game/Entities/entities/decoration/ArmorStandEntity.cpp
src/Game/Entities/entities/projectile/ArrowEntity.cpp
src/Game/Entities/entities/animal/axolotl/AxolotlEntity.cpp
src/Game/Entities/entities/ambient/BatEntity.cpp
src/Game/Entities/entities/animal/BeeEntity.cpp
src/Game/Entities/entities/monster/BlazeEntity.cpp
src/Game/Entities/entities/vehicle/BoatEntity.cpp
src/Game/Entities/entities/monster/breeze/BreezeEntity.cpp
src/Game/Entities/entities/vehicle/ChestBoatEntity.cpp
src/Game/Entities/entities/animal/CatEntity.cpp
src/Game/Entities/entities/animal/camel/CamelEntity.cpp
src/Game/Entities/entities/monster/CaveSpiderEntity.cpp
src/Game/Entities/entities/animal/ChickenEntity.cpp
src/Game/Entities/entities/animal/CodEntity.cpp
src/Game/Entities/entities/animal/CowEntity.cpp
src/Game/Entities/entities/monster/CreeperEntity.cpp
src/Game/Entities/entities/animal/DolphinEntity.cpp
src/Game/Entities/entities/animal/horse/DonkeyEntity.cpp
src/Game/Entities/entities/projectile/DragonFireballEntity.cpp
src/Game/Entities/entities/DisplayBlockDisplayEntity.cpp
src/Game/Entities/entities/DisplayEntity.cpp
src/Game/Entities/entities/DisplayItemDisplayEntity.cpp
src/Game/Entities/entities/DisplayTextDisplayEntity.cpp
src/Game/Entities/entities/monster/DrownedEntity.cpp
src/Game/Entities/entities/monster/ElderGuardianEntity.cpp
src/Game/Entities/entities/boss/enderdragon/EndCrystalEntity.cpp
src/Game/Entities/entities/boss/enderdragon/EnderDragonEntity.cpp
src/Game/Entities/entities/monster/EnderManEntity.cpp
src/Game/Entities/entities/monster/EndermiteEntity.cpp
src/Game/Entities/entities/monster/EvokerEntity.cpp
src/Game/Entities/entities/projectile/EvokerFangsEntity.cpp
src/Game/Entities/entities/ExperienceOrbEntity.cpp
src/Game/Entities/entities/projectile/EyeOfEnderEntity.cpp
src/Game/Entities/entities/item/FallingBlockEntity.cpp
src/Game/Entities/entities/projectile/FireworkRocketEntity.cpp
src/Game/Entities/entities/animal/FoxEntity.cpp
src/Game/Entities/entities/animal/frog/FrogEntity.cpp
src/Game/Entities/entities/monster/GhastEntity.cpp
src/Game/Entities/entities/monster/GiantEntity.cpp
src/Game/Entities/entities/decoration/GlowItemFrameEntity.cpp
src/Game/Entities/entities/GlowSquidEntity.cpp
src/Game/Entities/entities/animal/goat/GoatEntity.cpp
src/Game/Entities/entities/monster/GuardianEntity.cpp
src/Game/Entities/entities/monster/hoglin/HoglinEntity.cpp
src/Game/Entities/entities/animal/horse/HorseEntity.cpp
src/Game/Entities/entities/monster/HuskEntity.cpp
src/Game/Entities/entities/monster/IllusionerEntity.cpp
src/Game/Entities/entities/InteractionEntity.cpp
src/Game/Entities/entities/animal/IronGolemEntity.cpp
src/Game/Entities/entities/item/ItemEntity.cpp
src/Game/Entities/entities/decoration/ItemFrameEntity.cpp
src/Game/Entities/entities/projectile/LargeFireballEntity.cpp
src/Game/Entities/entities/decoration/LeashFenceKnotEntity.cpp
src/Game/Entities/entities/LightningBoltEntity.cpp
src/Game/Entities/entities/animal/horse/LlamaEntity.cpp
src/Game/Entities/entities/projectile/LlamaSpitEntity.cpp
src/Game/Entities/entities/monster/MagmaCubeEntity.cpp
src/Game/Entities/entities/MarkerEntity.cpp
src/Game/Entities/entities/vehicle/MinecartEntity.cpp
src/Game/Entities/entities/vehicle/MinecartChestEntity.cpp
src/Game/Entities/entities/vehicle/MinecartCommandBlockEntity.cpp
src/Game/Entities/entities/vehicle/MinecartFurnaceEntity.cpp
src/Game/Entities/entities/vehicle/MinecartHopperEntity.cpp
src/Game/Entities/entities/vehicle/MinecartSpawnerEntity.cpp
src/Game/Entities/entities/vehicle/MinecartTNTEntity.cpp
src/Game/Entities/entities/animal/horse/MuleEntity.cpp
src/Game/Entities/entities/animal/MushroomCowEntity.cpp
src/Game/Entities/entities/animal/OcelotEntity.cpp
src/Game/Entities/entities/decoration/PaintingEntity.cpp
src/Game/Entities/entities/animal/PandaEntity.cpp
src/Game/Entities/entities/animal/ParrotEntity.cpp
src/Game/Entities/entities/monster/PhantomEntity.cpp
src/Game/Entities/entities/monster/PigZombieEntity.cpp
src/Game/Entities/entities/animal/PigEntity.cpp
src/Game/Entities/entities/monster/piglin/PiglinEntity.cpp
src/Game/Entities/entities/monster/piglin/PiglinBruteEntity.cpp
src/Game/Entities/entities/monster/PillagerEntity.cpp
src/Game/Entities/entities/animal/PolarBearEntity.cpp
src/Game/Entities/entities/item/PrimedTntEntity.cpp
src/Game/Entities/entities/animal/PufferfishEntity.cpp
src/Game/Entities/entities/animal/RabbitEntity.cpp
src/Game/Entities/entities/monster/RavagerEntity.cpp
src/Game/Entities/entities/animal/SalmonEntity.cpp
src/Game/Entities/entities/animal/SheepEntity.cpp
src/Game/Entities/entities/monster/ShulkerEntity.cpp
src/Game/Entities/entities/projectile/ShulkerBulletEntity.cpp
src/Game/Entities/entities/monster/SilverfishEntity.cpp
src/Game/Entities/entities/monster/SkeletonEntity.cpp
src/Game/Entities/entities/animal/horse/SkeletonHorseEntity.cpp
src/Game/Entities/entities/monster/SlimeEntity.cpp
src/Game/Entities/entities/projectile/SmallFireballEntity.cpp
src/Game/Entities/entities/animal/sniffer/SnifferEntity.cpp
src/Game/Entities/entities/animal/SnowGolemEntity.cpp
src/Game/Entities/entities/projectile/SnowballEntity.cpp
src/Game/Entities/entities/projectile/SpectralArrowEntity.cpp
src/Game/Entities/entities/monster/SpiderEntity.cpp
src/Game/Entities/entities/animal/SquidEntity.cpp
src/Game/Entities/entities/monster/StrayEntity.cpp
src/Game/Entities/entities/monster/StriderEntity.cpp
src/Game/Entities/entities/animal/frog/TadpoleEntity.cpp
src/Game/Entities/entities/projectile/ThrownEggEntity.cpp
src/Game/Entities/entities/projectile/ThrownEnderpearlEntity.cpp
src/Game/Entities/entities/projectile/ThrownExperienceBottleEntity.cpp
src/Game/Entities/entities/projectile/ThrownPotionEntity.cpp
src/Game/Entities/entities/projectile/ThrownTridentEntity.cpp
src/Game/Entities/entities/animal/horse/TraderLlamaEntity.cpp
src/Game/Entities/entities/animal/TropicalFishEntity.cpp
src/Game/Entities/entities/animal/TurtleEntity.cpp
src/Game/Entities/entities/monster/VexEntity.cpp
src/Game/Entities/entities/npc/VillagerEntity.cpp
src/Game/Entities/entities/monster/VindicatorEntity.cpp
src/Game/Entities/entities/npc/WanderingTraderEntity.cpp
src/Game/Entities/entities/projectile/WindChargeEntity.cpp
src/Game/Entities/entities/monster/warden/WardenEntity.cpp
src/Game/Entities/entities/monster/WitchEntity.cpp
src/Game/Entities/entities/boss/wither/WitherBossEntity.cpp
src/Game/Entities/entities/monster/WitherSkeletonEntity.cpp
src/Game/Entities/entities/projectile/WitherSkullEntity.cpp
src/Game/Entities/entities/animal/WolfEntity.cpp
src/Game/Entities/entities/monster/ZoglinEntity.cpp
src/Game/Entities/entities/monster/ZombieEntity.cpp
src/Game/Entities/entities/animal/horse/ZombieHorseEntity.cpp
src/Game/Entities/entities/monster/ZombieVillagerEntity.cpp
src/Game/Entities/entities/monster/ZombifiedPiglinEntity.cpp
src/Game/Entities/entities/player/PlayerEntity.cpp
src/Game/Entities/entities/projectile/FishingHookEntity.cpp
src/Game/Entities/entities/Entity.cpp
src/Game/Entities/entities/LivingEntity.cpp
src/Game/Entities/entities/projectile/AbstractArrowEntity.cpp
src/Game/Entities/entities/animal/AnimalEntity.cpp
src/Game/Entities/entities/ambient/AmbientCreatureEntity.cpp
src/Game/Entities/entities/monster/MonsterEntity.cpp
src/Game/Entities/entities/TamableAnimalEntity.cpp
src/Game/Entities/entities/animal/AbstractSchoolingFishEntity.cpp
src/Game/Entities/entities/animal/WaterAnimalEntity.cpp
src/Game/Entities/entities/animal/horse/AbstractChestedHorseEntity.cpp
src/Game/Entities/entities/projectile/AbstractHurtingProjectileEntity.cpp
src/Game/Entities/entities/MobEntity.cpp
src/Game/Entities/entities/monster/SpellcasterIllagerEntity.cpp
src/Game/Entities/entities/projectile/ProjectileEntity.cpp
src/Game/Entities/entities/FlyingMobEntity.cpp
src/Game/Entities/entities/animal/horse/AbstractHorseEntity.cpp
src/Game/Entities/entities/animal/AbstractGolemEntity.cpp
src/Game/Entities/entities/decoration/HangingEntity.cpp
src/Game/Entities/entities/projectile/FireballEntity.cpp
src/Game/Entities/entities/vehicle/AbstractMinecartEntity.cpp
src/Game/Entities/entities/vehicle/AbstractMinecartContainerEntity.cpp
src/Game/Entities/entities/vehicle/VehicleEntity.cpp
src/Game/Entities/entities/animal/ShoulderRidingEntity.cpp
src/Game/Entities/entities/monster/piglin/AbstractPiglinEntity.cpp
src/Game/Entities/entities/monster/AbstractIllagerEntity.cpp
src/Game/Entities/entities/animal/AbstractFishEntity.cpp
src/Game/Entities/entities/raid/RaiderEntity.cpp
src/Game/Entities/entities/monster/AbstractSkeletonEntity.cpp
src/Game/Entities/entities/projectile/ThrowableItemProjectileEntity.cpp
src/Game/Entities/entities/npc/AbstractVillagerEntity.cpp
src/Game/Entities/entities/AgeableMobEntity.cpp
src/Game/Entities/entities/PathfinderMobEntity.cpp
src/Game/Entities/entities/monster/PatrollingMonsterEntity.cpp
src/Game/Entities/entities/projectile/ThrowableProjectileEntity.cpp
src/Game/Physics/AABB.cpp
src/Game/Physics/PhysicsManager.cpp
src/Network/AESEncrypter.cpp
src/Network/Authentifier.cpp
src/Network/Compression.cpp
src/Network/LastSeenMessagesTracker.cpp
src/Network/NetworkManager.cpp
src/Network/TCP_Com.cpp
src/Utilities/DemanglingUtilities.cpp
src/Utilities/Logger.cpp
src/Utilities/NBTUtilities.cpp
src/Utilities/SleepUtilities.cpp
src/Utilities/StdAnyUtilities.cpp
src/Utilities/StringUtilities.cpp
)
if(BOTCRAFT_USE_OPENGL_GUI)
list(APPEND botcraft_PUBLIC_HDR
include/botcraft/Renderer/RenderingManager.hpp
include/botcraft/Renderer/Enums.hpp
include/botcraft/Renderer/Face.hpp
include/botcraft/Renderer/Transformation.hpp
)
list(APPEND botcraft_PRIVATE_HDR
private_include/botcraft/Renderer/Atlas.hpp
private_include/botcraft/Renderer/BehaviourRenderer.hpp
private_include/botcraft/Renderer/BlockRenderable.hpp
private_include/botcraft/Renderer/Camera.hpp
private_include/botcraft/Renderer/Chunk.hpp
private_include/botcraft/Renderer/Entity.hpp
private_include/botcraft/Renderer/ImageSaver.hpp
private_include/botcraft/Renderer/Shader.hpp
private_include/botcraft/Renderer/TransparentChunk.hpp
private_include/botcraft/Renderer/WorldRenderer.hpp
)
list(APPEND botcraft_SRC
src/Renderer/Atlas.cpp
src/Renderer/BehaviourRenderer.cpp
src/Renderer/BlockRenderable.cpp
src/Renderer/Camera.cpp
src/Renderer/Chunk.cpp
src/Renderer/Entity.cpp
src/Renderer/RenderingManager.cpp
src/Renderer/Face.cpp
src/Renderer/ImageSaver.cpp
src/Renderer/Shader.cpp
src/Renderer/Transformation.cpp
src/Renderer/TransparentChunk.cpp
src/Renderer/WorldRenderer.cpp
)
endif(BOTCRAFT_USE_OPENGL_GUI)
# To have a nice files structure in Visual Studio
if(MSVC)
foreach(source IN LISTS botcraft_PUBLIC_HDR)
get_filename_component(source_path_header "${source}" PATH)
string(REPLACE "include/botcraft" "Header Files/public" source_path_header "${source_path_header}")
string(REPLACE "/" "\\" source_path_msvc "${source_path_header}")
source_group("${source_path_msvc}" FILES "${source}")
endforeach()
foreach(source IN LISTS botcraft_PRIVATE_HDR)
get_filename_component(source_path_header "${source}" PATH)
string(REPLACE "private_include/botcraft" "Header Files/private" source_path_header "${source_path_header}")
string(REPLACE "/" "\\" source_path_msvc "${source_path_header}")
source_group("${source_path_msvc}" FILES "${source}")
endforeach()
foreach(source IN LISTS botcraft_SRC)
get_filename_component(source_path "${source}" PATH)
string(REPLACE "src" "Source Files" source_path "${source_path}")
string(REPLACE "/" "\\" source_path_msvc "${source_path}")
source_group("${source_path_msvc}" FILES "${source}")
endforeach()
endif()
add_library(botcraft SHARED ${botcraft_SRC} ${botcraft_PUBLIC_HDR} ${botcraft_PRIVATE_HDR})
set_property(TARGET botcraft PROPERTY CXX_STANDARD 17)
set_target_properties(botcraft PROPERTIES DEBUG_POSTFIX "_d")
set_target_properties(botcraft PROPERTIES RELWITHDEBINFO_POSTFIX "_rd")
# Enable precompiled headers, except on GCC because it's hurting performances
if (BOTCRAFT_USE_PRECOMPILED_HEADERS AND NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
target_precompile_headers(botcraft PRIVATE
include/botcraft/Game/Entities/entities/Entity.hpp
${protocolCraft_SOURCE_DIR}/include/protocolCraft/AllMessages.hpp
)
endif()
if(MSVC)
# To avoid having folder for each configuration when building with Visual
set_target_properties(botcraft PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG "${BOTCRAFT_OUTPUT_DIR}/bin")
set_target_properties(botcraft PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE "${BOTCRAFT_OUTPUT_DIR}/bin")
set_target_properties(botcraft PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${BOTCRAFT_OUTPUT_DIR}/bin")
set_target_properties(botcraft PROPERTIES RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${BOTCRAFT_OUTPUT_DIR}/bin")
set_target_properties(botcraft PROPERTIES LIBRARY_OUTPUT_DIRECTORY_DEBUG "${BOTCRAFT_OUTPUT_DIR}/bin")
set_target_properties(botcraft PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELEASE "${BOTCRAFT_OUTPUT_DIR}/bin")
set_target_properties(botcraft PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${BOTCRAFT_OUTPUT_DIR}/bin")
set_target_properties(botcraft PROPERTIES LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL "${BOTCRAFT_OUTPUT_DIR}/bin")
set_target_properties(botcraft PROPERTIES ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${BOTCRAFT_OUTPUT_DIR}/lib")
set_target_properties(botcraft PROPERTIES ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${BOTCRAFT_OUTPUT_DIR}/lib")
set_target_properties(botcraft PROPERTIES ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO "${BOTCRAFT_OUTPUT_DIR}/lib")
set_target_properties(botcraft PROPERTIES ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL "${BOTCRAFT_OUTPUT_DIR}/lib")
else()
set_target_properties(botcraft PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${BOTCRAFT_OUTPUT_DIR}/bin")
set_target_properties(botcraft PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${BOTCRAFT_OUTPUT_DIR}/bin")
set_target_properties(botcraft PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${BOTCRAFT_OUTPUT_DIR}/lib")
endif(MSVC)
if (MSVC)
target_compile_options(botcraft PRIVATE "$<$<CONFIG:Debug>:/bigobj>")
endif (MSVC)
# Set version header
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/Version.hpp.in" "${CMAKE_CURRENT_BINARY_DIR}/include/botcraft/Version.hpp")
if (WIN32)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_mc_assets.bat.in" "${CMAKE_CURRENT_BINARY_DIR}/download_mc_assets.bat")
else()
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_mc_assets.sh.in" "${CMAKE_CURRENT_BINARY_DIR}/download_mc_assets.sh")
endif (WIN32)
# Add include folders
target_include_directories(botcraft
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>"
"$<INSTALL_INTERFACE:include>"
PRIVATE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/private_include>"
)
target_compile_definitions(botcraft PRIVATE ASSETS_PATH="${ASSET_DIR}")
# Add DL lib for linux compilation
target_link_libraries(botcraft PUBLIC ${CMAKE_DL_LIBS})
# Add protocolCraft
target_link_libraries(botcraft PUBLIC protocolCraft)
if (WIN32 AND BOTCRAFT_WINDOWS_BETTER_SLEEP)
target_link_libraries(botcraft PRIVATE winmm.lib)
target_compile_definitions(botcraft PRIVATE BETTER_SLEEP=1)
endif()
# Add Asio
target_link_libraries(botcraft PRIVATE asio)
target_compile_definitions(botcraft PRIVATE ASIO_STANDALONE)
# Add threads support
target_link_libraries(botcraft PUBLIC Threads::Threads)
# Add graphical dependencies
if(BOTCRAFT_USE_OPENGL_GUI)
target_link_libraries(botcraft PRIVATE glfw glad glm rectpack2D OpenGL::GL stb_image)
if(BOTCRAFT_USE_IMGUI)
target_link_libraries(botcraft PRIVATE imgui)
target_compile_definitions(botcraft PRIVATE USE_IMGUI=1)
endif()
target_compile_definitions(botcraft PUBLIC USE_GUI=1)
endif(BOTCRAFT_USE_OPENGL_GUI)
if(BOTCRAFT_COMPRESSION)
target_link_libraries(botcraft PRIVATE ZLIB::ZLIB)
target_compile_definitions(botcraft PRIVATE USE_COMPRESSION=1)
endif(BOTCRAFT_COMPRESSION)
if(BOTCRAFT_ENCRYPTION)
target_link_libraries(botcraft PRIVATE OpenSSL::SSL)
target_link_libraries(botcraft PRIVATE OpenSSL::Crypto)
target_compile_definitions(botcraft PRIVATE USE_ENCRYPTION=1)
endif(BOTCRAFT_ENCRYPTION)
if(WIN32 AND MINGW)
target_link_libraries(botcraft PRIVATE ws2_32 crypt32)
# Copy dll from the compiler folder
get_filename_component(COMPILER_FOLDER ${CMAKE_CXX_COMPILER} DIRECTORY)
add_custom_command(TARGET botcraft POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${COMPILER_FOLDER}/libstdc++-6.dll"
$<TARGET_FILE_DIR:botcraft>)
endif()
# Installation stuff
include(GNUInstallDirs)
install(TARGETS botcraft
EXPORT botcraft-targets
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_BINDIR}"
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
)
if (NOT BOTCRAFT_INSTALL_MC_ASSETS)
if (WIN32)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/download_mc_assets.bat"
DESTINATION "${CMAKE_INSTALL_BINDIR}"
)
else()
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/download_mc_assets.sh"
DESTINATION "${CMAKE_INSTALL_BINDIR}"
)
endif (WIN32)
endif(NOT BOTCRAFT_INSTALL_MC_ASSETS)
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/botcraft"
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/include/botcraft/Version.hpp"
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/botcraft"
)
install(EXPORT botcraft-targets
FILE botcraft-targets.cmake
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/botcraft"
)
include(CMakePackageConfigHelpers)
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/botcraft-config.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake/botcraft-config.cmake"
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/botcraft"
)
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/cmake/botcraft-config.cmake"
DESTINATION
"${CMAKE_INSTALL_LIBDIR}/cmake/botcraft"
)
export(EXPORT botcraft-targets
FILE "${CMAKE_CURRENT_BINARY_DIR}/cmake/botcraft-targets.cmake"
)
# Copy asset files into install binary folder
if (BOTCRAFT_INSTALL_MC_ASSETS)
install(DIRECTORY "${BOTCRAFT_OUTPUT_DIR}/bin/Assets/${BOTCRAFT_GAME_VERSION}"
DESTINATION "${CMAKE_INSTALL_BINDIR}/Assets"
)
else()
install(DIRECTORY "${BOTCRAFT_OUTPUT_DIR}/bin/Assets/${BOTCRAFT_GAME_VERSION}"
DESTINATION "${CMAKE_INSTALL_BINDIR}/Assets"
PATTERN "minecraft" EXCLUDE
)
endif(BOTCRAFT_INSTALL_MC_ASSETS)
# Copy Mingw libstdc++ dll
if(WIN32 AND MINGW)
install(FILES
"${BOTCRAFT_OUTPUT_DIR}/bin/libstdc++-6.dll"
DESTINATION "${CMAKE_INSTALL_BINDIR}"
)
endif()