export const dragonTypesList = [
	"megaverse:crystal_wyvern",
	"megaverse:dracan",
	"megaverse:dracon",
	"megaverse:fire_dragon",
	"megaverse:flame_wyvern",
	"megaverse:glowtail",
	"megaverse:ice_wyvern",
	"megaverse:magma_drake",
	"megaverse:oak_dragon",
	"megaverse:oak_wyvern",
	"megaverse:pine_drake",
	"megaverse:river_dragon",
	"megaverse:snow_drake",
	"megaverse:solar_dragon"
];
export const dragonBossesTypesList = [
	"megaverse:great_velanidia_dragon",
	"megaverse:oriental_dragon",
	"megaverse:sun_dragon",
	"megaverse:winter_dragon"
];
export const dragonEggLayingTypes = {
	"megaverse:dracon": {
		eggLocation:(dragon)=>{
			const block = dragon.dimension.getBlock(dragon.location);
			return block.typeId=="minecraft:air"?block:null;
		},
		eggPlacedAt:(dragon)=>{
			const block = dragon.dimension.getBlock({x:dragon.location.x,y:dragon.location.y-1,z:dragon.location.z});
			return block.typeId=="minecraft:hay_block"||block.hasTag("megaverse:compact_plant_blocks");
		},
		layingEvent: "minecraft:lay_egg",
		layParticle: "minecraft:crop_growth_emitter",
		layEventFailure: "minecraft:find_egg_location",
		layEventSuccess: "minecraft:laid_egg",
		entityVariants: {
			type: "enum",
			state: "megaverse:mob_variant",
			values: [ "sunscale", "dusksand", "pineclaw", "veilshade" ]
		},
		blockState: {
			type: "enum",
			state: "megaverse:egg_count",
			values: [ "one_egg", "two_egg", "three_egg", "four_egg" ]
		},
		blockVariants: [
			"megaverse:sunscale_dracon_egg",
			"megaverse:dusksand_dracon_egg",
			"megaverse:pineclaw_dracon_egg",
			"megaverse:veilshade_dracon_egg"
		]
	}
};
export const dragonEggLayingTypesList = [
	"megaverse:dracan",
	"megaverse:dracon",
	"megaverse:fire_dragon",
	"megaverse:ice_wyvern",
	"megaverse:magma_drake",
	"megaverse:oak_wyvern",
	"megaverse:solar_dragon"
];
export const dragonProjectilesIdentifierTypes = [
	"megaverse:fire_dragon_adult_firebreath",
	"megaverse:fire_dragon_baby_firebreath",
	"megaverse:fire_dragon_controlled_adult_firebreath",
	"megaverse:fire_dragon_controlled_baby_firebreath",
	"megaverse:fire_dragon_controlled_juvenile_firebreath",
	"megaverse:fire_dragon_juvenile_firebreath"
];
export const dragonTypes = {
	"megaverse:dracon": {//Note: This is still work in progress.
		threshold: 0.5,
		noAcceleration: 0.0,
		forwardAcceleration: 0.25,
		forwardLeftAcceleration: 0.125,
		forwardRightAcceleration: 0.125,
		backwardAcceleration: 0.25,
		backwardLeftAcceleration: 0.125,
		backwardRightAcceleration: 0.125,
		leftAcceleration: 0.2,
		rightAcceleration: 0.2,
		movementOnDefault: 1.00,
		movementOnGround: 1.00,
		movementOnWater: 0.25,//0.25 as similar to OnGround
		movementOnAir: 0.5,//0.5 if you want Harry Potter
		inputDirections: {
			"0,1": "forwardAcceleration",
			"0,-1": "backwardAcceleration",
			"1,0": "leftAcceleration",
			"-1,0": "rightAcceleration",
			"1,1": "forwardLeftAcceleration",
			"-1,1": "forwardRightAcceleration",
			"1,-1": "backwardLeftAcceleration",
			"-1,-1": "backwardRightAcceleration"
		}
	},
	"megaverse:fire_dragon": {
		threshold: 0.5,
		noAcceleration: 0.0,
		forwardAcceleration: 0.25,
		forwardLeftAcceleration: 0.125,
		forwardRightAcceleration: 0.125,
		backwardAcceleration: 0.25,
		backwardLeftAcceleration: 0.125,
		backwardRightAcceleration: 0.125,
		leftAcceleration: 0.2,
		rightAcceleration: 0.2,
		movementOnDefault: 1.00,
		movementOnGround: 1.00,
		movementOnWater: 0.25,
		movementOnAir: 0.5,
		inputDirections: {
			"0,1": "forwardAcceleration",
			"0,-1": "backwardAcceleration",
			"1,0": "leftAcceleration",
			"-1,0": "rightAcceleration",
			"1,1": "forwardLeftAcceleration",
			"-1,1": "forwardRightAcceleration",
			"1,-1": "backwardLeftAcceleration",
			"-1,-1": "backwardRightAcceleration"
		}
	}
};